← Back to team overview

yade-dev team mailing list archive

Re: [Bug 806944] Re: different behavoir of Hertz model while comparing PFC and YADE

 

Christian,

I found your mistake. It is not in the way you define _hn or _hs (they are
correct, we just use to define the effective radius in a different way but
then there is a factor of 2 in your -actually PFC manual's - final equation
so that we get the same number) BUT it is in your python script. Shear
modulus is NOT Young's modulus. See line 19 of your script. If in PFC script
you input shear modulus (line 11 in PFC script), in Yade script (line 19)
you are required to input Young's modulus. (Some) variables have been given
a name for a reason.

Regards,
Chiara


On 14 July 2011 16:41, Chiara Modenese <c.modenese@xxxxxxxxx> wrote:

> You (not PFC at this point) are defining the effective radius in the wrong
> way. And well, to my opinion _hn (and _hs) should NOT be user defined as
> their values are well established by Hertz (and Mindlin) theory itself.
> Please input the same constant coefficients that you find in Yade if you
> still aim at making a meaningful comparison. You can get them like:
>
> O.interactions[0,1].phys.kno
> O.interactions[0,1].phys.kso
>
> Those should be equal to your PFC variable _hn and _hs respectively.
> Please, close this bug if you find the same results. You should always
> check that the formulations you are comparing are the same before going any
> deeper.
>
> Chiara
>
>
>
>
> On 14 July 2011 13:49, Christian Jakob <806944@xxxxxxxxxxxxxxxxxx> wrote:
>
>> In the udm_hertz the user has to modify contacts manually, as you can
>> see here:
>>
>> def modify_cp
>>
>>  bp1 = c_ball1(cp)
>>  ;ball pointers
>>  bp2 = c_ball2(cp)
>>
>>  c_model(cp) = 'udm_hertz'
>>
>>  _fricset = friction_coeff
>>
>>  if pointer_type(bp2) = 100  ; Ball-Ball contact
>>
>>    _meff =
>> b_realmass(bp1)*b_realmass(bp2)/(b_realmass(bp1)+b_realmass(bp2));
>>
>>    _rbar = 2.0 * b_rad(bp1) * b_rad(bp2) / (b_rad(bp1) + b_rad(bp2))
>>
>>  else                         ; Ball-Wall contact
>>
>>    _meff = b_realmass(bp1)
>>
>>    _rbar = b_rad(bp1)
>>
>>    _fricset = min(_fricset,w_fric(bp2))
>>
>>  end_if
>>
>>  _hn = 2.0 * sqrt(2.0*_rbar) * shear_modulus / (3.0*(1.0 -
>> poisson_ratio));
>>
>>  temp = shear_modulus * shear_modulus * 3.0 * (1.0 - poisson_ratio) *
>> _rbar;
>>
>>  _hs = 2.0 * exp((1.0/3.0)*ln(temp)) / (2.0 - poisson_ratio);
>>
>>  c_prop(cp,'hertz_meff') = _meff
>>
>>  c_prop(cp,'hertz_hn')   = _hn
>>
>>  c_prop(cp,'hertz_hs')   = _hs
>>
>>  c_prop(cp,'hertz_fric') = _fricset
>>
>>  c_prop(cp,'hertz_vn')   = viscous_normal
>>
>>  c_prop(cp,'hertz_vs')   = viscous_shear
>>
>>  c_prop(cp,'hertz_nt')   = _nt
>>
>>  c_prop(cp,'hertz_hssd') = _hssd
>>
>> end
>>
>> to answer your question:
>>
>> normal stiffness:
>>  _hn = 2.0 * sqrt(2.0*_rbar) * shear_modulus / (3.0*(1.0 -
>> poisson_ratio));
>>
>> shear stiffness:
>>  temp = shear_modulus * shear_modulus * 3.0 * (1.0 - poisson_ratio) *
>> _rbar;
>>  _hs = 2.0 * exp((1.0/3.0)*ln(temp)) / (2.0 - poisson_ratio);
>>
>> --
>> You received this bug notification because you are a member of Yade
>> developers, which is the registrant for Yade.
>> https://bugs.launchpad.net/bugs/806944
>>
>> Title:
>>  different behavoir of Hertz model while comparing PFC and YADE
>>
>> Status in Yet Another Dynamic Engine:
>>   Confirmed
>>
>> Bug description:
>>  Hello,
>>
>>  During verifiing my model I compared output from PFC 4.0 with the
>>  output from YADE (bzr2877 on Debian Squeeze 64bit). There I found a
>>  different behavior between these two programs. I dont know if this is
>>  a bug or not, but I hope someone can explain the different behavior.
>>
>>  The model itself is very simple. There are two spheres, an upper one and
>> a lower one. The lower one is fixed and the upper one is falling down to the
>> lower one, collides and jumps back. The value of interest is the flyback
>> height of the upper particle.
>>  In PFC I measure higher values of flyback height, then in YADE (see
>> log-files in the attachment).
>>
>>  Can someone tell me why there is a difference in the flyback height?
>>  (input parameters are the same for both programs ... see
>> caller_two-spheres-jumping.dat for PFC and two-spheres.py for YADE)
>>
>>  Regards,
>>
>>  Christian Jakob
>>
>> To manage notifications about this bug go to:
>> https://bugs.launchpad.net/yade/+bug/806944/+subscriptions
>>
>> _______________________________________________
>> Mailing list: https://launchpad.net/~yade-dev
>> Post to     : yade-dev@xxxxxxxxxxxxxxxxxxx
>> Unsubscribe : https://launchpad.net/~yade-dev
>> More help   : https://help.launchpad.net/ListHelp
>>
>
>


** Changed in: yade
       Status: Confirmed => Invalid

-- 
You received this bug notification because you are a member of Yade
developers, which is the registrant for Yade.
https://bugs.launchpad.net/bugs/806944

Title:
  different behavoir of Hertz model while comparing PFC and YADE

Status in Yet Another Dynamic Engine:
  Invalid

Bug description:
  Hello,

  During verifiing my model I compared output from PFC 4.0 with the
  output from YADE (bzr2877 on Debian Squeeze 64bit). There I found a
  different behavior between these two programs. I dont know if this is
  a bug or not, but I hope someone can explain the different behavior.

  The model itself is very simple. There are two spheres, an upper one and a lower one. The lower one is fixed and the upper one is falling down to the lower one, collides and jumps back. The value of interest is the flyback height of the upper particle.
  In PFC I measure higher values of flyback height, then in YADE (see log-files in the attachment).

  Can someone tell me why there is a difference in the flyback height?
  (input parameters are the same for both programs ... see caller_two-spheres-jumping.dat for PFC and two-spheres.py for YADE)

  Regards,

  Christian Jakob

To manage notifications about this bug go to:
https://bugs.launchpad.net/yade/+bug/806944/+subscriptions


References