← Back to team overview

yade-users team mailing list archive

Re: Starting a new project on rock slope stability


True! A newcomer would be quite disappointed to know what he really needs for his purpose among all the variables. But, anyway, I did not run away from YADE and I have tried to follow your advices concerning the "new way of thinking" Constitutive Laws in Yade (thank you Yade-Wiki). I spent some times on the RockPM and ConcretePM and I think I get the idea.

However, I am still used to the "old fashionned way" of thinking with preprocessor etc (actually, I try to get involved in YADE-Python programming ;-) ), and I do not really get the connexion with all the other engines. So, it would be somehow very helpful if one of you could provide some more informations on how to use these new laws (maybe with a typical functional xml file or even a python script). For instance, I'm gonna try to customize the interaction physics or/and interaction geometry to include some additional informations like, for example, the possible belonging of a particle to a fault and the corresponding plane orientation.
See e.g. scripts/facet-sphere.py, that's elastic/friction law (think ElasticContactLaw). Then see examples/concrete/uniax.py -- skip the stuff around, just look at the engines: there is different functor for InteractionPhysics than for facet-sphere.py: Ip2_CpmMat_CpmMat_CpmPhys, rather than SimpleElasticRelationships (which should be called something like Ip2_BodyMacro_BodyMacro_ElasticContact); and there is of course also different constitutive law (the last functor within InteractionDispatchers).

In the uniax.py case, Body::physicalParameters class that is used is different (CpmMat, meaning Concrete Particle Model MATerial), which has some extra state variables.

In your case, read the comment at the beginning of pkg/dem/meta/ConcretePM.hpp carefully, there is all you will need; you will need:

(i) new PhysicalParameters class e.g LucMat (like BodyMacroParameters, CpmMat, RpmMat etc), containing as you said e.g. that the particle belongs to some fault

(ii) new functor that will derive InteractionPhysics from the new material class, e.g. Ip2_LucMat_LucMat_LucPhys

(iii) this new InteractionPhysics class LucPhys (iv) new constitutive law taking Dem3DofGeom (InteractionGeometry) and

(iv) your new LucPhys class, Law2_Dem3Dof_LucPhys_[something]

Cheers, Vaclav

Follow ups