← Back to team overview

yade-users team mailing list archive

Re: [Question #270627]: translate problem

 

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

MOUSSIER posted a new comment:
And, just in case, this is not enough for you to localize the problem,
here is the part of the program where clumps grow, gravity is added and
stabilisation occurs :

	if 0 in phase:	#BOOST GROWING
		dS=100*stressGoal-abs(stress) #target is 100x the real target to gain speed in the first growth phase
		growFactor = 1.+dS*growSpeedBoost/stressGoal	
		growFactor = max(min(growSpeedBoost+1.,growFactor),1.-growSpeedBoost)
		if(growFactor<0.95 or growFactor>1.05): writeInLog( "WARNING, growFactor =",growFactor)
		growParticles(growFactor,1,1)
		if(dS < 0.):
			writeInLog( "Boost growing finished, perform normal growing.")
			saveSim("Phase_0")
			writeInLog( "Simulation saved to",scriptPath+"/saves/Phase0")
			name="Phase_0"
			extractInfos00()
			phase.remove(0);phase.append(1)
			#O.pause()
	if 1 in phase:	#NORMAL GROWING
		dS=stressGoal-abs(stress)
		if(abs(dS)<stressTolerance): stressReachedSince+=1
		else: stressReachedSince=0
		if(stressReachedSince>30 and not 2 in phase):
			phase.append(2)
			writeInLog( "Stress stabilized at",stressGoal,"Pa.")
#			saveSim("StressOk") ; writeInLog( "Simulation saved to",scriptPath+"/saves/StressOk")
		growFactor = 1.+dS*growSpeed
		growFactor=max(min(growFactor,1+growSpeedBoost),1-growSpeedBoost)
		growParticles(growFactor,1,1)
	if 2 in phase:	#set parameters
		O.materials[sphereMatId].frictionAngle=radians(finalFricDegree); writeInLog( "O.materials[sphereMatId].frictionAngle=radians(",finalFricDegree,")")
		setContactFriction(radians(finalFricDegree)); writeInLog( "setContactFriction(radians(",finalFricDegree,"))")
		newton.gravity=[0.,-9.8,0.]; writeInLog("newton.gravity=[0.,-9.8,0.]")
		phase=[2.5]
		writeInLog( "Paving mass =",getMassFromIds(pavingIds),"Kg.")
		if(enableGrid):writeInLog( "Grid mass =",getMassFromIds(nodesIds),"Kg.")
		writeInLog( "Soil mass =",getSoilMass(),"Kg.")
		O.materials[softSoilMatId].young=softSoilYoungFinal
		writeInLog( "Soft soil Young =",O.materials[softSoilMatId].young,"Pa.")
		for i in O.bodies[lowBoxId].intrs():
			O.interactions.erase(i.id1,i.id2)
		#writeInLog( "separationBoxId =",separationBoxId[0])
		#O.bodies.erase(separationBoxId[0])
	if 2.5 in phase:
		if(getUBF()<2.*stabCrit):
			unlockPaving()
			saveSim("Phase2.5") ; 
			writeInLog( "Simulation saved to",scriptPath+"/saves/Phase2.5")
			name="Phase_2.5"
			extractInfos25()
			O.pause()

At the end of the phase 2.5, the settlement of the sphereMatId is
abnormally high.

-- 
You received this question notification because you are a member of
yade-users, which is an answer contact for Yade.