← Back to team overview

yade-users team mailing list archive

[Question #434659]: the displacement diagram using periodic boundary

 

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

Hi, 
   I used a cubic model to simulate the behaviour of concrete under pressure load in the y direction. The boundary condition is periodic boundary. I used O.cell.velGrad to reach the goal strain. The goal strain is  (0.06,0,0,0,-0.08,0,0,0,0). After the simulation, I output the particles' displacement diagram of a slice of the model along xy plane. I think the particles' displacement should be along on both sides of the x axis just like Figure 18(a) in [1] which used non periodic boundary(change the z direction to x direction). But the result indicates the particles' displacement are basically all along the positive direction of the x axis. I do not know why. 
  If I run my code and used the "show 3D" button,  I found the cell only deform toward positive direction of x and negative direction of y. The phenomenon also imply the same characteristic that the particles' displacement are basically all along the positive direction of the x axis. If I want to output the same result as [1] but use the periodic boundary, how to do it?

Can you give me some suggestions? My code is following.

Thank you.
Liu keqi  

[1]http://ac.els-cdn.com/S0958946511000096/1-s2.0-S0958946511000096-main.pdf?_tid=71db5f42-d73d-11e6-b33a-00000aacb35f&acdnat=1484057138_e43f8ec5025799056019cb047b1ece96

#############################################################
#!/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



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(),
]

dstrain = utils.Matrix3(0.06,0,0,0,-0.08,0,0,0,0)
ns=4000
O.cell.velGrad=dstrain/(ns*O.dt)
O.step()
bo1s.aabbEnlargeFactor=ig2ss.interactionDetectionFactor=1.
O.run(); O.wait()


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