# CSMm 2.5.Constitutive Laws

From KratosWiki

(Difference between revisions)

(3 intermediate revisions by 2 users not shown) | |||

Line 1: | Line 1: | ||

+ | [[Category: CSMm 2.Structure]] | ||

[[Category: CSMm 2.5.Constitutive_Laws]] | [[Category: CSMm 2.5.Constitutive_Laws]] | ||

+ | |||

+ | For the moment one can use a simple elastic model or a more complex elasto-plastic model with a VonMisses yield criterion: | ||

+ | |||

+ | |||

+ | *'''Elastic model''' | ||

+ | |||

+ | |||

+ | <math>\boldsymbol{\sigma = D \cdot \epsilon} </math> | ||

+ | |||

+ | |||

+ | *'''Elasto-Plastic model:''' | ||

+ | |||

+ | |||

+ | It uses a '''Von Mises''' yield criterion: plastic yielding starts when the elastic energy stored in changes of shape reaches a critical value. | ||

+ | |||

+ | |||

+ | <!-- The following text is commented--> | ||

+ | |||

+ | <!-- | ||

The constitutive law class is a core class of kratos. Located in kratos/kratos/includes/constitutive_law.h. | The constitutive law class is a core class of kratos. Located in kratos/kratos/includes/constitutive_law.h. | ||

Line 9: | Line 29: | ||

Right now, the flags used are only local flags (options) for the computation of the material response. | Right now, the flags used are only local flags (options) for the computation of the material response. | ||

− | + | * '''Current Avaliable Flags:''' * | |

List of ''LOCAL'' flags, they will be used in the Parameters.mOptions: | List of ''LOCAL'' flags, they will be used in the Parameters.mOptions: | ||

Line 37: | Line 57: | ||

There is also a definition of the strain and stress measures that we are going to work with. | There is also a definition of the strain and stress measures that we are going to work with. | ||

− | + | * '''Strain and stress working measures:''' * | |

They are defined in to two '''''enum''''' arrays: | They are defined in to two '''''enum''''' arrays: | ||

− | + | * '''STRAIN MEASURES:''' * | |

'''StrainMeasure_Infinitesimal''', Infinitesimal strain measure related to small displacements | '''StrainMeasure_Infinitesimal''', Infinitesimal strain measure related to small displacements | ||

Line 56: | Line 76: | ||

'''StrainMeasure_Hencky_Spatial''', Hencky strain measure expressed in the current configuration | '''StrainMeasure_Hencky_Spatial''', Hencky strain measure expressed in the current configuration | ||

− | + | * '''STRESS MEASURES:''' * | |

'''StressMeasure_PK1''', First Piola-Kirchhoff stress related to the reference configuration non-symmetric | '''StressMeasure_PK1''', First Piola-Kirchhoff stress related to the reference configuration non-symmetric | ||

Line 74: | Line 94: | ||

{ | { | ||

− | + | * PARAMETER OPIONS: | |

'''mOptions''' flags for the current Constitutive Law Parameters (input data) | '''mOptions''' flags for the current Constitutive Law Parameters (input data) | ||

− | + | * KINEMATIC PARAMETERS: | |

'''mDeterminantF''' copy of the determinant of the Current DeformationGradient (although Current F is also included as a matrix) (input data) | '''mDeterminantF''' copy of the determinant of the Current DeformationGradient (although Current F is also included as a matrix) (input data) | ||

Line 85: | Line 105: | ||

− | + | ''--NOTE: Pointers are used only to point to a certain variable, no ''new'' or ''malloc'' can be used for this Parameters--'' | |

'''mpDeformationGradientF''' pointer to the current deformation gradient (can be an empty matrix if a linear strain measure is used) (input data) | '''mpDeformationGradientF''' pointer to the current deformation gradient (can be an empty matrix if a linear strain measure is used) (input data) | ||

Line 98: | Line 118: | ||

− | + | * GEOMETRIC PARAMETERS: | |

'''mpShapeFunctionsValues''' pointer to the shape functions values in the current integration point (input data) | '''mpShapeFunctionsValues''' pointer to the shape functions values in the current integration point (input data) | ||

Line 107: | Line 127: | ||

− | + | * MATERIAL PROPERTIES: | |

'''mpMaterialProperties''' pointer to the material Properties object (input data) | '''mpMaterialProperties''' pointer to the material Properties object (input data) | ||

− | + | * PROCESS PROPERTIES: | |

'''mpCurrentProcessInfo''' pointer to current ProcessInfo instance (input data) | '''mpCurrentProcessInfo''' pointer to current ProcessInfo instance (input data) | ||

Line 126: | Line 146: | ||

General Method to get the material response in a specific ''StressMeasure'': | General Method to get the material response in a specific ''StressMeasure'': | ||

− | '''CalculateMaterialResponse( ''Parameters&'' , ''StressMeasure'' )''' | + | '''CalculateMaterialResponse( ''Parameters&'' , ''StressMeasure'' )''' |

Specific Methods for the requested stress measures: | Specific Methods for the requested stress measures: | ||

− | '''CalculateMaterialResponsePK1( ''Parameters&'' )''' | + | '''CalculateMaterialResponsePK1( ''Parameters&'' )''' |

− | '''CalculateMaterialResponsePK2( ''Parameters&'' )''' | + | '''CalculateMaterialResponsePK2( ''Parameters&'' )''' |

− | '''CalculateMaterialResponseKirchhoff( ''Parameters&'' )''' | + | '''CalculateMaterialResponseKirchhoff( ''Parameters&'' )''' |

− | '''CalculateMaterialResponseCauchy( ''Parameters&'' )''' | + | '''CalculateMaterialResponseCauchy( ''Parameters&'' )''' |

Line 145: | Line 165: | ||

General Method to finalize the material response in a specific ''StressMeasure'': | General Method to finalize the material response in a specific ''StressMeasure'': | ||

− | '''FinalizeMaterialResponse( ''Parameters&'' , ''StressMeasure'' )''' | + | '''FinalizeMaterialResponse( ''Parameters&'' , ''StressMeasure'' )''' |

Specific Methods for the requested stress measures finalization: | Specific Methods for the requested stress measures finalization: | ||

− | '''FinalizeMaterialResponsePK1( ''Parameters&'' )''' | + | '''FinalizeMaterialResponsePK1( ''Parameters&'' )''' |

− | '''FinalizeMaterialResponsePK2( ''Parameters&'' )''' | + | '''FinalizeMaterialResponsePK2( ''Parameters&'' )''' |

− | '''FinalizeMaterialResponseKirchhoff( ''Parameters&'' )''' | + | '''FinalizeMaterialResponseKirchhoff( ''Parameters&'' )''' |

− | '''FinalizeMaterialResponseCauchy( ''Parameters&'' )''' | + | '''FinalizeMaterialResponseCauchy( ''Parameters&'' )''' |

--- to be continued | --- to be continued | ||

+ | |||

+ | --> |

## Latest revision as of 11:22, 3 October 2013

For the moment one can use a simple elastic model or a more complex elasto-plastic model with a VonMisses yield criterion:

**Elastic model**

**Elasto-Plastic model:**

It uses a **Von Mises** yield criterion: plastic yielding starts when the elastic energy stored in changes of shape reaches a critical value.