← Back to team overview

yade-users team mailing list archive

[Question #403169]: the sensibility of the number of the bodies

 

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

Hi, everyone
  I want to make a simple example to simulate the behaviour of concrete under pressure load. I used the periodic boundary and I suffered a question. I found that the stress-strain relationship will dramatically altered as I changed the size of the periodic boundary(that is the number of the bodies), but I need the relative stability result to convince others. I want to know how many number of bodies will lead to a steady result that will not dramatically alter as the number of bodies continue increasing. The following is my code, and you can alter the initSize to change the size of the periodic boundary. Can you give me some suggestions? Thank you. 

#################################################
#!/usr/bin/python          
import string
from yade import plot,qt
from yade.pack import *
from yade import pack, plot

O.materials.append(CpmMat(young=24e9,density=4800,frictionAngle=atan(0.8),poisson=0.2,sigmaT=600e6,epsCrackOnset=1e-4,relDuctility=35))

initSize=0.025

sp=pack.randomPeriPack(radius=.000625,initSize=Vector3(initSize,initSize,initSize))
O.periodic=True
sp.toSimulation()


O.dt=1e-7


plot.plots={'ey':('sy',)}
def plotAddData():
	plot.addData(
		sy=p3d.stress[1],
		ey=p3d.strain[1],
		ex=p3d.strain[0]
	)

EnlargeFactor=1.5
EnlargeFactor=1.0
O.engines=[
	ForceResetter(),
	InsertionSortCollider([Bo1_Sphere_Aabb(aabbEnlargeFactor=EnlargeFactor,label='bo1s')]),
	InteractionLoop(
		[Ig2_Sphere_Sphere_ScGeom(interactionDetectionFactor=EnlargeFactor,label='ig2ss')],
		[Ip2_CpmMat_CpmMat_CpmPhys()],[Law2_ScGeom_CpmPhys_Cpm()]),
	NewtonIntegrator(),
	Peri3dController(
					
							nSteps=4000, 			# how many time steps the simulation will last
							# after reaching nSteps do doneHook action
							doneHook='print "Simulation with Peri3dController finished."; O.pause()',

							# the prescribed path (step,value of stress/strain) can be defined in absolute values
							
							# or in relative values
							
							# if the goal value is 0, the absolute stress/strain values are always considered (step values remain relative)plot.plots={'ex':('sx',)}
							
							# if ##Path is not explicitly defined, it is considered as linear function between (0,0) and (nSteps,goal)
							# as in yzPath and xyPath
							# the relative values are really relative (zxPath gives the same - except of the sign from goal value - result as yyPath)
							
							
							# variables used in the first step
							label='p3d'
							),
	PyRunner(command='plotAddData()',iterPeriod=1),
]



p3d.stressMask=0b100001       # prescribed ex,ey,sz,syz,ezx,sxy;   e..strain;  s..stress
p3d.goal=(0,-0.008,0,0,0,0)  #xx, yy, zz, yz, zx, xy
O.step()
bo1s.aabbEnlargeFactor=ig2ss.interactionDetectionFactor=1.
O.run(); O.wait()
plot.plot(subPlots=False)







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