← Back to team overview

yade-users team mailing list archive

[Question #269405]: Poisson ratio calibration in the uniaxial tension test

 

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

Hello everybody.

I make simple uniaxial tension test for the steel plate. The tension is going along OY direction. The problem is that changing the poisson coefficient doesn't influence on the displacement along OX and along OY direction (http://i10.pixs.ru/storage/7/4/9/pic1JPG_7342749_18083749.jpg). The problem is that this range of values is constant for any value of poisson parameter (e.g. 0.3 like for real steel and 0.003). At the same time Young modulus works and influences to the displacement along OY direction.

Here is my code:

from yade import export

###################################################
# define materials and model configuration

E = 1.338e11 # Young's modulus
v = 0.003   # Poisson's ratio
P = 150e6    # initial pressure value
D = 7850     # density

r = 0.5     # spheres radius
r_int = 1.5 # interaction radius 

# compute force per particle
F = P*4*r**2

# define plate material, create "dense" packing by setting friction to zero initially
O.materials.append(CpmMat(young=E,frictionAngle=0,poisson=v,density=D,neverDamage=True,label = 'mat'))

# represent plate like a set of regular monosized set of spheres 
# also set boundary conditions via predefined tensile force for spheres on ABCD and
# fixed spheres on KGHO
O.bodies.append(pack.regularOrtho(pack.inAlignedBox((0,0,0),(16.1,16.1,2.1)),r,0))
for b in O.bodies:
    if b.state.pos[1]+r > 15.9:
      O.forces.addF(b.id,(0,F,0),permanent=True) # Add force for all spheres connected to ABCD
    if b.state.pos[1]-r < 0.1:
      O.forces.addF(b.id,(0,-F,0),permanent=True) # Add force for all spheres connected to KGHO

###################################################
# define engines

# simulation loop 
O.engines=[
 ForceResetter(),
 InsertionSortCollider([Bo1_Sphere_Aabb(aabbEnlargeFactor=r_int,label='bo1s')]),
 InteractionLoop(
	[Ig2_Sphere_Sphere_ScGeom(interactionDetectionFactor=r_int,label='ig2ss')],
    [Ip2_CpmMat_CpmMat_CpmPhys()], 
    [Law2_ScGeom_CpmPhys_Cpm()] 
 ),
 CpmStateUpdater(realPeriod=1),
 NewtonIntegrator(damping=0.4),
]
	 
###################################################
# start simulation and compute strain and stress
   
# set the integration timestep to be 1/2 of the "critical" timestep
O.dt=utils.PWaveTimeStep()/2

# run one single step
O.step()

# reset interaction radius to the default value
bo1s.aabbEnlargeFactor=1.0
ig2ss.interactionDetectionFactor=1.0

# run simulation, until static equilibrium will not reached
while unbalancedForce()>1e-2:
   O.run(10,True)

###################################################
# save data to vtk. file
vtk = export.VTKExporter('result')
vtk.exportSpheres(what=[('radius','b.shape.radius'),('displacement','b.state.displ()')])

So any ideas?

with regards Alexander

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


Follow ups