Interaction stiffness for the loading plates

Asked by behzad

Hi guys,

It seems that the contact stiffness calculation in YADE is tricky. Because, we cannot assign (AFAIK) a certain value of stiffness to an interaction. The code gets Kn and Ks from the materials properties (young).

So, I've got a problem here. Imagine we have the following case:

sphere's radius is 1e-3
sphere's material young=1e4

a loading plate (a box or facet) with a material of young=1e6

with these values the contact stiffness for sphere-sphere contacts is 10 and that of sphere-plate contact is 19.8.

Thus, we're kind of limited to the maximum value of 20 for plate-sphere contacts. However, I need a higher value for this contact to make sure that the deformation comes from the material itself and not from the loading plate contacts.
What's the solution?

Thanks,
Behzad

Question information

Language:
English Edit question
Status:
Solved
For:
Yade Edit question
Assignee:
No assignee Edit question
Solved by:
behzad
Solved:
Last query:
Last reply:
Revision history for this message
Jan Stránský (honzik) said :
#1

Hi Behzad,

> It seems that the contact stiffness calculation in YADE is tricky.
> Because, we cannot assign (AFAIK) a certain value of stiffness to an
> interaction.

you can set the stiffness manually: O.interactions[id1,id2].phys.kn =
whatever
Alternatively to make it done automatially, you can implement new IPhys
functor

> The code gets Kn and Ks from the materials properties (young).
>

it is to make the overall stiffness value size independent. If you have the
same sample scaled and preserve material young value, the resulting overall
material stiffness won't change (but if you set specific stiffness value to
interaction and scale the model, the overall stiffness would change). So
there are good reasons for this approach.

> So, I've got a problem here. Imagine we have the following case:
>
> sphere's radius is 1e-3
> sphere's material young=1e4
>
> a loading plate (a box or facet) with a material of young=1e6
>
> with these values the contact stiffness for sphere-sphere contacts is 10
> and that of sphere-plate contact is 19.8.
>
> Thus, we're kind of limited to the maximum value of 20 for plate-sphere
> contacts. However, I need a higher value for this contact to make sure that
> the deformation comes from the material itself and not from the loading
> plate contacts.
>

I am sorry, I don't understand your point here.. What do you mean by
"deformation", "material itself" etc.? :-)

If you have stiff plate compressing compliant spheres, I would expect the
stiffness (deformation) of plate-sphere to be double (half) than
sphere-sphere contact (at least in simple approximation), exactly what you
observe here.. Could you please explain the problem more in detail?

Thanks
Jan

Revision history for this message
behzad (behzad-majidi) said :
#2

Hi Jan,

Thanks for the answer.
That's good that we can set the stiffness for certain interactions.

What I'm doing is measuring viscoelastic properties of a material. I sandwich the material between two plates and then a sinusoidal force (and so stress) is applied to the upper plate. The plate goes up and down.
So, we have the sinusoidal curve of the applied stress and we're looking to get the sinusoidal curve of induced displacement(strain). Thus we can calculate the Dynamic modulus of the material. E*=Stress_amplitude/Strain_amplitude.

I'd like to have a very stiff contacts of sphere-plate so all the deformation to come from the testing material (spheres).

- The loading plates have CohFrictMat as the material

-Spheres have CohBurgersMat as the material which is a cohesive viscoelastic material.

-Sphere-Plate contacts are CohFrictPhys and soa tensile and compressive sinusoidal force can be applied.

Sphere-sphere interactions are CohBurgersPhys and that's what matters for me. I'd like to get the response of these contacts to the dynamic straining.

I hope the problem is clear now.

Cheers,
Behzad

Revision history for this message
Jan Stránský (honzik) said :
#3

Hi Behzad,
thanks for explanation. I still see no problem there :-) imagine a two
plates and just one sphere. Then this behavior you observe seems completely
ok for me..
cheers
Jan

2015-04-25 1:11 GMT+02:00 behzad <email address hidden>:

