Difference between revisions of "ConstitutiveLaws"

From Yade

 
(26 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 exists to decide otherwise.'''
Please add what you know something about.
 
  +
  +
{|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 articles) e.g. Scholtes2009c || 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 || not yet || triax-cohesive.py || Bruno Chareyre
+
| 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="#FFFF00" | Law2_CylScGeom_FrictPhys_CundallStrack
+
!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="#FFFF00" | Law2_CylScGeom6D_CohFrictPhys_CohesionMoment
+
!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="#FFFF00" | Law2_ScGeom_ViscoFrictPhys_CundallStrack
+
!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="#ff0000" | Law2_Dem3DofGeom_CpmPhys_Cpm
+
!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
 
|-
 
|-
!bgcolor="#ff0000" | Law2_Dem3DofGeom_RockPMPhys_Rpm
+
!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="#ff0000" | Law2_L3Geom_FrictPhys_ElPerfPl
+
!bgcolor="#FFFF00" | Law2_ScGeom6D_InelastCohFrictPhys_CohesionMoment
  +
| Inelastic contact law with cohesion, twist and bending. || - || no || - || - || Ignacio Olmedo, François Kneib || -
 
|-
 
|-
!bgcolor="#ff0000" | Law2_L6Geom_FrictPhys_Linear
+
!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_ScGeom6D_NormalInelasticityPhys_NormalInelasticity
 
|-
 
!bgcolor="#ff0000" | Law2_ScGeom_CFpmPhys_CohesiveFrictionalPM
 
 
|-
 
|-
!bgcolor="#ff0000" | Law2_ScGeom_CpmPhys_Cpm
+
!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 50: Line 68:
 
!bgcolor="#ff0000" | Law2_ScGeom_MindlinPhys_MindlinDeresiewitz
 
!bgcolor="#ff0000" | Law2_ScGeom_MindlinPhys_MindlinDeresiewitz
 
|-
 
|-
!bgcolor="#ff0000" | Law2_ScGeom_ViscElPhys_Basic
+
!bgcolor="#ff0000" | Law2_ScGeom_BubblePhys_Bubble
 
|-
 
|-
!bgcolor="#ff0000" | Law2_SomeGeom_CpmPhys_Cpm
+
!bgcolor="#ff0000" | Law2_ScGeom_FrictViscoPhys_CundallStrackVisco
| A generic class for inheritance by more specialized functors (e.g.Law2_ScGeom_CpmPhys_Cpm). Not to be used in simulations.
 
|-
 
!bgcolor="#FFFF00" | A less stable law
 
|-
 
!bgcolor="#ff0000" | Experimental, unmaintained, or even broken law
 
|}
 
   
== Older tables (removed soon) ==
 
 
{|border="1"
 
! Class !! description !! interactionGeometry !! interactionPhysics !! used by and where
 
 
|-
 
|-
  +
! Non-ScGeom laws
! 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)
 
 
|-
 
|-
  +
| Law2_L3Geom_FrictPhys_ElPerfPl
! 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)
 
 
|-
 
|-
  +
| Law2_L6Geom_FrictPhys_Linear
! 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)
 
 
|-
 
|-
  +
| Law2_ScGridCoGeom_FrictPhys_CundallStrack
! 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)
 
 
|-
 
|-
  +
| Law2_ScGridCoGeom_CohFrictPhys_CundallStrack
! ElasticContactLaw2
 
| like ElasticContactLaw, but using geometry algorithms in SpheresContactGeometry instead of computing that in-place; demonstrative only || SpheresContactGeometry || ElasticContactInteraction || (eudoxos)
 
 
|-
 
|-
  +
| Law2_GridCoGridCoGeom_FrictPhys_CundallStrack
! ElasticCohesiveLaw (deprecated)
 
| inherited from SDEC, not used anywhere except SDECLinkedSpheres || SDECLinkGeometry || SDECLinkPhysics || to be removed (relies on persistentInteractions)?
 
 
|-
 
|-
  +
| Law2_TTetraSimpleGeom_NormPhys_Simple
! Spheres_Viscoelastic_SimpleViscoelasticContactLaw
 
| Linear spring−dashpot contact model || SpheresContactGeometry || ViscoelasticInteraction || (sega) for dynamic simulation
 
 
|-
 
|-
  +
| Law2_PolyhedraGeom_PolyhedraPhys_Volumetric
! 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
 
|-
 
! Ip2_CpmMat_CpmMat_CpmPhys
 
| from the Cpm family; elastic, damage, plasticity, viscosity properties || CpmMat || CpmPhys || (eudoxos)
 
|-
 
! SimpleElasticRelationships
 
| ... || ... || ... ||
 
|-
 
! SimpleViscoelasticRelationships
 
| From viscoelastic parameters of the pair bodies provides viscoelastic parameters of their interaction by the rule of consecutive connection. || SimpleViscoelasticBodyParameters || ViscoelasticInteraction || (sega)
 
|-
 
! RockJointLawRelationships
 
| Computes all the attributes of "RockJointPhys" used for application of RockJointLaw || CohesiveFrictionalBodyParameters || RockJointPhys || J. Duriez for SimpleShear
 
|-
 
! 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 !!
 
|-
 
! SpheresContactGeometry
 
| used almost everywhere in the DEM code, even for sphere-box contacts. ||
 
|-
 
! SDECLinkGeometry
 
| duplicated SpheresContactGeometry. (Should be removed)
 
|-
 
! ...
 
| .....
 
|}
 
 
== 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:

  1. Names of respective classes do not say much and it seems that lot of code is duplicated; should improve orientation in material models available
  2. 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