yade-users team mailing list archive
-
yade-users team
-
Mailing list archive
-
Message #01870
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
References