how is shear force related to poisson ratio?

Asked by Shenyang Cai

Hi all!

I'm stilling studying parameters in "CpmMat" and "FrictMat" material types. In the posted scipt below, a sphere labeled "s1" is fixed at the origin. Another sphere, "s2", approaches and overlaps "s1", and then moves along the z axis. By doing this I want to know how the shear force varies over time between two spheres.

However, I find that changing the poisson ratio from 1 to 20 has no effect on the forces along the z axis in these simulations for both the "CpmMat" and "FrictMat". It seems that they are merely the verticle components of normal stresses.

Another question is that when poisson ratio equals zero, "s2" with "FrictMat" would immediately disappear when the simulation starts. I wonder how this happens.

from yade import plot

concreteId = O.materials.append(CpmMat(
    young = 1,
    frictionAngle = 0,
    poisson = 0, #defines poisson ratio
    relDuctility = 0,
    sigmaT = 0,
    epsCrackOnset = 1e-5 #low strain limit,
    ))

frictId = O.materials.append(FrictMat(
    young=1,
    frictionAngle = 0,
    poisson = 1,
    ))

s1 = utils.sphere(center = (0,0,0), radius = 0.5, material = concreteId) #assigns the material type
s2 = utils.sphere(center = (1,0,0), radius = 0.5, material = concreteId)

O.bodies.append([s1,s2])
s1.state.blockedDOFs = 'xyzXYZ' # holds s1 still

O.engines=[
 ForceResetter(),
 InsertionSortCollider([Bo1_Sphere_Aabb()], verletDist = 0),
 InteractionLoop(
  [Ig2_Sphere_Sphere_ScGeom()],
  [Ip2_CpmMat_CpmMat_CpmPhys(), Ip2_FrictMat_FrictMat_FrictPhys()],
  [Law2_ScGeom_CpmPhys_Cpm(), Law2_ScGeom_FrictPhys_CundallStrack()],
 ),
 NewtonIntegrator(damping=0.3),
 PyRunner(command = 'addPlotData()', iterPeriod = 50),
    PyRunner(command = "Pushing()", iterPeriod = 1, label = "ctr"),
]

O.dt=5e-7*utils.PWaveTimeStep()

def addPlotData():
    plot.addData(i=O.iter,
                 fz = O.forces.f(s2.id)[2], # z component of force
                 pz = s2.state.pos[2], # z coordinate
                 fx = O.forces.f(s2.id)[0], # x component of force
                 px = s2.state.pos[0], # x coordinate
                 )

def Pushing():
    s2.state.vel = (-0.1,0,0) #lets s2 overlap s1
    if s2.state.pos[0] < 0.9:
        ctr.command = "Pushing2()"

def Pushing2():
    s2.state.vel = (0,0,0.1) #lets s2 move upward
    ctr.command = "Stop()"

def Stop():
    if s2.state.pos[2] > 0.5:
        O.pause()
        plot.saveDataTxt('poisson=0.txt')

plot.plots = {'px' : ('fx'), 'pz':('fz')}
plot.plot()

Thanks!

Question information

Language:
English Edit question
Status:
Solved
For:
Yade Edit question
Assignee:
No assignee Edit question
Solved by:
Chareyre
Solved:
Last query:
Last reply:
Revision history for this message
Best Chareyre (bruno-chareyre-9) said :
#1

Hi,
The parameters in Material classes cannot be "studied" because they are
only numbers with names, not well defined physical parameters (suprising
maybe).
Better start thinking the other way around: look what kind of contact
parameters the law functors are using, then how this contact parameters
are defined based on material parameters.
You will see that different functors lead to different interpretations
of what Material::poisson is.
For Ip2_FrictMat_FrictMat_FrictPhys+ Law2_ScGeom_FrictPhys_CundallStrack
the normal force is independent of Poisson, yes. It is the expected
behavior.
I hope it helps.
Bruno

Revision history for this message
Shenyang Cai (sycai) said :
#2

Hi Bruno,

I'm still confused. When two spheres are in contact, I suppose there must be a normal stifness and a shear stiffness(though it may equal zero) between them, regardless of the IPhys and Law functors.

My idea is to change some parameters in the material class to enlarge the shear stiffness between the spheres. And I thought "poisson" is a factor. If changing "poisson" does not lead to the change of shear stiffness, then what paremeters should I focus on to achieve my goal?

Thanks!
Shenyang

Revision history for this message
Hongyang Cheng (alex-cheng) said :
#3

Hi, Shenyang

Like Bruno said. you should take a look at the functors you use. The
contact springs are defined by the law2 and the Ip2 functors. The meaning
of Young's modulus and poisson ratio varies from different set of law2 and
lp2 functors in use (see linear contact and mindlin contact for instance).
If you use the linear contact law changing poisson ratio will only affect
the shear stiffness. Note that adjusting material constants doesn't have
effect on existing contacts.

Alex

On Fri, Mar 27, 2015 at 10:41 AM, Shenyang Cai <
<email address hidden>> wrote:

> Question #264174 on Yade changed:
> https://answers.launchpad.net/yade/+question/264174
>
> Shenyang Cai posted a new comment:
> Hi Bruno,
>
> I'm still confused. When two spheres are in contact, I suppose there
> must be a normal stifness and a shear stiffness(though it may equal
> zero) between them, regardless of the IPhys and Law functors.
>
> My idea is to change some parameters in the material class to enlarge
> the shear stiffness between the spheres. And I thought "poisson" is a
> factor. If changing "poisson" does not lead to the change of shear
> stiffness, then what paremeters should I focus on to achieve my goal?
>
>
> Thanks!
> Shenyang
>
> --
> You received this question notification because you are a member of
> yade-users, which is an answer contact for Yade.
>
> _______________________________________________
> Mailing list: https://launchpad.net/~yade-users
> Post to : <email address hidden>
> Unsubscribe : https://launchpad.net/~yade-users
> More help : https://help.launchpad.net/ListHelp
>

Revision history for this message
Shenyang Cai (sycai) said :
#4

Thank you, Alex. That helps.

Revision history for this message
Shenyang Cai (sycai) said :
#5

Thanks Chareyre, that solved my question.