In examples/large_deformation/hyperelastic.py a rotation by displacements is applied. By using a similar function the vectors defining the force couples could be defined for dw_surface_ltr (IMHO). Does it make sense?
r.
----- Reply message -----
From: "Andre Smit" <freev...(a)gmail.com>
To: <sfepy...(a)googlegroups.com>
Subject: Torque
Date: Sat, Dec 18, 2010 05:10
What is the best way to apply a torque load to a model?
--
Andre
--
You received this message because you are subscribed to the Google Groups "sfepy-devel" group.
To post to this group, send email to sfepy...(a)googlegroups.com.
To unsubscribe from this group, send email to sfepy-devel...(a)googlegroups.com.
For more options, visit this group at http://groups.google.com/group/sfepy-devel?hl=en.
I have overhauled the script, so that there are no globals, subiterations can be ended as needed etc. The traction() function is removed, the loading displacement is given simply by value. I hope it does what you intended.
It needs a patch to TimeStepper, that I will be able to upload first on Monday, so either just look at it, or fix it yourself... :)
r.
----- Reply message -----
From: "Andre Smit" <freev...(a)gmail.com>
To: <sfepy...(a)googlegroups.com>
Subject: Conference
Date: Fri, Jan 21, 2011 02:47
Robert
I believe I've sorted out the oscillation problem, which was a bug in the code. I've pasted the latest version at [1] that now converges tightly after 3 or 4 iterations. I have a few comments.
As you will see:
a) I'm runnng the solver repeatedly with increasing displacements. This was mainly because I'm unable to change the displacement variable (disp) in traction() outside of the function. Globals and lists didn't work for me here.
b) To overcome this obstacle, the displacement for each solver/displacement cycle is saved to file and read from disk in traction().
c) I iterate the problem until the force converges and then increment the displacement.
d) The element stiffness matrix (Ele) is saved to file and loaded at the start of the subsequent displacement interval.
Comments:
1) I considered adding a variable to ts, say ts.disp and adding the displacement to that, making it available in traction. I'm sure there is a better way though.
2) I also cannot terminate the ts loop and am forced to run through all ts.n_steps. This is a problem since the forces converge at different number of steps at which point I would like the loop to end.
[1] http://paste.pocoo.org/show/324169/
Andre
On Wed, Jan 19, 2011 at 10:22 AM, Robert Cimrman <cimr...(a)ntc.zcu.cz> wrote:
On Wed, 19 Jan 2011, Andre Smit wrote:
Robert - I'm trying to change the displacement (disp) in the traction
function when the force stabilizes but for some reason the scope of disp
within traction() appears different to that within calc_force(), even
though disp is defined as global. Any ideas?
old_force = 0
def calc_force(pb, ts, state):
global disp,old_force
d = state()
pb.remove_bcs()
f = pb.evaluator.eval_residual(d)
pb.time_update()
f.shape = (pb.domain.mesh.n_nod, 3)
p = []
for n in pb.domain.regions['Top'].vertices[0]:
p.append(f[n][2])
p = nm.array(p)
if abs(old_force-p.sum()) < fvar:
my_output(disp,",",p.sum())
disp -= ddisp
old_force=p.sum()
def traction(ts, coors, bc=None):
global disp
#disp = -(ts.dt*(ts.step+1))
print "traction disp: ", disp
val = nm.empty_like(coors[:,0])
val.fill(disp)
return val
I would use brute force:
globals()['disp'] = ...
You cannot really change value of a global that is immutable (IMHO)...
A common idiom is to use list instead, like:
disp = [0]
def traction(ts, coors, bc=None):
disp[0] = ...
What is the meaning of 'smix' stiffness, for strain rate
zero?
I'm not sure.
That might be the problem causing the oscillations...
r.
--
You received this message because you are subscribed to the Google Groups "sfepy-devel" group.
To post to this group, send email to sfepy...(a)googlegroups.com.
To unsubscribe from this group, send email to sfepy-devel...(a)googlegroups.com.
For more options, visit this group at http://groups.google.com/group/sfepy-devel?hl=en.
--
Andre
--
You received this message because you are subscribed to the Google Groups "sfepy-devel" group.
To post to this group, send email to sfepy...(a)googlegroups.com.
To unsubscribe from this group, send email to sfepy-devel...(a)googlegroups.com.
For more options, visit this group at http://groups.google.com/group/sfepy-devel?hl=en.
Hi,
I am now polishing the MeshIO stuff, so it is a good time to address
the issue [1].
could someone with a Windows box try running
./script/convert_mesh.py meshes/3d/cylinder.mesh out.vtk
and send me the resulting file 'out.vtk'?
Thanks,
r.
[1] http://code.google.com/p/sfepy/issues/detail?id=128
... away. Sorry my touch display is too sensitive :)
r.
----- Reply message -----
From: "Robert Cimrman" <cimr...(a)ntc.zcu.cz>
To: <sfepy...(a)googlegroups.com>
Subject: Parallel processing
Date: Thu, Jan 27, 2011 20:27
I have not. That said, I am aware that parallelized sfepy would be nice, but first I have a major internal redesign of terms in mind - the current C code will most likely go a
----- Reply message -----
From: "Andre Smit" <freev...(a)gmail.com>
To: <sfepy...(a)googlegroups.com>
Subject: Parallel processing
Date: Wed, Jan 26, 2011 21:04
Anyone compiled sfepy for parallel processing on multiple CPUs?
--
Andre
--
You received this message because you are subscribed to the Google Groups "sfepy-devel" group.
To post to this group, send email to sfepy...(a)googlegroups.com.
To unsubscribe from this group, send email to sfepy-devel...(a)googlegroups.com.
For more options, visit this group at http://groups.google.com/group/sfepy-devel?hl=en.
--
You received this message because you are subscribed to the Google Groups "sfepy-devel" group.
To post to this group, send email to sfepy...(a)googlegroups.com.
To unsubscribe from this group, send email to sfepy-devel...(a)googlegroups.com.
For more options, visit this group at http://groups.google.com/group/sfepy-devel?hl=en.
I have not. That said, I am aware that parallelized sfepy would be nice, but first I have a major internal redesign of terms in mind - the current C code will most likely go a
----- Reply message -----
From: "Andre Smit" <freev...(a)gmail.com>
To: <sfepy...(a)googlegroups.com>
Subject: Parallel processing
Date: Wed, Jan 26, 2011 21:04
Anyone compiled sfepy for parallel processing on multiple CPUs?
--
Andre
--
You received this message because you are subscribed to the Google Groups "sfepy-devel" group.
To post to this group, send email to sfepy...(a)googlegroups.com.
To unsubscribe from this group, send email to sfepy-devel...(a)googlegroups.com.
For more options, visit this group at http://groups.google.com/group/sfepy-devel?hl=en.
I'm increasingly using paraview to post-process. As far as I can tell it
doesn't read h5 format. I've read somewhere that h5 can be embedded within
xdmf files, which paraview can open. Are there converters available - any
suggestions.
--
Andre
Hi,
I have improved test_install.py (tolerance for floating point numbers,
failure output logged into test_install.log file), the script to test
SfePy installation. Let me know, please, if it reports any errors that are
caused by too low tolerances.
r.