Difference between revisions of "ConstitutiveLaws"
From Yade
(22 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
+ | == Constitutive laws == |
||
+ | |||
This page should grow to give overview of all constitutive laws in Yade. The purpose is twofold: |
This page should grow to give overview of all constitutive laws in Yade. The purpose is twofold: |
||
Line 4: | Line 6: | ||
# 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. |
# 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 |
+ | '''Yade users are strongly encouraged to choose one of the green laws unless a reason exists to decide otherwise.''' |
+ | |||
+ | {|border="1" |
||
+ | ! Legend !! |
||
+ | |- |
||
+ | !bgcolor="#99cc00" | Green |
||
+ | | Actively used and maintained without known bugs. Safe to use. |
||
+ | |- |
||
+ | !bgcolor="#FFFF00" | Yellow |
||
+ | | In developement. Could be functional but may be subjected to frequent changes and bugs. |
||
+ | |- |
||
+ | !bgcolor="#ff0000" | 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. |
||
+ | |} |
||
− | == Constitutive laws == |
||
{|border="1" |
{|border="1" |
||
− | ! Class !! description !! dev. status !! validated !! publications !! example script !! maintainer(s) |
+ | ! Class !! description !! dev. status !! validated !! publications !! example script !! maintainer(s) !! active users |
|- |
|- |
||
!bgcolor="#99cc00" | Law2_ScGeom_FrictPhys_CundallStrack |
!bgcolor="#99cc00" | 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 |
+ | | 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 |
|- |
|- |
||
!bgcolor="#99cc00" | Law2_ScGeom6D_CohFrictPhys_CohesionMoment |
!bgcolor="#99cc00" | Law2_ScGeom6D_CohFrictPhys_CohesionMoment |
||
− | | An augmented version of Law2_ScGeom_FrictPhys_CundallStrack with cohesion and torques at contacts. Creep is optional. || mature || yes || |
+ | | 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 |
|- |
|- |
||
!bgcolor="#99cc00" | Law2_ScGeom_MindlinPhys_Mindlin |
!bgcolor="#99cc00" | 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 |
+ | | 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 |
+ | |- |
||
+ | !bgcolor="#99CC00" | Law2_ScGeom_CpmPhys_Cpm |
||
+ | | model for concrete || mature || no || Smilauer2010b || examples/concrete || Václav Šmilauer, Jan Stransky || Jan Stransky |
||
|- |
|- |
||
!bgcolor="#99cc00" | Law2_ScGeom_WirePhys_WirePM |
!bgcolor="#99cc00" | 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 |
+ | | 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 |
|- |
|- |
||
− | !bgcolor="# |
+ | !bgcolor="#99cc00" | 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 || - |
||
− | | 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 |
||
|- |
|- |
||
− | !bgcolor="# |
+ | !bgcolor="#99cc00" | Law2_ScGeom_ViscElCapPhys_Basic |
+ | | Extended version of linear viscoelastic model with capillary parameters || - || - || - || - || Anton Gladky || - |
||
− | | 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 |
||
|- |
|- |
||
− | !bgcolor="# |
+ | !bgcolor="#99cc00" | 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 || - |
||
− | | Generalized Maxwell model of visco-elasto-plastic interactions (2 springs and 2 dashpots for each force component). || in development || no || || - || Bruno Chareyre |
||
|- |
|- |
||
− | !bgcolor="# |
+ | !bgcolor="#FFFF00" | 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 |
||
− | | A generic class for inheritance by more specialized functors (e.g.Law2_ScGeom_CpmPhys_Cpm). Not to be used in simulations. |
||
|- |
|- |
||
− | !bgcolor="# |
+ | !bgcolor="#FFFF00" | 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 |
||
|- |
|- |
||
− | !bgcolor="# |
+ | !bgcolor="#FFFF00" | Law2_ScGeom6D_InelastCohFrictPhys_CohesionMoment |
+ | | Inelastic contact law with cohesion, twist and bending. || - || no || - || - || Ignacio Olmedo, François Kneib || - |
||
|- |
|- |
||
− | !bgcolor="# |
+ | !bgcolor="#FFFF00" | 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 |
||
− | |- |
||
− | !bgcolor="#ff0000" | Law2_L6Geom_FrictPhys_Linear |
||
− | |- |
||
− | !bgcolor="#ff0000" | Law2_ScGeom6D_NormalInelasticityPhys_NormalInelasticity |
||
− | |- |
||
− | !bgcolor="#ff0000" | Law2_ScGeom_CFpmPhys_CohesiveFrictionalPM |
||
|- |
|- |
||
− | !bgcolor="# |
+ | !bgcolor="#FFFF00" | Law2_ScGeom_LudingPhys_Basic |
+ | | Cohesive contact model || - || more or less || Luding2008, Singh2013 || LudingPM.py || Anton Gladky (coded) || - |
||
|- |
|- |
||
!bgcolor="#ff0000" | Law2_ScGeom_MindlinPhys_HertzWithLinearShear |
!bgcolor="#ff0000" | Law2_ScGeom_MindlinPhys_HertzWithLinearShear |
||
Line 53: | Line 68: | ||
!bgcolor="#ff0000" | Law2_ScGeom_MindlinPhys_MindlinDeresiewitz |
!bgcolor="#ff0000" | Law2_ScGeom_MindlinPhys_MindlinDeresiewitz |
||
|- |
|- |
||
− | !bgcolor="#ff0000" | |
+ | !bgcolor="#ff0000" | Law2_ScGeom_BubblePhys_Bubble |
− | |} |
||
− | |||
− | == Older tables (removed soon) == |
||
− | |||
− | {|border="1" |
||
− | ! Class !! description !! interactionGeometry !! interactionPhysics !! used by and where |
||
|- |
|- |
||
+ | !bgcolor="#ff0000" | Law2_ScGeom_FrictViscoPhys_CundallStrackVisco |
||
− | ! ElasticContactLaw |
||
− | | (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) |
||
− | |- |
||
− | ! CohesiveFrictionalContactLaw |
||
− | | 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) |
||
− | |- |
||
− | ! Concrete particle model (Cpm) |
||
− | | 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) |
||
− | |- |
||
− | ! ef2_Spheres_NormalShear_ElasticFrictionalLaw |
||
− | | Proof-of-concept for ConstitutiveLawDispatcher. Cohesive type of interaction; has elasticity in both normal and shear directions. || SpheresContactGeometry || NormalShearInteraction || scripts/constitutive-law.py (eudoxos) |
||
− | |- |
||
− | ! ElasticContactLaw2 |
||
− | | like ElasticContactLaw, but using geometry algorithms in SpheresContactGeometry instead of computing that in-place; demonstrative only || SpheresContactGeometry || ElasticContactInteraction || (eudoxos) |
||
− | |- |
||
− | ! ElasticCohesiveLaw (deprecated) |
||
− | | inherited from SDEC, not used anywhere except SDECLinkedSpheres || SDECLinkGeometry || SDECLinkPhysics || to be removed (relies on persistentInteractions)? |
||
− | |- |
||
− | ! Spheres_Viscoelastic_SimpleViscoelasticContactLaw |
||
− | | Linear spring−dashpot contact model || SpheresContactGeometry || ViscoelasticInteraction || (sega) for dynamic simulation |
||
− | |- |
||
− | ! RockJointLaw |
||
− | | 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) |
||
− | |- |
||
− | ! Law2_ScGeom_CapillaryPhys_Capillarity |
||
− | | 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) 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) |
||
− | |- |
||
− | ! add your stuff here, please! |
||
− | | ... || ... || ... || |
||
− | |} |
||
− | == InteractionPhysicsFunctors == |
||
− | |||
− | {|border="1" |
||
− | ! Class !! description !! material !! interactionPhysics || remarks |
||
|- |
|- |
||
+ | ! Non-ScGeom laws |
||
− | ! Ip2_CpmMat_CpmMat_CpmPhys |
||
− | | from the Cpm family; elastic, damage, plasticity, viscosity properties || CpmMat || CpmPhys || (eudoxos) |
||
|- |
|- |
||
+ | | Law2_L3Geom_FrictPhys_ElPerfPl |
||
− | ! SimpleElasticRelationships |
||
− | | ... || ... || ... || |
||
|- |
|- |
||
+ | | Law2_L6Geom_FrictPhys_Linear |
||
− | ! SimpleViscoelasticRelationships |
||
− | | From viscoelastic parameters of the pair bodies provides viscoelastic parameters of their interaction by the rule of consecutive connection. || SimpleViscoelasticBodyParameters || ViscoelasticInteraction || (sega) |
||
|- |
|- |
||
+ | | Law2_ScGridCoGeom_FrictPhys_CundallStrack |
||
− | ! RockJointLawRelationships |
||
− | | Computes all the attributes of "RockJointPhys" used for application of RockJointLaw || CohesiveFrictionalBodyParameters || RockJointPhys || J. Duriez for SimpleShear |
||
|- |
|- |
||
+ | | Law2_ScGridCoGeom_CohFrictPhys_CundallStrack |
||
− | ! Ip2_FrictMat_FrictMat_CapillaryPhys |
||
− | | computes all the elastic attributes for CapillaryPhys (duplicates Ip2_FrictMat_FrictMat_FrictPhys) || Frictmat || CapillaryPhys || Luc Scholtes |
||
− | |} |
||
− | |||
− | == InteractionGeometry == |
||
− | {|border="1" |
||
− | ! Class !! description !! |
||
|- |
|- |
||
+ | | Law2_GridCoGridCoGeom_FrictPhys_CundallStrack |
||
− | ! SpheresContactGeometry |
||
− | | used almost everywhere in the DEM code, even for sphere-box contacts. || |
||
|- |
|- |
||
+ | | Law2_TTetraSimpleGeom_NormPhys_Simple |
||
− | ! SDECLinkGeometry |
||
− | | duplicated SpheresContactGeometry. (Should be removed) |
||
|- |
|- |
||
+ | | Law2_PolyhedraGeom_PolyhedraPhys_Volumetric |
||
− | ! ... |
||
− | | ..... |
||
|} |
|} |
||
− | == InteractionPhysics == |
||
− | {|border="1" |
||
− | ! Class || description !! |
||
− | |- |
||
− | ! NormalInteraction |
||
− | | abstract class that has only normal stiffness and force |
||
− | |- |
||
− | ! NormalShearInteraction |
||
− | | abstract class with normal and shear stiffnesses |
||
− | |- |
||
− | ! CpmPhys |
||
− | | normal and shear physics with additional parameters for non-elastic domain. |
||
− | |- |
||
− | ! ViscoelasticInteraction |
||
− | | elastic contact with additional parameters for normal and shear dashpot. |
||
− | |- |
||
− | ! RockJointPhys |
||
− | | |
||
− | |- |
||
− | ! CapillaryPhys |
||
− | |parameters linked to the definition of a capillary bridge between 2 spheres (Volume,Force,extents over grains surfaces). |
||
− | |} |
||
[[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 |