Difference between revisions of "Material Models"

From OSUPDOCS
Jump to navigation Jump to search
 
(217 intermediate revisions by 2 users not shown)
Line 1: Line 1:
Numerous material models are available in NairnMPM and '''OSUParticulas'''.
Numerous material models are available in [[NairnMPM]]. For those working with source code, you can [[Creating MPM Materials|create your own material types]].


== Define a Material ==
== Define a Material ==


<h3>Scripted Input Commands<h3>
You create materials using a [[Material Command Block|<tt>Material</tt> command block]]. Within that block all material properties are set using property commands. Refer to each material type to learn about its possible properties.


To use a material in calculations, you first must define it in the input commands. This definition will create a material ID (any string or number) that can be used to assign that material to particles. When using [[NairnFEAMPM]] or [[NairnFEAMPMViz]], a material is created with the command block:
== Linear Elastic Small Strain Materials ==
 
The materials in this section are all small-strain, linear elastic materials. They account for rotations by using a hypoelastic correction (using an approximate polar decomposition of the incremental deformation and done to second order in 2D and first order in 3D).


Material ID,name,type
{| class="wikitable"
    Property value
|-
    Property2 value
! Name !! ID !! Description !! P&sigma; !! P&epsilon; !! AS !! 3D
      .
|-
      .
| [[Isotropic Material|Isotropic]] || align="center"| 1 || width='300'|Linear elastic, isotropic
Done
| align="center"| X || align="center"| X || align="center"| X || align="center"| X
|-
| [[Transversely Isotropic Material|Transverse]] || align="center"| 2 || Linear elastic, transversely isotropic with unique axis in the z direction
| align="center"| X || align="center"| X || align="center"| X || align="center"| X
|-
| [[Orthotropic Material|Orthotropic]] || align="center"| 4 || Linear elastic, orthotopic material
| align="center"| X || align="center"| X || align="center"| X || align="center"| X
|-
| [[Bistable Isotropic Material|Bistable]] || align="center"| 10 || Elastic, isotropic material with two stable states having different properties
| align="center"| X || align="center"| X || align="center"| X ||
|}


where
The table columns on the right indicate if each material can be used in plane stress (P&sigma;), plane strain (P&epsilon;), axisymmetric (AS), or 3D calculations.


