yade-users team mailing list archive
-
yade-users team
-
Mailing list archive
-
Message #26595
Re: [Question #699398]: Triaxial total stress-strain curve using JCFpmMat
Question #699398 on Yade changed:
https://answers.launchpad.net/yade/+question/699398
Ziyu Wang gave more information on the question:
My code is as follows:
mn,mx=Vector3(0,0,0),Vector3(0.05,0.05,0.05)
O.materials.append(JCFpmMat(type=1,density=2000,young=9e9,poisson=0.3,tensileStrength=3e7,cohesion=3e7,frictionAngle=radians(20),label='sphere'))
O.materials.append(JCFpmMat(type=1,frictionAngle=0,density=0,label='wall'))
walls=aabbWalls([mn,mx],thickness=0,material='wall')
wallIds=O.bodies.append(walls)
sp=pack.SpherePack()
pred=pack.inAlignedBox(mn,mx)
sp=pack.randomDensePack(pred,radius=0.0015,rRelFuzz=0.333,returnSpherePack=True,memoizeDb='/tmp/triax.sqlite')
spheres=sp.toSimulation(material='sphere')
triax=TriaxialStressController(
maxMultiplier=1.+2e4/young,
finalMaxMultiplier=1.+2e3/young,
thickness = 0,
stressMask = 7,
internalCompaction=True,
)
newton=NewtonIntegrator(damping=damp)
O.engines=[
ForceResetter(),
InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Box_Aabb()]),
InteractionLoop(
[Ig2_Sphere_Sphere_ScGeom(),Ig2_Box_Sphere_ScGeom()],
[Ip2_JCFpmMat_JCFpmMat_JCFpmPhys()],
[Law2_ScGeom_JCFpmPhys_JointedCohesiveFrictionalPM(recordCracks=True,Key='triax_JCFPM',label='interactionLaw')]
),
GlobalStiffnessTimeStepper(active=1,timeStepUpdateInterval=10,timestepSafetyCoefficient=0.8),
triax,
TriaxialStateRecorder(iterPeriod=100,file='WallStresses'+key),
newton,
]
triax.goal1=triax.goal2=triax.goal3=-1e6
while 1:
O.run(500,1)
unb=unbalancedForce()
print('unbalanced force:',unb,'mean stres:',triax.meanStress)
if unb<stabilityThreshold :
break
triax.internalCompaction=False
triax.stressMask=3
triax.goal1=-1e6
triax.goal2=-1e6
triax.goal3=-0.02
O.run()
(I have omitted the post-processing parts such as plot,make it a MWE)
--
You received this question notification because your team yade-users is
an answer contact for Yade.