CSMm 2.5.Constitutive Laws

From KratosWiki
(Difference between revisions)
Jump to: navigation, search
Line 51: Line 51:
  
 
'''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
  
Line 63: Line 63:
  
 
'''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 ==
 +
 +
General Method to get the material response in a specific ''StressMeasure'':
 +
 +
'''CalculateMaterialResponse( ''Parameters&'' , ''StressMeasure'' )'''
 +
 +
 +
Specific Methods for the requested stress measure:
 +
 +
'''CalculateMaterialResponsePK1( ''Parameters&'' )'''
 +
 +
'''CalculateMaterialResponsePK2( ''Parameters&'' )'''
 +
 +
'''CalculateMaterialResponseKirchhoff( ''Parameters&'' )'''
 +
 +
'''CalculateMaterialResponseCauchy( ''Parameters&'' )'''
 +
 +
 +
 +
--- to be continued

Revision as of 12:09, 24 September 2013


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


ConstitutiveLaw derives from Flags

The flags that are in use right now are only used as options for the computation of the material response.

 Current Avaliable Flags:

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

COMPUTE_STRAIN

COMPUTE_STRESS

COMPUTE_CONSTITUTIVE_TENSOR

ISOCHORIC_TENSOR_ONLY

VOLUMETRIC_TENSOR_ONLY

TOTAL_TENSOR

INITIAL_CONFIGURATION

LAST_KNOWN_CONFIGURATION

FINAL_CONFIGURATION

FINALIZE_MATERIAL_RESPONSE

AXISYMMETRIC

 Strain and stress working measures:


They are defined in to two enum arrays:

 STRAIN MEASURES:

StrainMeasure_Infinitesimal, Infinitesimal strain measure related to small displacements

StrainMeasure_GreenLagrange, Green-Lagrange strain measure related to the reference configuration

StrainMeasure_Almansi, Almansi strain measure related to the current configuration

* true strain measures:

StrainMeasure_Hencky_Material, Hencky strain measure expressed in the reference configuration Italic text 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_PK2, Second Piola-Kirchhoff stress related to the reference configuration

StressMeasure_Kirchhoff, Kirchhoff 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

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

CalculateMaterialResponse( Parameters& , StressMeasure )


Specific Methods for the requested stress measure:

CalculateMaterialResponsePK1( Parameters& )

CalculateMaterialResponsePK2( Parameters& )

CalculateMaterialResponseKirchhoff( Parameters& )

CalculateMaterialResponseCauchy( Parameters& )


--- to be continued

Personal tools
Categories