> Question #265830 on Yade changed:
> https://answers.launchpad.net/yade/+question/265830
>
> behzad posted a new comment:
> Hi Jan,
>
> Thanks for the answer.
> That's good that we can set the stiffness for certain interactions.
>
> What I'm doing is measuring viscoelastic properties of a material. I
> sandwich the material between two plates and then a sinusoidal force (and
> so stress) is applied to the upper plate. The plate goes up and down.
> So, we have the sinusoidal curve of the applied stress and we're looking
> to get the sinusoidal curve of induced displacement(strain). Thus we can
> calculate the Dynamic modulus of the material.
> E*=Stress_amplitude/Strain_amplitude.
>
> I'd like to have a very stiff contacts of sphere-plate so all the
> deformation to come from the testing material (spheres).
>
> - The loading plates have CohFrictMat as the material
>
> -Spheres have CohBurgersMat as the material which is a cohesive
> viscoelastic material.
>
> -Sphere-Plate contacts are CohFrictPhys and soa tensile and compressive
> sinusoidal force can be applied.
>
> Sphere-sphere interactions are CohBurgersPhys and that's what matters
> for me. I'd like to get the response of these contacts to the dynamic
> straining.
>
> I hope the problem is clear now.
>
> Cheers,
> Behzad
>
> --
> 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
behzad (behzad-majidi) said :
#4

If there's only one sphere, so we're measuring the loads-displacement response of cohFrictPhy contacts! (Since in my model cohfrictMat, cohBurgersMat make a cohfrictPhys) and this is not what we want. We're interested in cohBurgersPhys contacts, in this case sphere-sphere ones. So imagine we have two spheres vertically in contact and placed between two plates. If a load is applied we have a deformation which is sum of there components:
1) UpperPlate-upperSphere contact (cohFrictPhys)
2)sphere-sphere contact (cohBurgersPhys)
3) LowerPlate-LowerSphere contact (cohFrictPhys)

We're measuring the testing material's properties and so should minimize the plates contribution in the calculations. Thus, a high value of stiffness for those contacts can solve the problem.

Revision history for this message
Jan Stránský (honzik) said :
#5

>
>
> If there's only one sphere, so we're measuring the loads-displacement
> response of cohFrictPhy contacts! (Since in my model cohfrictMat,
> cohBurgersMat make a cohfrictPhys) and this is not what we want. We're
> interested in cohBurgersPhys contacts, in this case sphere-sphere ones.

sorry, you are right, but you explained the problem yourself, see your next
commet :-)

> So imagine we have two spheres vertically in contact and placed between
> two plates. If a load is applied we have a deformation which is sum of
> there components:
> 1) UpperPlate-upperSphere contact (cohFrictPhys)
> 2)sphere-sphere contact (cohBurgersPhys)
> 3) LowerPlate-LowerSphere contact (cohFrictPhys)
>

see below

>
> We're measuring the testing material's properties and so should minimize
> the plates contribution in the calculations. Thus, a high value of
> stiffness for those contacts can solve the problem.
>

exactly :-) do an analytical computation of your model represented as a rod
with length 4*radius and cross section area radius^2 - the volume
approximated by your particle model. Compare it to Yade results with two
spheres and two plates with much higher stiffness (explained by you above).
You should get the same / very similar results.

cheers
Jan

PS: radius^2 as a cross section area might be multiplied by a constant like
pi, depending on implementation

Revision history for this message
behzad (behzad-majidi) said :
#6

Alright! So we're saying the same thing.
I'll a sign the stiffness of the plate contacts, manually!

By the way, I also apply oscillating shear by the plate, in a separate set of tests. In which the plate rotates by a sine function. How can I get the induced stress in the material? In this case we need stress in xy plane!

Revision history for this message
Jan Stránský (honzik) said :
#7

>
>
> Alright! So we're saying the same thing.

I'll a sign the stiffness of the plate contacts, manually!
>

NO! :-) just do the analytical computation I suggested in previous message
(few lines on paper) and compare it with results with automatically
computed stiffnesses from Yade. The automatically computed stiffness are no
problem at all.

To be sure, do the analytics and comparison with Yade for single
sphere-sphere contact first (mainly because of the area constant mentioned
in post-scriptum in previous message)

Of course you can set manually stiffness of plate-spheres contact, but then
it would correspond to different experiment (in that case don't use plates
at all and prescribe velocities of corresponding particles). Again, the
"two spheres - two plates" simple analytical model can be a good friend for
verification and the most evident bug fixing.

>
> By the way, I also apply oscillating shear by the plate, in a separate
> set of tests. In which the plate rotates by a sine function. How can I
> get the induced stress in the material? In this case we need stress in
> xy plane!
>

I would guess computing overall stress tensor and extracting corresponding
component(s) would do the job. To be sure, please explain the simulation
setup more in detail.

cheers
Jan

Revision history for this message
behzad (behzad-majidi) said :
#8

Thanks Jan. Since this is a different question, I ask it in a separate question, so it can be visible to everybody.

cheers,
Behzad