# Solid Mechanics Application Constitutive Laws

(Difference between revisions)
 Revision as of 12:29, 23 March 2016 (view source)Cpuigbo (Talk | contribs)← Older edit Revision as of 12:35, 23 March 2016 (view source)Cpuigbo (Talk | contribs) Newer edit → Line 93: Line 93: − {| class="wikitable" width="100%" style="text-align:left; background:#d0d9dd; border:0px solid #e1eaee; font-size:100%; -moz-border-radius-topleft:0px; -moz-border-radius-bottomleft:0px; padding:0px 0px 0px 0px;" valign="top" + {| class="wikitable" width="100%" style="text-align:center; background:#d0d9dd; border:0px solid #e1eaee; font-size:100%; -moz-border-radius-topleft:0px; -moz-border-radius-bottomleft:0px; padding:0px 0px 0px 0px;" valign="top" !Constitutive Law !Constitutive Law + !Dimension !Material Properties !Material Properties !Internal Variables !Internal Variables Line 101: Line 102: | rowspan="2" | LinearElastic3DLaw() | rowspan="2" | LinearElastic3DLaw() | YOUNG_MODULUS | YOUNG_MODULUS − | rowspan="2" | TotalLagrangian, + | rowspan="2" | 3 − UpdatedLagrangian, + | rowspan="2" | N/A − SmallDisplacements + | rowspan="2" | Finite Strains / Infinitessimal Strains |-style="background:#F1FAFF;" |-style="background:#F1FAFF;" | POISSON_RATIO | POISSON_RATIO |-style="background:#F1FAFF;" |-style="background:#F1FAFF;" − | N/A + |-style="background:#F1FAFF;" − + |-style="background:#F1FAFF;" |-style="background:#F1FAFF;" | rowspan="2" | HyperElastic3DLaw() | rowspan="2" | HyperElastic3DLaw() − | [[Young Modulus]] | YOUNG_MODULUS | YOUNG_MODULUS − | Total_Lagrangian and Linear Element + | rowspan="2" | 3 + | rowspan="2" | N/A + | rowspan="2" | Finite Strains |-style="background:#F1FAFF;" |-style="background:#F1FAFF;" − | [[Poisson Ratio]] | POISSON_RATIO | POISSON_RATIO − | Total_Lagrangian and Linear Element − |-style="background:#F1FAFF;" |-style="background:#F1FAFF;" |-style="background:#F1FAFF;" − | + |-style="background:#F1FAFF;" |} |}

## Constitutive Laws designed by the Solid Mechanics Application

The Constitutive Law located in the kratos base has a general usage explained in the next HowTo:

The constitutive law base class was designed basically to deal with the general requirements of continuum mechanics for solids.

## Definition

In the Solid Mechanics application the constitutive laws are classified as

1. Elastic
1. Plane Strain
2. Plane Stress
3. Axi-Symmetric
4. 3D
2. HyperElastic
1. Plane Strain
2. Plane Stress
3. Axi-Symmetric
4. 3D

Elastic laws correspond to Kirchooff-Saint Venant models usually perfoming the relationship between the 2ndPiola-Kirchhoff stress tensor and the Green-Lagrange strain tensor ( S = C:E ) for Finite Strains or the relationship between the Cauchy stress tensor and the infinitessimal strain tensor ( sigma = C:epsilon) for Infinitessimal Strains. The hyperelastic laws correspond to a simpler Neo-Hookean model which depends only in the Deformation Gradient tensor F, and it's determinant.

An extension to these models to plasticity is available and classified as

1. ElasticPlastic
1. Plane Strain
2. Plane Stress
3. Axi-Symmetric
4. 3D
2. HyperElasticPlastic
1. Plane Strain
2. Plane Stress
3. Axi-Symmetric
4. 3D

Models concerning to the characterization of the fracture in a continuous domain are classified as

1. Damage
1. Plane Strain
2. Plane Stress
3. Axi-Symmetric
4. 3D

The constitutive models and constitutive laws are mathematical formulas based on thermodynamic laws aimed to predict the behavior or the response of one or more materials.

The computation of internal variables and the mapping of tensor spaces are typical operations performed on them.

A general Constitutive Law is defined using different type of parameters

• 1. Material Properties (characteristics of each material, given by the experimental tests)
``` YOUNG_MODULUS
POISSON_COEFFITIENT
DENSITY
THERMAL_EXPANSION_COEFFICIENT
YIELD_STRESS
...
```
• 2. Internal Variables (which define behaviour given by the mathematical model)
``` EquivalentPlasticPotencial
EquivalentPlasticStrain
DamageVariable
...
```

In plasticity the model can be described with three different parts:

A yield criterion that defines the elastic region, the yield surface (where the plasticity occurs) and the impossible region for the stress state function.

A hardening law that defines the evolution of the yield surface in terms of hardening (increase of the elastic region) or softening (decrease of the elastic region)

A flow rule that solves the constitutive relationship integration the state function defined by the yield criterion and the hardening law.

These parts describe the evolution of the model properties and sets the resultant stress response given a strain state and taking in account the strain history.

Therefore to define a Plasticity model these three characteristics of a model need to be defined. In the Solid Mechanics Application is done by three different object classes that define the particularities of each part. Every plasticity law must define these parts, in a C++ code this corresponds to the definition of three member pointer variables that will be done in the constructor of each "plastic" constitutive law. For example:

```HyperElasticPlasticJ23DLaw()
{
mpHardeningLaw   = HardeningLaw::Pointer( new NonLinearIsotropicKinematicHardeningLaw() );
mpYieldCriterion = YieldCriterion::Pointer( new MisesHuberYieldCriterion(mpHardeningLaw) );
mpFlowRule       = FlowRule::Pointer( new LinearAssociativePlasticFlowRule(mpYieldCriterion) );
}
```

## List of Constiutive Laws for the Solid Mechanics Application

Constitutive Law Dimension Material Properties Internal Variables Type
LinearElastic3DLaw() YOUNG_MODULUS 3 N/A Finite Strains / Infinitessimal Strains
POISSON_RATIO
HyperElastic3DLaw() YOUNG_MODULUS 3 N/A Finite Strains
POISSON_RATIO