yade-users team mailing list archive
-
yade-users team
-
Mailing list archive
-
Message #19164
[Question #678982]: about TriaxialStressController
New question #678982 on Yade:
https://answers.launchpad.net/yade/+question/678982
Hello all,
I have a problem. I want to compress particles with an isotropic compaction (for example with 10 kpa compression in the x, y, and z direction) and after that put the stress control in x and y directions (for example 10 kpa) and put strain (for example -0.2) in the z direction. I don't know how should I do this simulation with TriaxialStressController. Could you please give me a hint?
A sample of my code is:
#===========================================
from yade import utils, plot
from yade import pack, qt
from datetime import datetime
O.materials.append(CohFrictMat(normalCohesion= 1e20, shearCohesion= 1e20, isCohesive= True, young=1.95e7,
density=1532.2, poisson=0.3, frictionAngle= 0.0, fragile=False, label='Coke'))
O.materials.append(CohFrictMat(normalCohesion= 1e20, shearCohesion= 1e20, isCohesive= False, young=4e9,
density=1523.6, poisson=0.3, frictionAngle= 0.0, fragile=False, label='wall'))
walls=aabbWalls([(0,0,0),(2e-1,2e-1,2e-1)],thickness=0.0003,oversizeFactor=1.0,material='wall')
wallIds=O.bodies.append(walls)
nums=['t']
mats=['Coke']
coke=(5e-3,1000)
nums=pack.SpherePack()
nums.makeCloud((0,0,0),(2e-1,2e-1,2e-1),rMean=coke[0],rRelFuzz=1e-4,num=coke[1])
O.bodies.append([utils.sphere(c,r,material=mats[0],color=(0,0,1)) for c,r in nums])
O.engines=[
ForceResetter(),
InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Box_Aabb(),Bo1_Facet_Aabb()]),
InteractionLoop([Ig2_Sphere_Sphere_ScGeom6D(),Ig2_Box_Sphere_ScGeom6D(),Ig2_Facet_Sphere_ScGeom6D()],
[Ip2_CohFrictMat_CohFrictMat_CohFrictPhys()],
[Law2_ScGeom_FrictPhys_CundallStrack(),Law2_ScGeom6D_CohFrictPhys_CohesionMoment()]
),
NewtonIntegrator(damping=0.4),
PyRunner(command='calm()',iterPeriod=10,label='calmEngine')
]
triax=TriaxialStressController(
maxMultiplier=1.000,
finalMaxMultiplier=1.000,
thickness = 0,
stressMask = 7,
internalCompaction=False,
)
O.engines=O.engines+[triax]
triax.goal1=-1.0e5
triax.goal2=-1.0e5
triax.goal3=-1.0e5
triax.wall_back_activated=True
O.dt=2e-6
calmEngine.dead=True
triax2=TriaxialStressController(
maxMultiplier=1.000,
finalMaxMultiplier=1.000,
thickness = 0,
stressMask = 3,
internalCompaction=False,
)
O.engines=O.engines+[triax2]
triax2.goal1=-1.0e5
triax2.goal2=-1.0e5
triax2.goal3=-0.2
triax2.wall_back_activated=True
#================================
Thank you very much for your help in advance.
Best Regards
Alireza
--
You received this question notification because your team yade-users is
an answer contact for Yade.