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

    Status: Answered => Open

Alejandro Jiménez is still having a problem:
Thank you both for your answers and I am sorry I didn't provide any
example before, this is my first question in the forum. Here it is now,
to better clarify my point, you can see that there is no contact and
therefore no load transfer between the lateral boxfacets and the
spheres:

###Import libraries
from yade import geom,pack,plot


###Materials definition
mat_bri = O.materials.append(CpmMat(young=9.792e9,             #[Pa]
                                    frictionAngle=radians(30),       #[rad]     
  *hint ---> radians(degrees value)
                                    poisson=.17,              #[-]
                                    density=2000*1.91,             #[kg/m3]
                                    sigmaT=2e6,               #Initial cohesion 
[Pa]
                                    relDuctility=100,          #Ductility of 
bonds in normal direction
                                    epsCrackOnset=2.38e-4))

##Facet material
mat_fac = O.materials.append(FrictMat(young=210e9, poisson=.15, density=3000,  
frictionAngle=1))

##Box material
kwBoxes = {'color':[1,1,0],'wire':False,'dynamic':False, 'material':1}

###Geometry definition
##Wall geometry parameters
r=.0025  
pComp = 1e6 #Pre-compression in Pa


spheres=[]
for i in range(0, trunc(.2*10000-r*10000), trunc(r*20000)):
        for k in range(0, trunc(.3*10000-r*10000),trunc(r*20000)):
                O.bodies.append(sphere([r+i/10000.,0.0,r+k/10000.],radius=r, 
material=mat_bri))


left_load = O.bodies.append(utils.geom.facetBox((.225,0,.15), 
Vector3(.025,r/2.,.15), orientation=Quaternion((1,0,0),0), wallMask=63, 
**kwBoxes))

right_load = O.bodies.append(utils.geom.facetBox((-.025,0,.15), 
Vector3(.025,r/2.,.15), orientation=Quaternion((1,0,0),0), wallMask=63, 
**kwBoxes))
 
dis_ele_1 = O.bodies.append(utils.geom.facetBox((.1,0,.325), 
Vector3(.025,r/2.,.025), orientation=Quaternion((1,0,0),0), wallMask=63, 
**kwBoxes))

fix_ele_1 = O.bodies.append(utils.geom.facetBox((.025,0,-.025),
Vector3(.025,r/2.,.025), orientation=Quaternion((1,0,0),0), wallMask=63,
**kwBoxes))

fix_ele_1 = O.bodies.append(utils.geom.facetBox((.175,0,-.025),
Vector3(.025,r/2.,.025), orientation=Quaternion((1,0,0),0), wallMask=63,
**kwBoxes))


###Engines definition
O.engines = [ForceResetter(),
             InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Facet_Aabb()]), 
             
InteractionLoop([Ig2_Sphere_Sphere_ScGeom(interactionDetectionFactor = 
1.1),Ig2_Facet_Sphere_ScGeom()], 
                             [Ip2_CpmMat_CpmMat_CpmPhys(), 
Ip2_FrictMat_CpmMat_FrictPhys(), Ip2_FrictMat_FrictMat_FrictPhys()],
                             [Law2_ScGeom_CpmPhys_Cpm(), 
Law2_ScGeom_FrictPhys_CundallStrack()]),
                ForceEngine(dead = False,
                            force = [pComp * r * .01,0,0],
                            ids = left_load,
                            label = 'precompre_left'),
                ForceEngine(dead = False,
                            force = [-pComp * r * .01 ,0,0],
                            ids = right_load,
                            label = 'precompre_right'),
                NewtonIntegrator(damping=.4,gravity=[0,0,-9.81]),
                CpmStateUpdater(realPeriod=.5),
                TranslationEngine(translationAxis=[0,0,1],
                               velocity = -7.e-3,
                               ids = dis_ele_1,
                               dead = False,
                               label='translat'),
                PyRunner(command='CallForce()', iterPeriod=500)
]

O.dt = 1e-6

##Ploting Force against displacement
def CallForce():
        fc=0
        for b in dis_ele_1:
                fc += O.forces.f(b)[2]

        dt = O.time
        disp = dt*7.e-6*1000
        plot.addData(force=fc, displacement=disp)

plot.plots = {'displacement':('force')}
plot.plot()

-- 
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

Reply via email to