← Back to team overview

yade-users team mailing list archive

[Question #683238]: Memory usage is too high

 

New question #683238 on Yade:
https://answers.launchpad.net/yade/+question/683238

I'm facing big consumptions of memory with my simulation.My computer has 16G RAM.In my simulation,the memory usage is 2G at first,and it will increase to 15G in 24 hours.When the RAM is fully used,Yade crash.

Thanks for any suggestion.

############MWE#####################
from yade import pack#,qt

psdSizes,psdCumm=[0.0005,0.0006,0.003,0.004],[0,0.25,0.25,1.]
num_spheres=15000
young=1e9
compFricDegree = 0 # initial contact friction during the confining phase
finalFricDegree = 26.6 # contact friction during the deviatoric loading
mn,mx=Vector3(0,0,0),Vector3(0.025,0.025,0.025) 

O.materials.append(FrictMat(young=young,poisson=0.2,frictionAngle=radians(compFricDegree),density=2600,label='spheres'))
O.materials.append(FrictMat(young=1e11,poisson=0.2,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,psdSizes=psdSizes,psdCumm=psdCumm,distributeMass=True,num=num_spheres,porosity=0.5,seed=1) 
sp.toSimulation(material='spheres')

triax=TriaxialStressController(
	thickness = 0,
	stressMask = 7,
	internalCompaction=False, # If true the confining pressure is generated by growing particles
    label="triax"
)

newton=NewtonIntegrator(damping=0.7,label="newton")

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()],label="iloop"
	),
	FlowEngine(dead=1,label="flow"),#introduced as a dead engine for the moment, see 2nd section
	GlobalStiffnessTimeStepper(active=1,timeStepUpdateInterval=100,timestepSafetyCoefficient=0.8),
	triax,
	newton
]

triax.goal1=triax.goal2=triax.goal3=-20000

while 1:
  O.run(1000, True)
  unb=unbalancedForce()
  if unb<0.001 and abs(-20000-triax.meanStress)/20000<0.001:
    break

triax.dead=1

setContactFriction(radians(finalFricDegree))
newton.damping=0

flow.dead=0
flow.defTolerance=0.3
flow.meshUpdateInterval=200
flow.useSolver=3
flow.permeabilityFactor=1
flow.viscosity=0.001
flow.bndCondIsPressure=[1,1,0,0,0,0]
flow.bndCondValue=[0,38,0,0,0,0]
flow.updateTriangulation=True

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