UPDATE - Seems that the moment law works (tests at the scale of one interaction) - Seems that the contact law (say CohesiveFrictionalPM) works well at the scale of a simple interaction (tests at the scale of one interaction)
- Don't know why, but when used in macroscale simulations (say Trixial or Uniaxial testing), the assemblies explode/disappear/gotohell. I suspect a problem related to the timestep computation but still not sure... Explosion does not occur if the initial contact distance is not initialized at the first contact between two particles, say: no problem if D = geom->penetrationDepth / problem if D = geom->penetrationDepth - initD with initD=geom->penetrationDepth if contact->isFresh - At the same time I can see that everytime I recompile the sources, all qt3 linked files are recompiled with, randomly, an error occuring (moreover, I got this when the system is checked: Checking for QGLViewer() in C++ library qglviewer... (cached) no). still trying to find out Luc 2010/5/28 luc scholtes <[email protected]> > 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 <[email protected]> > > 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 <[email protected]> >> >>> 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 : [email protected] >>> 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 : [email protected] >> 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 Post to : [email protected] Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp

