Kinds of damping

Asked by Sina Jafari

Dear all,
How can we define viscous damping in YADE specifically Mass proportional damping? Is it possible at all?

Question information

Language:
English Edit question
Status:
Solved
For:
Yade Edit question
Assignee:
No assignee Edit question
Solved by:
Christian Jakob
Solved:
Last query:
Last reply:
Revision history for this message
Anton Gladky (gladky-anton) said :
#1

Hi, what contact law are you referring (paper, probably)?

Anton

2013/7/13 Sina Jafari <email address hidden>:
> New question #232351 on Yade:
> https://answers.launchpad.net/yade/+question/232351
>
> Dear all,
> How can we define viscous damping in YADE specifically Mass proportional damping? Is it possible at all?
>
> --
> 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
Sina Jafari (sinajafari88) said :
#2

Hi, I'm referring to the one mentioned in a paper by Ng entitled: "Input Parameters of Discrete Element Methods"
you can find full paper here: ascelibrary.org/doi/abs/10.1061/(ASCE)0733-9399(2006)132:7(723)

Revision history for this message
Sina Jafari (sinajafari88) said :
#3

By the way He's using Hertzian normal and simplified mindlin's tangential contact laws.

Revision history for this message
Best Christian Jakob (jakob-ifgt) said :
#4

Hi,

to define viscous damping, it is necessary to set betan and betas in the functor...

 InteractionLoop(
  [Ig2_Sphere_Sphere_ScGeom()],
  [Ip2_FrictMat_FrictMat_MindlinPhys(betan=0.1,betas=0.1,label='ContactModel')],
  [Law2_ScGeom_MindlinPhys_Mindlin(label='Mindlin')]
  ),

christian

Revision history for this message
Sina Jafari (sinajafari88) said :
#5

Thanks Christian Jakob, that solved my question.

Revision history for this message
Alexander Eulitz [Eugen] (kubeu) said :
#6

Hi, I'd like to reopen this question.
The Hertz Mindlin contact law allows for two diffrent kinds of viscouse damping, i.e. linear and non-linear.

Considering the linear case:
according to [1] beta_n is the viscous damping coefficient. But how is it defined? I did not find a satisfying answer. I looked at [3] and the named source from Schwager as wells as at [5], but I do not get it.

In the source of the Hertz Mindlin Contact law [2] beta_n will be used to calculate c_n:
 cn = Cn_crit*phys->betan; // Damping normal coefficient

with Cn_crit being the critical damping coefficient. I recognized that rearranging the equation for the damping ratio [4] gives:
damping_coeff=damp_ratio*crit_damp_coeff which equals the line from the source code.
If this is right, then beta_n is the damping ratio and not a viscous damping coefficient.

May second question concerns non-linear viscous damping:
It is not commented in the documentation [1] but looking at the sources [6] tells me that I can enable this kind of damping by specifying the coefficients of restitution (en, es). This way a value alpha will be computed from it.
The first strange thing is, that it does not matter whether I specify en or es, only en will be used for alpha computation.
The second strange thing is that the documentation on [1] says:
 " If e_n is given, MindlinPhys.betan is computed using \beta_n=-(\log e_n)/\sqrt{\pi^2+(\log e_n)^2}. The same applies to e_s."

But this is not what is done in the source.

Could you please help me?

[1] https://yade-dem.org/doc/yade.wrapper.html?highlight=mindlin#yade.wrapper.Ip2_FrictMat_FrictMat_MindlinPhys
[2] https://github.com/yade/trunk/blob/master/pkg/dem/HertzMindlin.cpp?source=cc#L316
[3] https://answers.launchpad.net/yade/+question/235934
[4] http://en.wikipedia.org/wiki/Damping_ratio
[5] http://woodem.eu/doc/theory/contact/hertzian.html#viscous-damping
[6] https://github.com/yade/trunk/blob/master/pkg/dem/HertzMindlin.cpp?source=cc#L86

Revision history for this message
Chiara Modenese (chiara-modenese) said :
#7

Hi Alexander,

