← Back to team overview

yade-users team mailing list archive

Re: [Question #692123]: Packing using ThermalEngine

 

Question #692123 on Yade changed:
https://answers.launchpad.net/yade/+question/692123

    Status: Needs information => Open

Jiannan Wang gave more information on the question:
Hello Robert,

Sorry for the mistake. I put the scene back to the MWE, the result is
still the same:

############
from yade import export

young=1e9
tt=TriaxialTest(StabilityCriterion=.001, compactionFrictionDeg=radians(3),internalCompaction=True, radiusMean=0.004,numberOfGrains=1000, upperCorner=(0.05,0.05,0.05),lowerCorner=(0,0,0),thickness=0.01,radiusStdDev=0.3,sigmaIsoCompaction=-10000,maxMultiplier=1.+2e4/young,finalMaxMultiplier=1.+2e3/young)
tt.generate("CubicPack.yade")
O.load('CubicPack.yade')

O.run(20000,1)
export.text('CubicPack.spheres')
############

Also I tried the one similar to [1], still no luck. Here is the modified
MWE just in case:

#############
from yade import pack, export

stabilityThreshold=0.01
young=1e9
mn,mx=Vector3(0,0,0),Vector3(0.05,0.05,0.05)

O.materials.append(FrictMat(young=young,poisson=0.5,frictionAngle=radians(3),density=2600,label='spheres'))
O.materials.append(FrictMat(young=young,poisson=0.5,frictionAngle=0,density=0,label='walls'))

walls=aabbWalls([mn,mx],thickness=0,material='walls')
wallIds=O.bodies.append(walls)

sp=pack.SpherePack()
sp.makeCloud(mn,mx,rMean=0.004,rRelFuzz=0.0,num=1000)
sp.toSimulation(material='spheres')

triax=TriaxialStressController(
	maxMultiplier=1.+2e4/young,
	finalMaxMultiplier=1.+2e3/young,
	thickness = 0,
	stressMask = 7,
	internalCompaction=True,
)

O.engines=[
	ForceResetter(),
	InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Box_Aabb()]),
	InteractionLoop(
		[Ig2_Sphere_Sphere_ScGeom(),Ig2_Box_Sphere_ScGeom()],
		[Ip2_FrictMat_FrictMat_FrictPhys()],
		[Law2_ScGeom_FrictPhys_CundallStrack()]
	),
	GlobalStiffnessTimeStepper(active=1,timeStepUpdateInterval=100,timestepSafetyCoefficient=0.8),
	triax,
	NewtonIntegrator(damping=0.5)
]

O.dt=0.1e-5
O.dynDt=False

tri_pressure = 10000
triax.goal1=triax.goal2=triax.goal3=-tri_pressure

while 1:
  O.run(1000, True)
  unb=unbalancedForce()
  print('unbalanced force:',unb,' mean stress: ',triax.meanStress)
  if unb<stabilityThreshold and abs(-tri_pressure-triax.meanStress)/tri_pressure<0.001:
    break
O.save('CubicPack.yade.gz')
export.textExt('CubicPack.spheres')
##################

Is it something I should be aware during the packing? Or I missed
something in the THM in order to get thermal expansion?

Thanks

Best regards
Jiannan


[1]: https://gitlab.com/yade-dev/trunk/-/blob/master/examples/triax-tutorial/script-session1.py

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.