CSMm 2.5.Constitutive Laws

From KratosWiki
(Difference between revisions)
Jump to: navigation, search
 
(11 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 54: 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:'''
+
* '''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 63: Line 85:
  
 
'''StressMeasure_Cauchy''', Cauchy stress related to the current configuration
 
'''StressMeasure_Cauchy''', Cauchy stress related to the current configuration
 +
 +
 +
== Constitutive law parameters Struct ==
 +
 +
 +
Structure '''''Parameters''''' is used by the element to pass the parameters into the constitutive law:
 +
 +
{
 +
 +
* PARAMETER OPIONS:
 +
 +
'''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)
 +
 +
'''mDeterminantF0''' copy of the determinant of the Total DeformationGradient  (although Total F0 is also included as a matrix) (input data)
 +
 +
 +
''--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)
 +
 +
'''mpDeformationGradientF0''' pointer to the total deformation gradient  (can be an empty matrix if a linear strain measure is used) (input data)
 +
 +
'''mpStrainVector''' pointer to the current strains (total strains) (input data) (can be also an output with COMPUTE_STRAIN flag)
 +
 +
'''mpStressVector''' pointer to the current stresses (output with COMPUTE_STRESS flag)
 +
 +
'''mpConstitutiveMatrix''' pointer to the material tangent matrix (output with COMPUTE_CONSTITUTIVE_TENSOR flag)
 +
 +
 +
* GEOMETRIC PARAMETERS:
 +
 +
'''mpShapeFunctionsValues''' pointer to the shape functions values in the current integration point (input data)
 +
 +
'''mpShapeFunctionsDerivatives''' pointer to the shape functions derivaties values in the current integration point (input data)
 +
 +
'''mpElementGeometry''' pointer to the element's geometry (input data)
 +
 +
 +
* MATERIAL PROPERTIES:
 +
 +
'''mpMaterialProperties''' pointer to the material Properties object (input data)
 +
 +
 +
* PROCESS PROPERTIES:
 +
 +
'''mpCurrentProcessInfo''' pointer to current ProcessInfo instance (input data)
 +
 +
}
 +
 +
 +
== 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'':
 +
 +
'''CalculateMaterialResponse( ''Parameters&'' , ''StressMeasure'' )'''
 +
 +
 +
Specific Methods for the requested stress measures:
 +
 +
'''CalculateMaterialResponsePK1( ''Parameters&'' )'''
 +
 +
'''CalculateMaterialResponsePK2( ''Parameters&'' )'''
 +
 +
'''CalculateMaterialResponseKirchhoff( ''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
 +
 +
-->

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