Yes, you are right beta_n should be called damping ratio rather than
damping coefficient but you get the concept. Feel free to adjust the text
if you want.

At the time I set the code so that e_n and e_s would be the defined the
same was for convenience but also because I believe that the equation for
alpha was derived for normal impact tests only (please correct me if I am
wrong as I do not have that paper with me right now).

Looking back at this problem, I would not use this form of non-linear
damping because actually the relationship for alpha that is implemented is
not formally correct. It is a good first approximation but analytically is
not consistent (I will see later if I can find the reference that proves
that for you) - if you do some research on the topic you will find
different relationships for alpha.

Chiara

On 6 November 2013 14:16, Alexander Eulitz [Eugen] <
<email address hidden>> wrote:

> Question #232351 on Yade changed:
> https://answers.launchpad.net/yade/+question/232351
>
> Alexander Eulitz [Eugen] posted a new comment:
> Hi, I'd like to reopen this question.
> The Hertz Mindlin contact law allows for two diffrent kinds of viscouse
> damping, i.e. linear and non-linear.
>
> Considering the linear case:
> according to [1] beta_n is the viscous damping coefficient. But how is it
> defined? I did not find a satisfying answer. I looked at [3] and the named
> source from Schwager as wells as at [5], but I do not get it.
>
> In the source of the Hertz Mindlin Contact law [2] beta_n will be used to
> calculate c_n:
> cn = Cn_crit*phys->betan; // Damping normal coefficient
>
> with Cn_crit being the critical damping coefficient. I recognized that
> rearranging the equation for the damping ratio [4] gives:
> damping_coeff=damp_ratio*crit_damp_coeff which equals the line from the
> source code.
> If this is right, then beta_n is the damping ratio and not a viscous
> damping coefficient.
>
> May second question concerns non-linear viscous damping:
> It is not commented in the documentation [1] but looking at the sources
> [6] tells me that I can enable this kind of damping by specifying the
> coefficients of restitution (en, es). This way a value alpha will be
> computed from it.
> The first strange thing is, that it does not matter whether I specify en
> or es, only en will be used for alpha computation.
> The second strange thing is that the documentation on [1] says:
> " If e_n is given, MindlinPhys.betan is computed using \beta_n=-(\log
> e_n)/\sqrt{\pi^2+(\log e_n)^2}. The same applies to e_s."
>
> But this is not what is done in the source.
>
> Could you please help me?
>
> [1]
> https://yade-dem.org/doc/yade.wrapper.html?highlight=mindlin#yade.wrapper.Ip2_FrictMat_FrictMat_MindlinPhys
> [2]
> https://github.com/yade/trunk/blob/master/pkg/dem/HertzMindlin.cpp?source=cc#L316
> [3] https://answers.launchpad.net/yade/+question/235934
> [4] http://en.wikipedia.org/wiki/Damping_ratio
> [5] http://woodem.eu/doc/theory/contact/hertzian.html#viscous-damping
> [6]
> https://github.com/yade/trunk/blob/master/pkg/dem/HertzMindlin.cpp?source=cc#L86
>
> --
> 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
Alexander Eulitz [Eugen] (kubeu) said :
#8

Hi Chiara,
thanks for your help. I really appreciate it.
I will try to use linear damping only and calibrate beta_n during a simple sphere drop experiment.
After this I'll have look for ideas of how beta_s can be determined.
Adjusting the documentation is another bullet point on my todo list for christmas :)

Just another short question: Am I right in assuming that linear contact damping as well as non-linear contact damping are both forms of viscous damping?

Thanks again,
Alex

