CSMm 2.5.Constitutive Laws

From KratosWiki
(Difference between revisions)
Jump to: navigation, search
 
(6 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:'''
+
* '''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 33: Line 53:
 
'''FINALIZE_MATERIAL_RESPONSE'''
 
'''FINALIZE_MATERIAL_RESPONSE'''
  
'''AXISYMMETRIC'''
 
  
  
 
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:'''
+
* '''Strain and stress working measures:''' *
  
  
 
They are defined in to two '''''enum''''' arrays:
 
They are defined in to two '''''enum''''' arrays:
  
  '''STRAIN MEASURES:'''
+
* '''STRAIN MEASURES:''' *
  
 
'''StrainMeasure_Infinitesimal''', Infinitesimal strain measure related to small displacements
 
'''StrainMeasure_Infinitesimal''', Infinitesimal strain measure related to small displacements
Line 54: Line 73:
  
 
'''StrainMeasure_Hencky_Material''', Hencky strain measure expressed in the reference configuration
 
'''StrainMeasure_Hencky_Material''', Hencky strain measure expressed in the reference configuration
''Italic text''
+
 
 
'''StrainMeasure_Hencky_Spatial''',  Hencky strain measure expressed in the current configuration
 
'''StrainMeasure_Hencky_Spatial''',  Hencky strain measure expressed in the current configuration
  
  '''STRESS MEASURES:'''
+
* '''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 75: Line 94:
 
{
 
{
  
  PARAMETER OPIONS:
+
* PARAMETER OPIONS:
  
 
'''mOptions''' flags for the current Constitutive Law Parameters (input data)
 
'''mOptions''' flags for the current Constitutive Law Parameters (input data)
  
  KINEMATIC PARAMETERS:
+
* 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 86: Line 105:
  
  
NOTE: Pointers are used only to point to a certain variable, no ''new'' or ''malloc'' can be used for this Parameters
+
''--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 99: Line 118:
  
  
  GEOMETRIC PARAMETERS:
+
* 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 108: Line 127:
  
  
  MATERIAL PROPERTIES:
+
* MATERIAL PROPERTIES:
  
 
'''mpMaterialProperties''' pointer to the material Properties object (input data)
 
'''mpMaterialProperties''' pointer to the material Properties object (input data)
  
  
  PROCESS PROPERTIES:
+
* PROCESS PROPERTIES:
  
 
'''mpCurrentProcessInfo''' pointer to current ProcessInfo instance (input data)
 
'''mpCurrentProcessInfo''' pointer to current ProcessInfo instance (input data)
Line 121: Line 140:
  
 
== ConstitutiveLaw Methods ==
 
== ConstitutiveLaw Methods ==
 +
 +
The constitutive law is evaluated at integration point level. The '''struct ''Parameters''''' must be set and passed to the constitutive law for the material response calculation.
 +
  
 
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 measure:  
+
Specific Methods for the requested stress measures:  
  
'''CalculateMaterialResponsePK1( ''Parameters&'' )'''
+
'''CalculateMaterialResponsePK1( ''Parameters&'' )'''
  
'''CalculateMaterialResponsePK2( ''Parameters&'' )'''
+
'''CalculateMaterialResponsePK2( ''Parameters&'' )'''
  
'''CalculateMaterialResponseKirchhoff( ''Parameters&'' )'''
+
'''CalculateMaterialResponseKirchhoff( ''Parameters&'' )'''
  
'''CalculateMaterialResponseCauchy( ''Parameters&'' )'''
+
'''CalculateMaterialResponseCauchy( ''Parameters&'' )'''
  
  
 +
----
 +
 +
 +
General Method to finalize the material response in a specific ''StressMeasure'':
 +
 +
'''FinalizeMaterialResponse( ''Parameters&'' , ''StressMeasure'' )'''
 +
 +
 +
Specific Methods for the requested stress measures finalization:
 +
 +
'''FinalizeMaterialResponsePK1( ''Parameters&'' )'''
 +
 +
'''FinalizeMaterialResponsePK2( ''Parameters&'' )'''
 +
 +
'''FinalizeMaterialResponseKirchhoff( ''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


\boldsymbol{\sigma = D \cdot \epsilon}


  • 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.



Personal tools
Categories