← Back to team overview

yade-users team mailing list archive

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.