CSMm 2.5.Constitutive Laws

From KratosWiki
(Difference between revisions)
Jump to: navigation, search
 
(10 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 7: Line 27:
 
== ConstitutiveLaw derives from Flags ==
 
== ConstitutiveLaw derives from Flags ==
  
The flags that are in use right now are only used as 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, in will be used in the Parameters.mOptions:
+
List of ''LOCAL'' flags, they will be used in the Parameters.mOptions:
  
 
'''COMPUTE_STRAIN'''
 
'''COMPUTE_STRAIN'''
Line 33: Line 53:
 
'''FINALIZE_MATERIAL_RESPONSE'''
 
'''FINALIZE_MATERIAL_RESPONSE'''
  
'''AXISYMMETRIC'''
 
  
  '''Strain and stress working measures:'''
+
 
 +
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:'''
+
* '''STRAIN MEASURES:''' *
  
 
'''StrainMeasure_Infinitesimal''', Infinitesimal strain measure related to small displacements
 
'''StrainMeasure_Infinitesimal''', Infinitesimal strain measure related to small displacements
Line 51: 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 72: 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 83: 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 96: 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 105: 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 118: 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