Difference between revisions of "Material Models"

From OSUPDOCS
Jump to navigation Jump to search
Line 113: Line 113:


== Hyperelastic-Plastic Materials ==
== Hyperelastic-Plastic Materials ==
== Elastic-Plastic Small Strain Materials ==
The materials in this section are all small-strain, elastic-plastic materials materials. They account for rotations by using a hypoelastic correction based on the [[Jaumann Derivative|Jaumann Derivative]]. They handle plasticity by combining one of these materials with any compatible [[hardening law|Hardening Laws]].
{| class="wikitable"
|-
! Name !! ID !! Description !! Pσ !! Pε !! 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üneisen Material|HEMGEOSMaterial]] || align="center"| 25 || Isotropic, hyperelastic-plastic material using a Mie-Grüneisen equation of state.
|  || align="center"| X || align="center"| X || align="center"| X
|-
| [[Anisotropic, Hyperelastic-Plastic Material|HEAnisotropic]] || align="center"| 21 || Anisotropic, hyperelastic-plastic material
|  || 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σ), plane strain (Pε), axisymmetric (AS), or 3D calculations.


== Viscoelastic Materials ==
== Viscoelastic Materials ==

Revision as of 09:32, 1 April 2013

Numerous material models are available in NairnMPM and OSUParticulas.

Define a Material

Scripted Input Commands

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:

Material ID,name,type
   Property value
   Property2 value
      .
      .
Done

where

  • ID is the material ID (any string or number) that is used to reference this material in other commands.
  • name is a name that will appear in output files to describe the material
  • type is the type of material, which can be set by using material type name or material type ID from the available material models (see material tables on this page for each material's name and ID)

Each material property is specified on a line with a property name and its value. Refer to each 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).

XML Input Commands

A material definition in a XML input file has the form:

<Material Type='1' Name='Polymer'>
   <Property>value</Property>
   <Property2>value</Property2>     
      .
      .
</Material>

where

  • Type is the material type and must be entered by material type ID corresponding to that material models (see material tables on this page for each material's ID).
  • Name is any user-defined description of the material.

Each material property is specified in a single XML element matching the property name and the content of the element as the value. Refer to each material type to see the available properties and which ones are required properties.

Note that in XML files a material does not have an ID that is used in scripting files to refer to that material in other commands. Instead, other XML commands refer to defined materials by number or name as follows:

By Numbers
In this method, you use mat='#' 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 matname='Mat_Name' attributes where 'Mat_Name' matches the Name 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 Name 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 XML files. If you use both mat and matname attributes in a single element, the matname attribute will be used and the mat will be ignored.

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 based on the Jaumann Derivative.

Name ID Description AS 3D
Isotropic 1 Linear elastic, isotropic X X X X
Transverse 1 2 Linear elastic, transversely isotropic with unique axis in the z direction X X X X
Transverse 2 3 Linear elastic, transversely isotropic with unique axis in the y 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 all large-strain, elastic materials. They account for rotations based on hyperelastic formulation.

Name ID Description AS 3D
Mooney 8 Elastic, isotropic and Ideal Rubber Elasticity X X X X
IdealGas 22 Ideal gas as hyperelastic 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), or 3D calculations.

Elastic-Plastic Small Strain Materials

The materials in this section are all small-strain, elastic-plastic materials materials. They account for rotations by using a hypoelastic correction based on the Jaumann Derivative. They handle plasticity by combining one of these materials with any compatible Hardening Laws.

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
HEAnisotropic 21 Anisotropic, hyperelastic-plastic 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), or 3D calculations.

Hyperelastic-Plastic Materials

Elastic-Plastic Small Strain Materials

The materials in this section are all small-strain, elastic-plastic materials materials. They account for rotations by using a hypoelastic correction based on the Jaumann Derivative. They handle plasticity by combining one of these materials with any compatible Hardening Laws.

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
HEAnisotropic 21 Anisotropic, hyperelastic-plastic 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), or 3D calculations.

Viscoelastic Materials

Rigid Materials

Material Class Hierarchy

Materials are C++ classes. The following class hierarchy shows the orginzation of those C++ classes in NairnMPM and OSParticulas. A material in green) is an abstract class that is never assigned to particles. All other are material classes (by their name and their ID in parentheses):