yade-dev team mailing list archive
-
yade-dev team
-
Mailing list archive
-
Message #10722
Re: ViscoElastic test
Hi Francois,
thanks for pointing that out. This formulation is in Yade
for several years [1] already. I am not sure, whether it is correct and
we need to check this out. I just keep it "as it was" not to
break a lot of things.
[1] https://github.com/yade/trunk/blob/0.60/pkg/dem/ViscoelasticPM.cpp#L24
Anton
2014-04-09 11:57 GMT+02:00 François <francois.kneib@xxxxxxxxx>:
> Hi Anton,
>
> I checked the Pournin's implementation you made, and I may have found a
> little error. According to the formula (10) in the paper, the four formulas
> (22) are the resulting stiffness/viscosity_coefs of a contact, and you
> rightly transcript them. But in your algorithm, you set
> kn1 = kn2 = *formula_in_(22)*
> and then :
> *kn = contactParameterCalculation(kn1,kn2) *which is the same as :* kn =
> **contactParameterCalculation(kn1,kn1) = (kn1) / 2*
> Which finally gives :
> *kn = *
> *formula_in_(22) / 2 *
> Do you agree with this ?
>
> François
>
>
> 2014-04-03 15:11 GMT+02:00 François <francois.kneib@xxxxxxxxx>:
>
> Hi,
>>
>> One last thing : in the 3rd case (young modulus
>> case
>> ), it would be useful to determine
>> cn from E1,E2,massR and en. I know the formula for normal cn, but not for
>> cs. Do you have an idea ?
>>
>> Thanks,
>>
>> François.
>>
>>
>> 2014-04-03 10:15 GMT+02:00 François <francois.kneib@xxxxxxxxx>:
>>
>> 2014-04-03 10:00 GMT+02:00 Anton Gladky <gladky.anton@xxxxxxxxx>:
>>>
>>> 2014-04-03 9:51 GMT+02:00 François <francois.kneib@xxxxxxxxx>:
>>>> > It will for sure break my scripts, as I used massMultiply=0. But your
>>>> > implementation is part of my "todo list", which I can remove now :-)
>>>> > You have made huge changes at once, so I need a little bit of time to
>>>> check
>>>> > everything. What I can see now is that you use "isnormal(r)" function
>>>> into
>>>> > the Ip2, which returns false if r==0. It will be a problem, for
>>>> example if
>>>> > we want to set cn, but cs=0 (same matter for en and et).
>>>>
>>>> I just wanted to check, that it is not(isnan). Thank for notice, will
>>>> change to
>>>> not(isnan).
>>>>
>>> Yes that's what I supposed.
>>>
>>>
>>>>
>>>> I think you can just remove massmultiply from your scripts and it
>>>> should work
>>>> fine.
>>>>
>>> I will re-check everything and see whether I am consistent with the
>>> current implementation. You can delete the "massmultiply" argument in the
>>> "contactParameterCalculation" function, as it's not used any more.
>>>
>>>> Anton
>>>>
>>>
>>> François
>>>
>>>
>>
>
References