hp2FEM
0.1
|
Class used to compute the strain measures. More...
#include <GradientMeasure.h>
Public Member Functions | |
GradientMeasure () | |
Default constructor. | |
GradientMeasure (GradientMeasure &Instance) | |
Copy-initializer constructor. | |
~GradientMeasure () | |
Destructor. | |
void | GetDeformationGradientTensor (double *Jinit, double *detJinit, double *Jcurr, unsigned long Dimension, unsigned long IntPoint, Matrix &F) |
Computes the deformation gradient tensor. | |
void | GetDisplacementGradientTensor (FiniteFormulation_E FiniteFormulation, unsigned long Dimension, Matrix &F, Matrix &gradU) |
Computes the displacement gradient tensor. | |
void | GetStrainTensor (StrainMeasure_E StrainMeasure, ProblemType_E ProblemType, Material &Mater, Matrix &F, SymmetricMatrix &E, double *Ev, double r=0.0, double ur=0.0) |
Calculates the strain tensor for the given strain measure and deformation gradient tensor calculated on ain integration point. | |
void | GetLinearBMatrix (ProblemType_E ProblemType, unsigned long Dimension, unsigned long NumberSF, double *Jacob, double *detJ, double *dShapeFunctions, double *ShapeFunctions, double *Xe, unsigned long IntPoint, Matrix &BMatrix, double r=0.0) |
Computes the element linear deformation matrix B on an integration point. | |
void | GetNonLinearBMatrix (ProblemType_E ProblemType, FiniteFormulation_E FiniteFormulation, unsigned long Dimension, unsigned long NumberSF, double *Jacob, double *detJ, double *dShapeFunctions, double *ShapeFunctions, double *Xe, Matrix &DisplacementGradTensor, unsigned long IntPoint, Matrix &BMatrix, Matrix &ISBMatrix, double r=0.0, double ur=0.0) |
Computes the non-linear element deformation matrix. | |
void | GetGVector (ProblemType_E ProblemType, double *Strain, Matrix &NLBMatrix, Vector &dJdE, Vector &GVector) |
| |
void | GetAllNonlinearGradientMeasures (ProblemType_E ProblemType, StrainMeasure_E StrainMeasure, unsigned long NumIntPoints, double *dShapeFunctions, unsigned long NumberSF, double *Jinit, double *detJinit, double *Jcurr, Matrix &F, Matrix &gradU, Vector &Ev, Matrix &NLBMatrix, Matrix &ISBMatrix, unsigned long &VectorOrder, unsigned long &TensorOrder) |
| |
Protected Member Functions | |
void | GetGreenLagrangeStrainTensor (ProblemType_E ProblemType, Matrix &F, Material &Mater, SymmetricMatrix &E, double *Ev=NULL, double r=0.0, double ur=0.0) |
Computes the Green-Lagrange strain tensor on an integration point. | |
void | GetAlmansiHamelStrainTensor (ProblemType_E ProblemType, Matrix &F, Material &Mat, SymmetricMatrix &E, double *Ev=NULL) |
Compute the Almansi-Hamel strain tensor on an integration point. | |
void | GetInfinitesimalStrainTensor (ProblemType_E ProblemType, Matrix &F, SymmetricMatrix &E, double *Ev=NULL) |
Returns the infinitesimal strain tensor. |
Class used to compute the strain measures.
GradientMeasure::GradientMeasure | ( | GradientMeasure & | Instance | ) |
Copy-initializer constructor.
[in] | Instance | - object of type GradientMeasure |
void GradientMeasure::GetAlmansiHamelStrainTensor | ( | ProblemType_E | ProblemType, |
Matrix & | F, | ||
Material & | Mat, | ||
SymmetricMatrix & | E, | ||
double * | Ev = NULL |
||
) | [protected] |
Compute the Almansi-Hamel strain tensor on an integration point.
[in] | ProblemType | - problem type (plan strain, plane stress, etc) |
[in] | F | - deformation gradient tensor calculated on an integration point. |
[in] | Mat | - instance of material class |
[out] | E | - strain measure tensor |
[out] | Ev | - strain maesuare tensor stored as a double array |
void GradientMeasure::GetDeformationGradientTensor | ( | double * | Jinit, |
double * | detJinit, | ||
double * | Jcurr, | ||
unsigned long | Dimension, | ||
unsigned long | IntPoint, | ||
Matrix & | F | ||
) |
Computes the deformation gradient tensor.
[in] | Jinit | - Jacobian matrix of the initial configuration. |
[in] | Jcurr | - Jacobian matrix of the current configuration. |
[in] | Dimension | - Dimension of the element (1,2,3). |
[out] | F | - deformation gradient tensor calculated on an integration point. |
void GradientMeasure::GetDisplacementGradientTensor | ( | FiniteFormulation_E | FiniteFormulation, |
unsigned long | Dimension, | ||
Matrix & | F, | ||
Matrix & | gradU | ||
) |
Computes the displacement gradient tensor.
[in] | FiniteFormulation | - Formulation used to calculate B (Total Lagrangian, Updated Lagrangian, Eulerian). |
[in] | Dimension | - Dimension of the element (1,2,3). |
[in] | F | - deformation gradient tensor calculated on an integration point. |
[out] | gradU | - displacment gradient tensor calculated on an integration point. |
void GradientMeasure::GetGreenLagrangeStrainTensor | ( | ProblemType_E | ProblemType, |
Matrix & | F, | ||
Material & | Mater, | ||
SymmetricMatrix & | E, | ||
double * | Ev = NULL , |
||
double | r = 0.0 , |
||
double | ur = 0.0 |
||
) | [protected] |
Computes the Green-Lagrange strain tensor on an integration point.
[in] | ProblemType | - problem type (plan strain, plane stress, etc) |
[in] | F | - deformation gradient tensor calculated on an integration point. |
[in] | Mater | - instance of material class |
[out] | E | - strain maesuare tensor |
[out] | Ev | - strain maesuare tensor stored as a double array |
[in] | r | - interpolated radial coordinate for axisymmetric analysis. |
[in] | ur | - interpolated radial displacement for axisymmetric analysis. |
void GradientMeasure::GetGVector | ( | ProblemType_E | ProblemType, |
double * | Strain, | ||
Matrix & | NLBMatrix, | ||
Vector & | dJdE, | ||
Vector & | GVector | ||
) |
[in] | ProblemType | - The type of problem being solved. |
[in] | Strain | - Current strain at the integration point. |
[in] | Mater | - Instance for the material class. |
[in] | NLBMatrix | - Deformation matrix. |
[in] | dJdE | - Third material invariant derivatives with respect to the second Piola-Kirchhoff stress tensor. |
[out] | GVector |
void GradientMeasure::GetInfinitesimalStrainTensor | ( | ProblemType_E | ProblemType, |
Matrix & | F, | ||
SymmetricMatrix & | E, | ||
double * | Ev = NULL |
||
) | [protected] |
Returns the infinitesimal strain tensor.
[in] | ProblemType | - problem type (plan strain, plane stress, etc) |
[in] | F | - deformation gradient tensor calculated on an integration point. |
[out] | E | - strain measure tensor |
[out] | Ev | - strain maesuare tensor stored as a double array |
void GradientMeasure::GetLinearBMatrix | ( | ProblemType_E | ProblemType, |
unsigned long | Dimension, | ||
unsigned long | NumberSF, | ||
double * | Jacob, | ||
double * | detJ, | ||
double * | dShapeFunctions, | ||
double * | ShapeFunctions, | ||
double * | Xe, | ||
unsigned long | IntPoint, | ||
Matrix & | BMatrix, | ||
double | r = 0.0 |
||
) |
Computes the element linear deformation matrix B on an integration point.
[in] | ProblemType | - problem type (plan strain, plane stress, etc) |
[in] | Dimension | - dimension of the element (1, 2, 3) |
[in] | NumberSF | - Number of shape functions. |
[in] | Jacob | - Element Jacobian. |
[in] | dShapeFunctions | - double array with the values of the shape function derivatives on the integration point. |
[in] | ShapeFunctions | - double array with the values of the shape function on the integration point. |
[in] | Xe | - double array with the element coordinates. |
[out] | BMatrix | - deformation matrix. |
[in] r - interpolated radial coordinate for axisymmetric analysis.
void GradientMeasure::GetNonLinearBMatrix | ( | ProblemType_E | ProblemType, |
FiniteFormulation_E | FiniteFormulation, | ||
unsigned long | Dimension, | ||
unsigned long | NumberSF, | ||
double * | Jacob, | ||
double * | detJ, | ||
double * | dShapeFunctions, | ||
double * | ShapeFunctions, | ||
double * | Xe, | ||
Matrix & | DisplacementGradTensor, | ||
unsigned long | IntPoint, | ||
Matrix & | BMatrix, | ||
Matrix & | ISBMatrix, | ||
double | r = 0.0 , |
||
double | ur = 0.0 |
||
) |
Computes the non-linear element deformation matrix.
Computes the element linear deformation matrix B on an integration point.
[in] | ProblemType | - problem type (plan strain, plane stress, etc). |
[in] | FiniteFormulation | - formulation used to calculate B (total Lagrangian, Eulerian, Lagrangian). |
[in] | Dimension | - dimension of the element (1, 2, 3). |
[in] | NumberSF | - Number of shape functions. |
[in] | Jacob | - Element Jacobian. |
[in] | ShapeFunctions | - double array with the values of the shape function derivatives on the integration point. |
[in] | dShapeFunctions | - double array with the values of the shape function on the integration point. |
[in] | Xe | - double array with the element coordinates. |
[in] | DisplacementGradTensor | - Displacement gradient tensor calculates at the integration point. |
[out] | BMatrix | - deformation matrix. |
[in] | r | - interpolated radial coordinate for axisymmetric analysis. |
[in] | ur | - interpolated radial displacement for axisymmetric analysis. |
void GradientMeasure::GetStrainTensor | ( | StrainMeasure_E | StrainMeasure, |
ProblemType_E | ProblemType, | ||
Material & | Mater, | ||
Matrix & | F, | ||
SymmetricMatrix & | E, | ||
double * | Ev, | ||
double | r = 0.0 , |
||
double | ur = 0.0 |
||
) |
Calculates the strain tensor for the given strain measure and deformation gradient tensor calculated on ain integration point.
[in] | StrainMeasure | - type of strain measure |
[in] | ProblemType | - problem type (plan strain, plane stress, etc) |
[in] | Mater | - instance of material class |
[in] | F | - deformation gradient tensor calculated on an integration point. |
[out] | E | - strain maesuare tensor |
[out] | Ev | - strain maesuare tensor stored as a double array |
[in] | r | - interpolated radial coordinate |
[in] | ur | - interpolated radial displacement |