-----Ursprüngliche Nachricht-----
Von: <email address hidden> [mailto:<email address hidden>] Im Auftrag von Chiara Modenese
Gesendet: Mittwoch, 6. November 2013 16:46
An: Eulitz, Alexander
Betreff: Re: [Question #232351]: Kinds of damping

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

Chiara Modenese posted a new comment:
Hi Alexander,

Yes, you are right beta_n should be called damping ratio rather than damping coefficient but you get the concept. Feel free to adjust the text if you want.

At the time I set the code so that e_n and e_s would be the defined the same was for convenience but also because I believe that the equation for alpha was derived for normal impact tests only (please correct me if I am wrong as I do not have that paper with me right now).

Looking back at this problem, I would not use this form of non-linear damping because actually the relationship for alpha that is implemented is not formally correct. It is a good first approximation but analytically is not consistent (I will see later if I can find the reference that proves that for you) - if you do some research on the topic you will find different relationships for alpha.

Chiara

On 6 November 2013 14:16, Alexander Eulitz [Eugen] < <email address hidden>> wrote:

> Question #232351 on Yade changed:
> https://answers.launchpad.net/yade/+question/232351
>
> Alexander Eulitz [Eugen] posted a new comment:
> Hi, I'd like to reopen this question.
> The Hertz Mindlin contact law allows for two diffrent kinds of
> viscouse damping, i.e. linear and non-linear.
>
> Considering the linear case:
> according to [1] beta_n is the viscous damping coefficient. But how is
> it defined? I did not find a satisfying answer. I looked at [3] and
> the named source from Schwager as wells as at [5], but I do not get it.
>
> In the source of the Hertz Mindlin Contact law [2] beta_n will be used
> to calculate c_n:
> cn = Cn_crit*phys->betan; // Damping normal coefficient
>
> with Cn_crit being the critical damping coefficient. I recognized that
> rearranging the equation for the damping ratio [4] gives:
> damping_coeff=damp_ratio*crit_damp_coeff which equals the line from
> the source code.
> If this is right, then beta_n is the damping ratio and not a viscous
> damping coefficient.
>
> May second question concerns non-linear viscous damping:
> It is not commented in the documentation [1] but looking at the
> sources [6] tells me that I can enable this kind of damping by
> specifying the coefficients of restitution (en, es). This way a value
> alpha will be computed from it.
> The first strange thing is, that it does not matter whether I specify
> en or es, only en will be used for alpha computation.
> The second strange thing is that the documentation on [1] says:
> " If e_n is given, MindlinPhys.betan is computed using \beta_n=-(\log
> e_n)/\sqrt{\pi^2+(\log e_n)^2}. The same applies to e_s."
>
> But this is not what is done in the source.
>
> Could you please help me?
>
> [1]
> https://yade-dem.org/doc/yade.wrapper.html?highlight=mindlin#yade.wrap
> per.Ip2_FrictMat_FrictMat_MindlinPhys
> [2]
> https://github.com/yade/trunk/blob/master/pkg/dem/HertzMindlin.cpp?sou
> rce=cc#L316 [3] https://answers.launchpad.net/yade/+question/235934
> [4] http://en.wikipedia.org/wiki/Damping_ratio
> [5] http://woodem.eu/doc/theory/contact/hertzian.html#viscous-damping
> [6]
> https://github.com/yade/trunk/blob/master/pkg/dem/HertzMindlin.cpp?sou
> rce=cc#L86
>
> --
> 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
>

--
You received this question notification because you are a direct subscriber of the question.

Revision history for this message
Chiara Modenese (chiara-modenese) said :
#9

Hi again,

Yes, they are. Linear or non-linear it depends on the definition as in the
linear case cn is in linear relationship with betan, for instance.
Improvements to Yade documentation are more than welcome so feel free to
add/modify text! In my experience is not very useful to try a relationship
other than linear for viscous damping unless you are unable to achieve what
you want with a simple model or unless your goal is to come up with a
contact relationship that is closer to reality.

Best,
Chiara

On 6 November 2013 16:11, Alexander Eulitz [Eugen] <
<email address hidden>> wrote:

