Question #263739 on Yade changed:
https://answers.launchpad.net/yade/+question/263739
Status: Open => Answered
Bruno Chareyre proposed the following answer:
Hello,
I don't understand exactly in which sense it is not what you expect. I suggest
to forget max_vel, assign a very large value to it so that it does not
interfere.
Trying to summarize what to do in your case (assuming
TriaxialStressCOntroller is labeled "triax"):
#stress control in all directions and for all boundaries independently
triax.stressMask = 7
triax.internalCompaction=False
# if there is gravity, imposing the same stress at the top and bottom
boundaries would lead to free fall... block the bottom wall:
triax.wall_bottom_activated=False
#define the target stresses to be applied, if it must be isotropic:
triax.goal1=triax.goal2=triax.goal3=isoP
#then run
O.run()
This will reach the target isoP very quickly (a few iterations), in fact it
could well result in a dynamic compaction at constant applied pressure
(exception is if you impose a small max_vel).
If what you want is to increase the isotropic confinement progressively:
for k in range(N):
triax.goal1=triax.goal2=triax.goal3=isoP*float(k)/float(N)
O.run(number,True)
The problem is the initial stress under gravity is not isotropic, for
superimposing an isotropic stress to the intitial anisotropic one,
better something like this:
#initialize with current stress
triax.goal1=triax.stress(0)[0]
triax.goal2=-triax.stress(3)[1]
triax.goal3=triax.stress(4)[2]
#and increase progressively
for k in range(N):
triax.goal1+= isoP/float(N)
triax.goal2+= isoP/float(N)
triax.goal3+= isoP/float(N)
O.run(number,True)
Bruno
--
You received this question notification because you are a member of
yade-users, which is an answer contact for Yade.
_______________________________________________
Mailing list: https://launchpad.net/~yade-users
Post to : [email protected]
Unsubscribe : https://launchpad.net/~yade-users
More help : https://help.launchpad.net/ListHelp