← Back to team overview

yade-dev team mailing list archive

Re: [yade-dev] Trouble with use of CohesiveFrictionalPM in new version

 

Thanks for your advices Anton.

I found that the main problem (say, not the one due to the moment law) comes
from those two lines, where I initialize the first contacting distance as
the equilibrium distance:

if ( contact->isFresh(rootBody) ) { phys->initD = displN; phys->normalForce
= Vector3r::Zero(); phys->shearForce = Vector3r::Zero();}
Real D = displN - phys->initD; // interparticular distance is computed
depending on the equilibrium distance (which is 0 for non cohesive
interactions)

Probably some consequences in the computation of the timestep...

Bruno?



2010/5/28 Anton Gladky <gladky.anton@xxxxxxxxx>

> I am not an expert in CohesiveFrictionalPM as I am using my own one,
>
> If you do not find the reason, analyzing the code, try to find in what
> revision it was broken.
> If you say, that it is working in r 2185, try r2200. And then compiling
> several revision you will get
> exactly the problem revision. In then it will be much easier to find the
> solution.
> ______________________________
>
> Anton Gladkyy
>
>
> 2010/5/28 luc scholtes <lscholtes63@xxxxxxxxx>
>
>> Hi guys,
>>
>>
>> After few investigations about CohesiveFrictionalPM in latest version, I
>> must admit that I still do not have any idea where to look for, so if one of
>> you could have any suggestion, it would be very kind.
>>
>> 1- CohesiveFrictionalPM seems to work well when it is used in basic
>> simulations (say two elements, sphere/sphere or sphere/box) and without the
>> moment law (the moment law produces the same "explosive behaviour" when used
>> with CohesiveFrictionalContactLaw, so it is probably due to some problems
>> with quaternion computation in Eigen as it worked well with wm3... Unless
>> there was something wrong with wm3...)
>>
>> 2- I don't understand why, but when CohesiveFrictionalPM is used in a
>> TriaxialTest or a uniaxial test (without the moment law, though), everything
>> explodes. Since there have been a lot of changes during the last weeks (I
>> use rev2185 without any problem), I don't really know where to check
>> first... I have attached a script that I use for Triaxial Testing. I tested
>> it with CohesiveFrictionalPM as well as with CohesiveFrictionalContactLaw.
>> RESULTS -> if the moment law is desactivated, it works for
>> CohesiveFrictionalContactLaw but not for CohesiveFrictionalPM.
>>
>> The first thing I have noticed is that, if the timestep is fixed with
>> O.dt=-0.2*utils.PWaveTimeStep() (see the - before
>> 0.2*utils.PWaveTimeStep()), GlobalStiffnessTimeStepper() does not update the
>> timestep for CohesiveFrictionalPM (it does for
>> CohesiveFrictionalContactLaw), and, the walls just go through the assembly.
>>
>> Then, fixing the timestep with O.dt=0.2*utils.PWaveTimeStep() (without the
>> -), I could see that after few iterations, everything explodes again. Having
>> a look into the TriaxialRecorder file, I could see that the kinematic
>> energy, as well as the unbalanced force increase dramatically.
>>
>> The only (!!!!) difference between the two laws is that, one uses the
>> penetration depth as the interacting distance, whereas the other initializes
>> the interacting distance to the penetration depth when an interaction is
>> detected, and I saw this: https://bugs.launchpad.net/yade/+bug/399963. Do
>> you think it could be related?
>>
>> Please... help
>>
>>   Luc
>>
>>
>>
>> _______________________________________________
>> Mailing list: https://launchpad.net/~yade-dev<https://launchpad.net/%7Eyade-dev>
>> Post to     : yade-dev@xxxxxxxxxxxxxxxxxxx
>> Unsubscribe : https://launchpad.net/~yade-dev<https://launchpad.net/%7Eyade-dev>
>>
>> More help   : https://help.launchpad.net/ListHelp
>>
>>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~yade-dev<https://launchpad.net/%7Eyade-dev>
> Post to     : yade-dev@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~yade-dev<https://launchpad.net/%7Eyade-dev>
> More help   : https://help.launchpad.net/ListHelp
>
>

Follow ups

References