* <code>ID</code> is the material ID (any string or number) that is used to reference this material in other commands.
== Hyperelastic Materials ==
* <code>name</code> is a name that will appear in output files to describe the material
* <code>type</code> is the type of material, which can be set by material type name or number from the available [[#toc|material models]].


Each material property is specified on a line with a property name and its value. Refer to each [[#toc|material type]] to see the available properties and which ones are required properties. The property names are case sensitive (although [[NairnFEAMPM]] can usually handle any case).
The materials in this section are designed to solve finite strain (or large deformation) problems. They are formulated using hyperelasticity methods.


<h3>XML Input Comands<h3>
{| class="wikitable"
|-
! Name !! ID !! Description !! P&sigma; !! P&epsilon; !! AS !! 3D
|-
| [[Mooney Material|Mooney]] || align="center"| 8 || width='300'|Elastic, isotropic and Ideal Rubber Elasticity
| align="center"| X || align="center"| X || align="center"| X ||  align="center"| X
|-
| [[Neo-Hookean Material|Neohookean]] || align="center"| 28 || width='300'|Elastic and isotropic material
| align="center"| X || align="center"| X || align="center"| X ||  align="center"| X
|-
| [[Ideal Gas Material|IdealGas]] || align="center"| 22 || Ideal gas as a hyperelastic material
| align="center"|  || align="center"| X || align="center"| X ||  align="center"| X
|-
| [[Tait Liquid Material|TaitLiquid]] || align="center"| 27 || Newtonian liquid with Tait law for pressure dependence as a hyperelastic material
| align="center"|  || align="center"| X || align="center"| X ||  align="center"| X
|-
| [[JWLPlusPlus Material|JWLPlusPlus]] || align="center"| 22 || JWL++ Detonation Material
| align="center"|  || align="center"| X || align="center"| X ||  align="center"| X
|}


A material definition in a <code>XML</code> input file has the form:
The table columns on the right indicate if each material can be used in plane stress (P&sigma;), plane strain (P&epsilon;), axisymmetric (AS), with a 3D membrane (3M), or 3D calculations.


&lt;Material Type='1' Name='Polymer'&gt;
== Elastic-Plastic Small Strain Materials ==
    &lt;Property&gt;value&lt;/Property&gt;
    &lt;Property2&gt;value&lt;/Property2&gt;   
      .
      .
&lt;/Material&gt;


where
The materials in this section are all small-strain, elastic-plastic materials. They account for rotations by using a hypoelastic correction analagous to Jaumann Derivative methods. They handle plasticity by combining one of these materials with any compatible [[Hardening Laws|hardening law]].


* <code>Type</code> is the material type and must be entered by number corresponding to that [[#toc|material models]].
{| class="wikitable"
* <code>Name</code> is any user-defined description of the material.
|-
! Name !! ID !! Description !! P&sigma; !! P&epsilon; !! AS !! 3D
|-
| [[Isotropic, Elastic-Plastic Material|IsoPlasticity]] || align="center"| 9 || width='300'|Small-strain, isotropic, elastic-plastic material
| align="center"| X || align="center"| X || align="center"| X || align="center"| X
|-
| [[Anisotropic, Elastic-Plastic Material|HillPlastic]] || align="center"| 15 || Anisotropic, elastic-plastic material.
| align="center"| X || align="center"| X || align="center"| X || align="center"| X
|}


Each material property is specified in a single <code>XML</code> element matching the property name and the content of the element as the value. Refer to each [[#toc|material type]] to see the available properties and which ones are required properties.
The table columns on the right indicate if each material can be used in plane stress (P&sigma;), plane strain (P&epsilon;), axisymmetric (AS), or 3D calculations.


Note that in <code>XML</code> files a material does not have an ID that is use in scripting files to refer to that material in other commands. Instead, other <code>XML</code> commands refer to defined materials by number or name as follows:
== Hyperelastic-Plastic Materials ==


; By Numbers
The materials in this section are  formulated within the framework of hyper elasticity formulation. They can handle plasticity by combining them with any compatible [[Hardening Laws|hardening law]].
: In this method, you use <code>mat='#'</code> attributes to refer to materials where # is the material number. The materials are defined by numbers in the order they appear in the output file with the first material being number 1. You have to be careful to use the correct number. If you add new materials to a file, it is best to add them to the end of the materials list, otherwise previous commands that referenced materials after an inserted material, will point to the wrong material.
;By Name
: In this method, you use <code>matname='Mat_Name'</code> attributes where <code>'Mat_Name'</code> matches the <code>Name</code> attribute of any defined material in the file. You can use these names even before the materials are defined, but an error will occur if you reference materials that are never defined. When referring to materials by name, you must be certain that all material <code>Name</code> attributes have unique strings.


When referring to materials by name, the defined materials will appear in the output file in the ordered referenced rather than in the order defined in the input file. For this reason, you should not refer to some materials by name and others by number in the same file. The eventual ordering will likely mean the numbers will refer to the wrong material. The naming method is preferred in hand-edited <code>XML</code> files. If you use both <code>mat</code> and <code>matname</code> attributes in a single element, the <code>matname</code> attribute will be used and the <code>mat</code> will be ignored.
{| class="wikitable"
|-
! Name !! ID !! Description !! P&sigma; !! P&epsilon; !! AS !! 3D
|-
| [[Isotropic, Hyperelastic-Plastic Material|HEIsotropic]] || align="center"| 24 || width='300'|Isotropic, hyperelastic-plastic material
||  || align="center"| X || align="center"| X || align="center"| X
|-
| [[Isotropic, Hyperelastic-Plastic Mie-Gr&#252;neisen Material|HEMGEOSMaterial]] || align="center"| 25 || Isotropic, hyperelastic-plastic material using a Mie-Gr&#252;neisen equation of state.
||  || align="center"| X || align="center"| X || align="center"| X
|-
| [[Clamped Neo-Hookean Material|ClampedNeohookean]] || align="center"| 29 || width='300'|Isotropic, hyperelastic-plastic material with tensile and compression elongations clamped to critical values.
||  || align="center"| X || align="center"| X ||  align="center"| X
|}


== Linear Elastic Small Strain Materials ==
The table columns on the right indicate if each material can be used in plane stress (P&sigma;), plane strain (P&epsilon;), axisymmetric (AS), or 3D calculations.


== Hyperelastic Materials ==
== Softening Materials ==


== Elastic-Plastic Small Strain Materials ==
The materials in this section  will model material softening to emulate damage and fractures.
{| class="wikitable"
|-
! Name !! ID !! Description !! P&sigma; !! P&epsilon; !! AS !! 3D
|-
| [[Isotropic Softening Material|IsoSoftening]] || align="center"| 50 || Small-strain isotropic material with damage and softening
| align="center"| X || align="center"| X || align="center"| X || align="center"| X
|-
| [[Isotropic Plastic Softening Material|IsoPlasticSoftening]] || align="center"| 53 || Small-strain isotropic material that combines plasticity with damage and softening
| align="center"| X || align="center"| X || align="center"| X || align="center"| X
|-
| [[Transversely Isotropic Softening Material|TransIsoSoftening]] || align="center"| 51 || Small-strain transversely isotropic material with damage and softening and with unrotated axial direction in the z (or &theta; is axisymmetric) direction
|  || align="center"| X || align="center"| X || align="center"| X
|-
| [[Orthotropic Softening Material|OrthoSoftening]] || align="center"| 54 || Small-strain orthotropic material with damage and softening
|  || align="center"| X || align="center"| X || align="center"| X
|-
| [[Orthotropic Plastic Softening Material|OrthoPlasticSoftening]] || align="center"| 56 || Small-strain orthotropic material with damage, plasticity, and softening
|  || align="center"| X || align="center"| X || align="center"| X
|-
| [[Isotropic Phase Field Softening Material|IsoPhaseFieldSoftening]] || align="center"| 57 || Isotropic phase field material for variational fracture mechanics
| align="center"| X || align="center"| X || align="center"| X || align="center"| X
|-
| [[Isotropic Damage Mechanics|IsoDamageMechanics]] || align="center"| 58 || Isotropic material that damage by isotropic or scalar damage mechanics
| align="center"| X || align="center"| X || align="center"| X || align="center"| X
|}


== Hyperelastic-Plastic Materials ==
The table columns on the right indicate if each material can be used in plane stress (P&sigma;), plane strain (P&epsilon;), axisymmetric (AS), or 3D calculations. Softening materials model failure by particle undergoing decohesion. The particle remain in the simulations and will continue to open their implied cracks. Alternativelym failure particles can be removed with the [[DeleteDamaged Custom Task]].


== Viscoelastic Materials ==
== Viscoelastic Materials ==
The materials in this section are viscoelastic materials.
{| class="wikitable"
|-
! Name !! ID !! Description !! P&sigma; !! P&epsilon; !! AS !! 3D
|-
| [[Viscoelastic Material|Viscoelastic]] || align="center"| 7 || width='300'|Small-strain, linear viscoelastic material with sum of relaxation times
| align="center"| X || align="center"| X || align="center"| X || align="center"| X
|-
| [[Transversely Isotropic Viscoelastic Material|TIViscoelastic]] || align="center"| 5 || Small-strain transversely isotropic material for linear viscoelasticity with unrotated axial direction in the z (or &theta; is axisymmetric) direction
| align="center"| X || align="center"| X || align="center"| X || align="center"| X
|}
The table columns on the right indicate if each material can be used in plane stress (P&sigma;), plane strain (P&epsilon;), axisymmetric (AS), or 3D calculations.
== Phase Transition Materials ==
The materials in this section control phase transitions between two other materials.
{| class="wikitable"
|-
! Name !! ID !! Description !! P&sigma; !! P&epsilon; !! AS !! 3D
|-
| [[First Order Phase Transition Material|PhaseTransition]] || align="center"| 30 || width='300'|A first order phase transition between two materials
|  || align="center"| X || align="center"| X || align="center"| X
|}
The table columns on the right indicate if each material can be used in plane stress (P&sigma;), plane strain (P&epsilon;), axisymmetric (AS), or 3D calculations.
== Membrane Materials ==
The materials in this section  will model membranes using [[MPM Region and Hole Commands#Membrane Particles|lines of particles in 2D or planes of particles in 3D]]. Membranes are in development and only available in [[OSParticulas]]. They have been useful in some simulations. They are based in deformation within the membrane and likely do not model bending stiffness well. Further development is needed.
{| class="wikitable"
|-
! Name !! ID !! Description !! 2M !! 3M
|-
| [[Mooney Membrane Material|MooneyMembrane]] || align="center"| 40 || Membrane material based on a [[Mooney Material|Mooney-Rivlin material]] || align="center"| X  || align="center"|  X
|-
| [[Anisotropic, Hyperelastic Material|HEAnisotropic]] || align="center"| 21 || Anisotropic, hyperelastic material || align="center"| X  || align="center"|  X
|}
The table columns on the right indicate if each material can be used for a membrane in 2D calculations (2M) or in 3D calculations (3M).


== Rigid Materials ==
== Rigid Materials ==
Rigid materials can be used either to apply moving velocity, temperature, or concentration boundary conditions or to interact with non-rigid material by contact mechanics.
{| class="wikitable"
|-
! Name !! ID !! Description !! P&sigma; !! P&epsilon; !! AS !! 3D
|-
| [[Rigid Material|RigidBC]] || align="center"| 11 || width='300'|A rigid material that sets moving boundary conditions on the grid
| align="center"| X || align="center"| X || align="center"| X || align="center"| X
|-
| [[Rigid Material|RigidContact]] || align="center"| 35 || width='300'|A rigid material that that interacts with other materials by contact
| align="center"| X || align="center"| X || align="center"| X || align="center"| X
|-
| [[Rigid Block Material|RigidBlock]] || align="center"| 36 || width='300'|A rigid material that that interacts with other materials by contact and whose motion is driven by contact forces
| align="center"| X || align="center"| X || align="center"| X || align="center"| X
|}
The table columns on the right indicate if each material can be used in plane stress (P&sigma;), plane strain (P&epsilon;), axisymmetric (AS), or 3D calculations.
== Material Class Hierarchy ==
Materials are C++ classes. The following class hierarchy shows the orginzation of those C++ classes in the  [[NairnMPM]] source code. A material in green is an abstract class that is never assigned to particles. All others are material classes (by their name or their ID in parentheses). For those [[Creating MPM Materials|creating their own materials]], they must be inserted in this hierarchy using a unique name and ID:
* <font color="green">MaterialBase</font>
** <font color="green">Elastic</font>
*** [[Isotropic Material|Isotropic]] (1)
**** [[Isotropic, Elastic-Plastic Material|IsoPlasticity]] (9)
**** [[Bistable Isotropic Material|Bistable]] (10)
**** [[Isotropic Softening Material|IsoSoftening]] (50)
***** [[Isotropic Plastic Softening Material|IsoPlasticSoftening]] (53)
***** [[Isotropic Damage Mechanics|IsoDamageMechanics]] (58)
**** [[Isotropic Phase Field Softening Material|IsoPhaseFieldSoftening]] (57)
*** [[Transversely Isotropic Material|Transverse]] (2)
**** [[Orthotropic Material|Orthotropic]] (4)
***** <font color="green">AnisoPlasticity</font>
****** [[Anisotropic, Elastic-Plastic Material|HillPlastic]] (15)
**** [[Transversely Isotropic Softening Material|TransIsoSoftening]] (51)
***** [[Orthotropic Softening Material|OrthoSoftening]] (54)
****** [[Orthotropic Plastic Softening Material|OrthoPlasticSoftening]] (56)
**** [[Transversely Isotropic Viscoelastic Material|TIViscoelastic]] (5)
** <font color="green">HyperElastic</font>
*** [[Mooney Material|Mooney]] (8)
**** [[Mooney Membrane Material|MooneyMembrane]] (40)
*** [[Isotropic, Hyperelastic-Plastic Material|HEIsotropic]] (24)
**** [[Isotropic, Hyperelastic-Plastic Mie-Gr&#252;neisen Material|HEMGEOSMaterial]] (25)
**** [[Isotropic Electro-Deposition Material|IsoED]] (70)
*** [[Anisotropic, Hyperelastic Material|HEAnisotropic]] (21)
*** [[Ideal Gas Material|IdealGas]] (22)
*** [[Tait Liquid Material|TaitLiquid]] (27)
*** [[Neo-Hookean Material|Neohookean]] (28)
**** [[Clamped Neo-Hookean Material|ClampedNeohookean]] (29)
**** [[Reaction Phase Material|ReactionPhase]] (31)
*** [[JWLPlusPlus Material|JWLPlusPlus]] (32)
** [[Viscoelastic Material|Viscoelastic]] (7)
*** (See [[Transversely Isotropic Viscoelastic Material|TIViscoelastic]] (5) above)
** [[First Order Phase Transition Material|PhaseTransition]] (30)
** [[Rigid Material|Rigid]] (11)
*** [[Rigid Material|RigidContact]] (35)
*** [[Rigid Block Material|RigidBlock]] (36)
** <font color="green">TractionLaw</font>
*** [[Triangular Traction Law|TriangularTraction]] (12)
**** [[Exponential Traction Law|ExponentialTraction]] (34)
***** [[Trilinear Traction Law|TrilinearTraction]] (20)
****** [[Mixed Mode Traction Law|MixedModeTraction]] (33)
**** [[Coupled Traction Law|CoupledTraction]] (23)
**** [[Linear Traction Law|LinearTraction]] (14)
*** [[Cubic Traction Law|CubicTraction]] (14)
*** [[Pressure Traction Law|PressureTraction]] (26)
*** [[Cohesive Membrane Material|CohesiveMembrane]] (41)
** <font color="green">ContactLaw</font>
*** [[Ignore Contact Law|IgnoreContact]] (60)
**** [[Coulomb Friction Law|CoulombFriction]] (61)
***** [[Adhesive Friction Law| AdhesiveFriction]] (63)
***** [[Liquid Wall Contact Law| LiquidContact]] (64)
**** [[Linear Imperfect Interface|LinearInterface]] (62)
***** [[Nonlinear Imperfect Interface|NonlinearInterface]] (65)
****** [[Debonding Interface|DebondingInterface]]  (66)
== Material Class Ordered List ==
Here are the above material in numeric order by material ID:
* 1: [[Isotropic Material|Isotropic]]
* 2: [[Transversely Isotropic Material|Transverse]]
* 3: (reserved for deprecated transversely isotropic material)
* 4: [[Orthotropic Material|Orthotropic]]
* 5: [[Transversely Isotropic Viscoelastic Material|TIViscoelastic]]
* 6: (reserved for deprecated transversely isotropic viscoelastic material)
* 7: [[Viscoelastic Material|Viscoelastic]]
* 8: [[Mooney Material|Mooney]]
* 9: [[Isotropic, Elastic-Plastic Material|IsoPlasticity]]
* 10: [[Bistable Isotropic Material|Bistable]]
* 11: [[Rigid Material|Rigid]]
* 12: [[Triangular Traction Law|TriangularTraction]] (a [[Traction Laws|traction law material]])
* 13: [[Linear Traction Law|LinearTraction]] (a [[Traction Laws|traction law material]])
* 14: [[Cubic Traction Law|CubicTraction]] (a [[Traction Laws|traction law material]])
* 15: [[Anisotropic, Elastic-Plastic Material|HillPlastic]]
* 20: [[Trilinear Traction Law|TrilinearTraction]] (a [[Traction Laws|traction law material]])
* 21: [[Anisotropic, Hyperelastic Material|HEAnisotropic]]
* 22: [[Ideal Gas Material|IdealGas]]
* 23: [[Coupled Traction Law|CoupledTraction]] (a [[Traction Laws|traction law material]])
* 24: [[Isotropic, Hyperelastic-Plastic Material|HEIsotropic]]
* 25: [[Isotropic, Hyperelastic-Plastic Mie-Gr&#252;neisen Material|HEMGEOSMaterial]]
* 26: [[Pressure Traction Law|PressureTraction]] (a [[Traction Laws|traction law material]])
* 27: [[Tait Liquid Material|TaitLiquid]]
* 28: [[Neo-Hookean Material|Neohookean]]
* 29: [[Clamped Neo-Hookean Material|ClampedNeohookean]]
* 30: [[First Order Phase Transition Material|PhaseTransition]]
* 31: [[Reaction Phase Material|ReactionPhase]]
* 32: [[JWLPlusPlus Material|JWLPlusPlus]]
* 33: [[Mixed Mode Traction Law|MixedModeTraction]]
* 34: [[Exponential Traction Law|ExponentialTraction]]
* 35: [[Rigid Material|RigidContact]]
* 36: [[Rigid Block Material|RigidBlock]]
* 40: [[Mooney Membrane Material|MooneyMembrane]]
* 41: [[Cohesive Membrane Material|CohesiveMembrane]]
* 50: [[Isotropic Softening Material|IsoSoftening]]
* 51: [[Transversely Isotropic Softening Material|TransIsoSoftening]]
* 52: (reserved for deprecated transversely isotropic softening material)
* 53: [[Isotropic Plastic Softening Material|IsoPlasticSoftening]]
* 54: [[Orthotropic Softening Material|OrthoSoftening]]
* 55: [[Isotropic Plastic Interface|IsoPlasticInterface]]
* 56: [[Orthotropic Plastic Softening Material|OrthoPlasticSoftening]]
* 57: [[Isotropic Phase Field Softening Material|IsoPhaseFieldSoftening]]
* 58: [[Isotropic Damage Mechanics|IsoDamageMechanics]]
* 60: [[Ignore Contact Law|IgnoreContact]] (a [[Contact Laws|contact law material]])
* 61: [[Coulomb Friction Law|CoulombFriction]] (a [[Contact Laws|contact law material]])
* 63: [[Adhesive Friction Law| AdhesiveFriction]] (a [[Contact Laws|contact law material]])
* 64: [[Liquid Wall Contact Law| LiquidContact]] (a [[Contact Laws|contact law material]])
* 62: [[Linear Imperfect Interface|LinearInterface]] (a [[Contact Laws|contact law material]])
* 65: [[Nonlinear Imperfect Interface|NonlinearInterface]] (a [[Contact Laws|contact law material]])
* 66: [[Debonding Interface|DebondingInterface]]  (a [[Contact Laws|contact law material]])
* 70: [[Isotropic Electro-Deposition Material|IsoED]]

Latest revision as of 17:13, 19 June 2024

Numerous material models are available in NairnMPM. For those working with source code, you can create your own material types.

Define a Material

You create materials using a Material command block. Within that block all material properties are set using property commands. Refer to each material type to learn about its possible properties.

Linear Elastic Small Strain Materials

The materials in this section are all small-strain, linear elastic materials. They account for rotations by using a hypoelastic correction (using an approximate polar decomposition of the incremental deformation and done to second order in 2D and first order in 3D).

Name ID Description AS 3D
Isotropic 1 Linear elastic, isotropic X X X X
Transverse 2 Linear elastic, transversely isotropic with unique axis in the z direction X X X X
Orthotropic 4 Linear elastic, orthotopic material X X X X
Bistable 10 Elastic, isotropic material with two stable states having different properties X X X

The table columns on the right indicate if each material can be used in plane stress (Pσ), plane strain (Pε), axisymmetric (AS), or 3D calculations.

Hyperelastic Materials

The materials in this section are designed to solve finite strain (or large deformation) problems. They are formulated using hyperelasticity methods.

Name ID Description AS 3D
Mooney 8 Elastic, isotropic and Ideal Rubber Elasticity X X X X
Neohookean 28 Elastic and isotropic material X X X X
IdealGas 22 Ideal gas as a hyperelastic material X X X
TaitLiquid 27 Newtonian liquid with Tait law for pressure dependence as a hyperelastic material X X X
JWLPlusPlus 22 JWL++ Detonation Material X X X

The table columns on the right indicate if each material can be used in plane stress (Pσ), plane strain (Pε), axisymmetric (AS), with a 3D membrane (3M), or 3D calculations.

Elastic-Plastic Small Strain Materials

The materials in this section are all small-strain, elastic-plastic materials. They account for rotations by using a hypoelastic correction analagous to Jaumann Derivative methods. They handle plasticity by combining one of these materials with any compatible hardening law.

Name ID Description AS 3D
IsoPlasticity 9 Small-strain, isotropic, elastic-plastic material X X X X
HillPlastic 15 Anisotropic, elastic-plastic material. X X X X

The table columns on the right indicate if each material can be used in plane stress (Pσ), plane strain (Pε), axisymmetric (AS), or 3D calculations.

Hyperelastic-Plastic Materials

The materials in this section are formulated within the framework of hyper elasticity formulation. They can handle plasticity by combining them with any compatible hardening law.

Name ID Description AS 3D
HEIsotropic 24 Isotropic, hyperelastic-plastic material X X X
HEMGEOSMaterial 25 Isotropic, hyperelastic-plastic material using a Mie-Grüneisen equation of state. X X X
ClampedNeohookean 29 Isotropic, hyperelastic-plastic material with tensile and compression elongations clamped to critical values. X X X

The table columns on the right indicate if each material can be used in plane stress (Pσ), plane strain (Pε), axisymmetric (AS), or 3D calculations.

Softening Materials

The materials in this section will model material softening to emulate damage and fractures.

Name ID Description AS 3D
IsoSoftening 50 Small-strain isotropic material with damage and softening X X X X
IsoPlasticSoftening 53 Small-strain isotropic material that combines plasticity with damage and softening X X X X
TransIsoSoftening 51 Small-strain transversely isotropic material with damage and softening and with unrotated axial direction in the z (or θ is axisymmetric) direction X X X
OrthoSoftening 54 Small-strain orthotropic material with damage and softening X X X
OrthoPlasticSoftening 56 Small-strain orthotropic material with damage, plasticity, and softening X X X
IsoPhaseFieldSoftening 57 Isotropic phase field material for variational fracture mechanics X X X X
IsoDamageMechanics 58 Isotropic material that damage by isotropic or scalar damage mechanics X X X X

The table columns on the right indicate if each material can be used in plane stress (Pσ), plane strain (Pε), axisymmetric (AS), or 3D calculations. Softening materials model failure by particle undergoing decohesion. The particle remain in the simulations and will continue to open their implied cracks. Alternativelym failure particles can be removed with the DeleteDamaged Custom Task.

Viscoelastic Materials

The materials in this section are viscoelastic materials.

Name ID Description AS 3D
Viscoelastic 7 Small-strain, linear viscoelastic material with sum of relaxation times X X X X
TIViscoelastic 5 Small-strain transversely isotropic material for linear viscoelasticity with unrotated axial direction in the z (or θ is axisymmetric) direction X X X X

The table columns on the right indicate if each material can be used in plane stress (Pσ), plane strain (Pε), axisymmetric (AS), or 3D calculations.

Phase Transition Materials

The materials in this section control phase transitions between two other materials.

Name ID Description AS 3D
PhaseTransition 30 A first order phase transition between two materials X X X

The table columns on the right indicate if each material can be used in plane stress (Pσ), plane strain (Pε), axisymmetric (AS), or 3D calculations.

Membrane Materials

The materials in this section will model membranes using lines of particles in 2D or planes of particles in 3D. Membranes are in development and only available in OSParticulas. They have been useful in some simulations. They are based in deformation within the membrane and likely do not model bending stiffness well. Further development is needed.

Name ID Description 2M 3M
MooneyMembrane 40 Membrane material based on a Mooney-Rivlin material X X
HEAnisotropic 21 Anisotropic, hyperelastic material X X

The table columns on the right indicate if each material can be used for a membrane in 2D calculations (2M) or in 3D calculations (3M).

Rigid Materials

Rigid materials can be used either to apply moving velocity, temperature, or concentration boundary conditions or to interact with non-rigid material by contact mechanics.

Name ID Description AS 3D
RigidBC 11 A rigid material that sets moving boundary conditions on the grid X X X X
RigidContact 35 A rigid material that that interacts with other materials by contact X X X X
RigidBlock 36 A rigid material that that interacts with other materials by contact and whose motion is driven by contact forces X X X X

The table columns on the right indicate if each material can be used in plane stress (Pσ), plane strain (Pε), axisymmetric (AS), or 3D calculations.

Material Class Hierarchy

Materials are C++ classes. The following class hierarchy shows the orginzation of those C++ classes in the NairnMPM source code. A material in green is an abstract class that is never assigned to particles. All others are material classes (by their name or their ID in parentheses). For those creating their own materials, they must be inserted in this hierarchy using a unique name and ID:

Material Class Ordered List

Here are the above material in numeric order by material ID: