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.
_______________________________________________
Mailing list: https://launchpad.net/~yade-users
Post to : [email protected]
Unsubscribe : https://launchpad.net/~yade-users
More help : https://help.launchpad.net/ListHelp