Difference between revisions of "ConstitutiveLaws"
From Yade
(43 intermediate revisions by 8 users not shown) | |||
Line 1: | Line 1: | ||
+ | == Constitutive laws == |
||
− | This page should grow to give overview of all constitutive laws (a.k.a. InteractionSolvers) and interaction-related classes in Yade. The purpose is twofold: |
||
+ | |||
+ | This page should grow to give overview of all constitutive laws in Yade. The purpose is twofold: |
||
# Names of respective classes do not say much and it seems that lot of code is duplicated; should improve orientation in material models available |
# Names of respective classes do not say much and it seems that lot of code is duplicated; should improve orientation in material models available |
||
+ | # Not all laws are in the same development stage. Some of them are well validated while others are purely experimental. Users should quickly find out which ones are safe to use in this table. |
||
− | # Have overview of migration to ConstitutiveLawDispatcher and ConstitutiveLaw (moving the interaction loop away from the law code), removal of persistentInteraction and obsolete code. |
||
+ | '''Yade users are strongly encouraged to choose one of the green laws unless a reason exists to decide otherwise.''' |
||
− | Please add what you know something about. |
||
− | == Constitutive laws == |
||
{|border="1" |
{|border="1" |
||
+ | ! Legend !! |
||
− | ! Class !! description !! interactionGeometry !! interactionPhysics !! used by and where |
||
|- |
|- |
||
+ | !bgcolor="#99cc00" | Green |
||
− | ! ElasticContactLaw |
||
+ | | Actively used and maintained without known bugs. Safe to use. |
||
− | | (the traditional Cundall's elastic-plastic law) This law has three parameters : tangential stiffness, normal stiffness, and friction coefficient - it modelises dry contacts (no tensile force allowed). || SpheresContactGeometry || ElasticContactInteraction || TriaxialTest (Bruno Chareyre) |
||
|- |
|- |
||
+ | !bgcolor="#FFFF00" | Yellow |
||
− | ! CohesiveFrictionalContactLaw |
||
+ | | In developement. Could be functional but may be subjected to frequent changes and bugs. |
||
− | | A versatile elastic-plastic contact law, with shear/normal/twisting/rolling stiffnesses, normal/shear strength (twisting/rolling strength could be added easily, for now they are infinite), shear/twisting creep || SpheresContactGeometry || CohesiveFrictionalInteraction || CohesiveTriaxialTest (Bruno Chareyre/Cosurgi) |
||
|- |
|- |
||
+ | !bgcolor="#ff0000" | Red |
||
− | ! Concrete particle model (Cpm) |
||
+ | | Orphan. Though possibly useful, the code has no identified maintainer. The help from mailing list will be limited and bugfixes may never come. For prepared users. |
||
− | | material model developed for concrete. It has damage, plasticity (friction), visco-damage (and visco-plasticity). The code unfortunately cannot be disclosed by contract, but algorithms will be published some day. || Dem3DofGeom || CpmPhys || scripts (eudoxos) |
||
+ | |} |
||
+ | |||
+ | |||
+ | {|border="1" |
||
+ | ! Class !! description !! dev. status !! validated !! publications !! example script !! maintainer(s) !! active users |
||
|- |
|- |
||
+ | !bgcolor="#99cc00" | Law2_ScGeom_FrictPhys_CundallStrack |
||
− | ! ef2_Spheres_NormalShear_ElasticFrictionalLaw |
||
+ | | The traditional Cundall's linear elastic-plastic law. This law has three parameters : tangential stiffness, normal stiffness, and friction coefficient - it modelizes dry contacts (no tensile force allowed). || mature || yes || (>10 papers) e.g. Scholtes2009c, Chareyre2012a || triax-basic.py || Bruno Chareyre || >20 |
||
− | | Proof-of-concept for ConstitutiveLawDispatcher. Cohesive type of interaction; has elasticity in both normal and shear directions. || SpheresContactGeometry || NormalShearInteraction || scripts/constitutive-law.py (eudoxos) |
||
|- |
|- |
||
+ | !bgcolor="#99cc00" | Law2_ScGeom6D_CohFrictPhys_CohesionMoment |
||
− | ! ElasticContactLaw2 |
||
+ | | An augmented version of Law2_ScGeom_FrictPhys_CundallStrack with cohesion and torques at contacts. Creep is optional. || mature || yes || Bourrier2013 || triax-cohesive.py || Bruno Chareyre || F. Kneib |
||
− | | like ElasticContactLaw, but using geometry algorithms in SpheresContactGeometry instead of computing that in-place; demonstrative only || SpheresContactGeometry || ElasticContactInteraction || (eudoxos) |
||
|- |
|- |
||
+ | !bgcolor="#99cc00" | Law2_ScGeom_MindlinPhys_Mindlin |
||
− | ! ElasticCohesiveLaw (deprecated) |
||
+ | | The non-linear elastic Hertz-Mindlin no-slip solution contact law. The law also allows for rolling resistance and non-linear viscous damping. || mature || yes || Modenese2012b || mindlin.py || Chiara Modenese || C. Modenese, C. Jakob |
||
− | | inherited from SDEC, not used anywhere except SDECLinkedSpheres || SDECLinkGeometry || SDECLinkPhysics || to be removed (relies on persistentInteractions)? |
||
|- |
|- |
||
+ | !bgcolor="#99CC00" | Law2_ScGeom_CpmPhys_Cpm |
||
− | ! Spheres_Viscoelastic_SimpleViscoelasticContactLaw |
||
+ | | model for concrete || mature || no || Smilauer2010b || examples/concrete || Václav Šmilauer, Jan Stransky || Jan Stransky |
||
− | | Linear spring−dashpot contact model || SpheresContactGeometry || ViscoelasticInteraction || (sega) for dynamic simulation |
||
|- |
|- |
||
+ | !bgcolor="#99cc00" | Law2_ScGeom_WirePhys_WirePM |
||
− | ! RockJointLaw |
||
+ | | A contact law for steel wires which is defined by a piece-wise linear stress-strain curve. The contact law considers tensile forces only. || mature || yes || Thoeni2011, Bertrand2008 || WireMatPM/wirecontacttest.py WireMatPM/wiretensiltest.py || Klaus Thoeni || K. Thoeni |
||
− | | Inelastic normal behaviour (kn_unload # kn_load); transfert of an elastic-plastic moment; no cohesion or tensile limit || SpheresContactGeometry || RockJointPhys || J. Duriez for simulations of "SimpleShear" Preprocessor (a simple shear box for studying rock joints) |
||
|- |
|- |
||
+ | !bgcolor="#99cc00" | Law2_ScGeom_ViscElPhys_Basic |
||
− | ! Law2_ScGeom_CapillaryPhys_Capillarity |
||
+ | | Visco-elastic contact law which supports explicit parameter input (Kn, Ks, Cn and Es) and implicit (contact time, restitution coefficient). || mature || yes || Pournin2001 || Many scripts in examples/-directory, grep for ViscElPhys there (baraban.py, bulldozerVTK.py etc.). || Anton Gladky || - |
||
− | | This law allows to take into account capillary forces/effects between spheres coming from the presence of interparticular liquid bridges (menisci). The law needs ascii files M(r=i) with i=R1/R2 to work (see https://yade-dem.org/index.php/CapillaryTriaxialTest). These ASCII files contain a set of results from the resolution of the Laplace-Young equation for different configurations of the interacting geometry. || SpheresContactGeometry || CapillaryPhys || L. Scholtes for simulation of unsaturated granular materials (e.g. TriaxialTestWater) |
||
|- |
|- |
||
+ | !bgcolor="#99cc00" | Law2_ScGeom_ViscElCapPhys_Basic |
||
− | ! add your stuff here, please! |
||
+ | | Extended version of linear viscoelastic model with capillary parameters || - || - || - || - || Anton Gladky || - |
||
− | | ... || ... || ... || |
||
− | |} |
||
− | |||
− | == InteractionPhysicsFunctors == |
||
− | |||
− | {|border="1" |
||
− | ! Class !! description !! material !! interactionPhysics || remarks |
||
|- |
|- |
||
+ | !bgcolor="#99cc00" | Law2_ScGeom_JCFpmPhys_JointedCohesiveFrictionalPM |
||
− | ! Ip2_CpmMat_CpmMat_CpmPhys |
||
+ | | Elastic contact law with cohesion and joints for fractured rock modelling. || mature || yes || Scholtes2012, Duriez2016 || in folder jointedCohesiveFrictionalPM || Luc Scholtes, J. Duriez || - |
||
− | | from the Cpm family; elastic, damage, plasticity, viscosity properties || CpmMat || CpmPhys || (eudoxos) |
||
|- |
|- |
||
+ | !bgcolor="#FFFF00" | Law2_CylScGeom_FrictPhys_CundallStrack |
||
− | ! SimpleElasticRelationships |
||
+ | | Similar to Law2_ScGeom_FrictPhys_CundallStrack but adapted to interactions between spheres and chained cylinders. || in development || more or less || not yet || chained-cylinder-roots.py || Bruno Chareyre, François Kneib || B. Chareyre, F. Kneib, I. Olmedo |
||
− | | ... || ... || ... || |
||
|- |
|- |
||
+ | !bgcolor="#FFFF00" | Law2_CylScGeom6D_CohFrictPhys_CohesionMoment |
||
− | ! SimpleViscoelasticRelationships |
||
+ | | Similar to Law2_ScGeom6D_CohFrictPhys_CohesionMoment but adapted to interactions between spheres and chained cylinders. || in development || no || not yet || CohesiveCylinderSphere.py || François Kneib, Bruno Chareyre || B. Chareyre, F. Kneib, I. Olmedo |
||
− | | From viscoelastic parameters of the pair bodies provides viscoelastic parameters of their interaction by the rule of consecutive connection. || SimpleViscoelasticBodyParameters || ViscoelasticInteraction || (sega) |
||
|- |
|- |
||
+ | !bgcolor="#FFFF00" | Law2_ScGeom6D_InelastCohFrictPhys_CohesionMoment |
||
− | ! RockJointLawRelationships |
||
+ | | Inelastic contact law with cohesion, twist and bending. || - || no || - || - || Ignacio Olmedo, François Kneib || - |
||
− | | Computes all the attributes of "RockJointPhys" used for application of RockJointLaw || CohesiveFrictionalBodyParameters || RockJointPhys || J. Duriez for SimpleShear |
||
− | |} |
||
− | |||
− | == InteractionGeometry == |
||
− | {|border="1" |
||
− | ! Class !! description !! |
||
|- |
|- |
||
+ | !bgcolor="#FFFF00" | Law2_ScGeom_ViscoFrictPhys_CundallStrack |
||
− | ! SpheresContactGeometry |
||
+ | | Generalized Maxwell model of visco-elasto-plastic interactions (2 springs and 2 dashpots for each force component). || in development || no || - || - || Bruno Chareyre || B. Chareyre |
||
− | | used almost everywhere in the DEM code, even for sphere-box contacts. || |
||
|- |
|- |
||
+ | !bgcolor="#FFFF00" | Law2_ScGeom_LudingPhys_Basic |
||
− | ! SDECLinkGeometry |
||
+ | | Cohesive contact model || - || more or less || Luding2008, Singh2013 || LudingPM.py || Anton Gladky (coded) || - |
||
− | | duplicated SpheresContactGeometry. (Should be removed) |
||
|- |
|- |
||
+ | !bgcolor="#ff0000" | Law2_ScGeom_MindlinPhys_HertzWithLinearShear |
||
− | ! ... |
||
+ | |- |
||
− | | ..... |
||
+ | !bgcolor="#ff0000" | Law2_ScGeom_MindlinPhys_MindlinDeresiewitz |
||
− | |} |
||
+ | |- |
||
+ | !bgcolor="#ff0000" | Law2_ScGeom_BubblePhys_Bubble |
||
+ | |- |
||
+ | !bgcolor="#ff0000" | Law2_ScGeom_FrictViscoPhys_CundallStrackVisco |
||
− | == InteractionPhysics == |
||
− | {|border="1" |
||
− | ! Class || description !! |
||
|- |
|- |
||
+ | ! Non-ScGeom laws |
||
− | ! NormalInteraction |
||
− | | abstract class that has only normal stiffness and force |
||
|- |
|- |
||
+ | | Law2_L3Geom_FrictPhys_ElPerfPl |
||
− | ! NormalShearInteraction |
||
− | | abstract class with normal and shear stiffnesses |
||
|- |
|- |
||
+ | | Law2_L6Geom_FrictPhys_Linear |
||
− | ! CpmPhys |
||
− | | normal and shear physics with additional parameters for non-elastic domain. |
||
|- |
|- |
||
+ | | Law2_ScGridCoGeom_FrictPhys_CundallStrack |
||
− | ! ViscoelasticInteraction |
||
− | | elastic contact with additional parameters for normal and shear dashpot. |
||
|- |
|- |
||
+ | | Law2_ScGridCoGeom_CohFrictPhys_CundallStrack |
||
− | ! RockJointPhys |
||
− | | |
||
|- |
|- |
||
+ | | Law2_GridCoGridCoGeom_FrictPhys_CundallStrack |
||
− | ! ... |
||
+ | |- |
||
+ | | Law2_TTetraSimpleGeom_NormPhys_Simple |
||
+ | |- |
||
+ | | Law2_PolyhedraGeom_PolyhedraPhys_Volumetric |
||
|} |
|} |
||
+ | |||
[[Category:Developer guide]] |
[[Category:Developer guide]] |
Latest revision as of 14:10, 17 February 2020
Constitutive laws
This page should grow to give overview of all constitutive laws in Yade. The purpose is twofold:
- Names of respective classes do not say much and it seems that lot of code is duplicated; should improve orientation in material models available
- Not all laws are in the same development stage. Some of them are well validated while others are purely experimental. Users should quickly find out which ones are safe to use in this table.
Yade users are strongly encouraged to choose one of the green laws unless a reason exists to decide otherwise.
Legend | |
---|---|
Green | Actively used and maintained without known bugs. Safe to use. |
Yellow | In developement. Could be functional but may be subjected to frequent changes and bugs. |
Red | Orphan. Though possibly useful, the code has no identified maintainer. The help from mailing list will be limited and bugfixes may never come. For prepared users. |
Class | description | dev. status | validated | publications | example script | maintainer(s) | active users |
---|---|---|---|---|---|---|---|
Law2_ScGeom_FrictPhys_CundallStrack | The traditional Cundall's linear elastic-plastic law. This law has three parameters : tangential stiffness, normal stiffness, and friction coefficient - it modelizes dry contacts (no tensile force allowed). | mature | yes | (>10 papers) e.g. Scholtes2009c, Chareyre2012a | triax-basic.py | Bruno Chareyre | >20 |
Law2_ScGeom6D_CohFrictPhys_CohesionMoment | An augmented version of Law2_ScGeom_FrictPhys_CundallStrack with cohesion and torques at contacts. Creep is optional. | mature | yes | Bourrier2013 | triax-cohesive.py | Bruno Chareyre | F. Kneib |
Law2_ScGeom_MindlinPhys_Mindlin | The non-linear elastic Hertz-Mindlin no-slip solution contact law. The law also allows for rolling resistance and non-linear viscous damping. | mature | yes | Modenese2012b | mindlin.py | Chiara Modenese | C. Modenese, C. Jakob |
Law2_ScGeom_CpmPhys_Cpm | model for concrete | mature | no | Smilauer2010b | examples/concrete | Václav Šmilauer, Jan Stransky | Jan Stransky |
Law2_ScGeom_WirePhys_WirePM | A contact law for steel wires which is defined by a piece-wise linear stress-strain curve. The contact law considers tensile forces only. | mature | yes | Thoeni2011, Bertrand2008 | WireMatPM/wirecontacttest.py WireMatPM/wiretensiltest.py | Klaus Thoeni | K. Thoeni |
Law2_ScGeom_ViscElPhys_Basic | Visco-elastic contact law which supports explicit parameter input (Kn, Ks, Cn and Es) and implicit (contact time, restitution coefficient). | mature | yes | Pournin2001 | Many scripts in examples/-directory, grep for ViscElPhys there (baraban.py, bulldozerVTK.py etc.). | Anton Gladky | - |
Law2_ScGeom_ViscElCapPhys_Basic | Extended version of linear viscoelastic model with capillary parameters | - | - | - | - | Anton Gladky | - |
Law2_ScGeom_JCFpmPhys_JointedCohesiveFrictionalPM | Elastic contact law with cohesion and joints for fractured rock modelling. | mature | yes | Scholtes2012, Duriez2016 | in folder jointedCohesiveFrictionalPM | Luc Scholtes, J. Duriez | - |
Law2_CylScGeom_FrictPhys_CundallStrack | Similar to Law2_ScGeom_FrictPhys_CundallStrack but adapted to interactions between spheres and chained cylinders. | in development | more or less | not yet | chained-cylinder-roots.py | Bruno Chareyre, François Kneib | B. Chareyre, F. Kneib, I. Olmedo |
Law2_CylScGeom6D_CohFrictPhys_CohesionMoment | Similar to Law2_ScGeom6D_CohFrictPhys_CohesionMoment but adapted to interactions between spheres and chained cylinders. | in development | no | not yet | CohesiveCylinderSphere.py | François Kneib, Bruno Chareyre | B. Chareyre, F. Kneib, I. Olmedo |
Law2_ScGeom6D_InelastCohFrictPhys_CohesionMoment | Inelastic contact law with cohesion, twist and bending. | - | no | - | - | Ignacio Olmedo, François Kneib | - |
Law2_ScGeom_ViscoFrictPhys_CundallStrack | Generalized Maxwell model of visco-elasto-plastic interactions (2 springs and 2 dashpots for each force component). | in development | no | - | - | Bruno Chareyre | B. Chareyre |
Law2_ScGeom_LudingPhys_Basic | Cohesive contact model | - | more or less | Luding2008, Singh2013 | LudingPM.py | Anton Gladky (coded) | - |
Law2_ScGeom_MindlinPhys_HertzWithLinearShear | |||||||
Law2_ScGeom_MindlinPhys_MindlinDeresiewitz | |||||||
Law2_ScGeom_BubblePhys_Bubble | |||||||
Law2_ScGeom_FrictViscoPhys_CundallStrackVisco | |||||||
Non-ScGeom laws | |||||||
Law2_L3Geom_FrictPhys_ElPerfPl | |||||||
Law2_L6Geom_FrictPhys_Linear | |||||||
Law2_ScGridCoGeom_FrictPhys_CundallStrack | |||||||
Law2_ScGridCoGeom_CohFrictPhys_CundallStrack | |||||||
Law2_GridCoGridCoGeom_FrictPhys_CundallStrack | |||||||
Law2_TTetraSimpleGeom_NormPhys_Simple | |||||||
Law2_PolyhedraGeom_PolyhedraPhys_Volumetric |