> Question #232351 on Yade changed:
> https://answers.launchpad.net/yade/+question/232351
>
> Alexander Eulitz [Eugen] posted a new comment:
> Hi Chiara,
> thanks for your help. I really appreciate it.
> I will try to use linear damping only and calibrate beta_n during a simple
> sphere drop experiment.
> After this I'll have look for ideas of how beta_s can be determined.
> Adjusting the documentation is another bullet point on my todo list for
> christmas :)
>
> Just another short question: Am I right in assuming that linear contact
> damping as well as non-linear contact damping are both forms of viscous
> damping?
>
> Thanks again,
> Alex
>
>
> -----Ursprüngliche Nachricht-----
> Von: <email address hidden> [mailto:<email address hidden>] Im Auftrag von
> Chiara Modenese
> Gesendet: Mittwoch, 6. November 2013 16:46
> An: Eulitz, Alexander
> Betreff: Re: [Question #232351]: Kinds of damping
>
> Question #232351 on Yade changed:
> https://answers.launchpad.net/yade/+question/232351
>
> Chiara Modenese posted a new comment:
> Hi Alexander,
>
> Yes, you are right beta_n should be called damping ratio rather than
> damping coefficient but you get the concept. Feel free to adjust the
> text if you want.
>
> At the time I set the code so that e_n and e_s would be the defined the
> same was for convenience but also because I believe that the equation
> for alpha was derived for normal impact tests only (please correct me if
> I am wrong as I do not have that paper with me right now).
>
> Looking back at this problem, I would not use this form of non-linear
> damping because actually the relationship for alpha that is implemented
> is not formally correct. It is a good first approximation but
> analytically is not consistent (I will see later if I can find the
> reference that proves that for you) - if you do some research on the
> topic you will find different relationships for alpha.
>
> Chiara
>
>
> On 6 November 2013 14:16, Alexander Eulitz [Eugen] <
> <email address hidden>> wrote:
>
> > Question #232351 on Yade changed:
> > https://answers.launchpad.net/yade/+question/232351
> >
> > Alexander Eulitz [Eugen] posted a new comment:
> > Hi, I'd like to reopen this question.
> > The Hertz Mindlin contact law allows for two diffrent kinds of
> > viscouse damping, i.e. linear and non-linear.
> >
> > Considering the linear case:
> > according to [1] beta_n is the viscous damping coefficient. But how is
> > it defined? I did not find a satisfying answer. I looked at [3] and
> > the named source from Schwager as wells as at [5], but I do not get it.
> >
> > In the source of the Hertz Mindlin Contact law [2] beta_n will be used
> > to calculate c_n:
> > cn = Cn_crit*phys->betan; // Damping normal coefficient
> >
> > with Cn_crit being the critical damping coefficient. I recognized that
> > rearranging the equation for the damping ratio [4] gives:
> > damping_coeff=damp_ratio*crit_damp_coeff which equals the line from
> > the source code.
> > If this is right, then beta_n is the damping ratio and not a viscous
> > damping coefficient.
> >
> > May second question concerns non-linear viscous damping:
> > It is not commented in the documentation [1] but looking at the
> > sources [6] tells me that I can enable this kind of damping by
> > specifying the coefficients of restitution (en, es). This way a value
> > alpha will be computed from it.
> > The first strange thing is, that it does not matter whether I specify
> > en or es, only en will be used for alpha computation.
> > The second strange thing is that the documentation on [1] says:
> > " If e_n is given, MindlinPhys.betan is computed using \beta_n=-(\log
> > e_n)/\sqrt{\pi^2+(\log e_n)^2}. The same applies to e_s."
> >
> > But this is not what is done in the source.
> >
> > Could you please help me?
> >
> > [1]
> > https://yade-dem.org/doc/yade.wrapper.html?highlight=mindlin#yade.wrap
> > per.Ip2_FrictMat_FrictMat_MindlinPhys
> > [2]
> > https://github.com/yade/trunk/blob/master/pkg/dem/HertzMindlin.cpp?sou
> > rce=cc#L316 [3] https://answers.launchpad.net/yade/+question/235934
> > [4] http://en.wikipedia.org/wiki/Damping_ratio
> > [5] http://woodem.eu/doc/theory/contact/hertzian.html#viscous-damping
> > [6]
> > https://github.com/yade/trunk/blob/master/pkg/dem/HertzMindlin.cpp?sou
> > rce=cc#L86
> >
> > --
> > 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
> >
>
> --
> You received this question notification because you are a direct
> subscriber of the question.
>
> --
> 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
>