hp2FEM  0.1
Public Member Functions | Protected Member Functions
GradientMeasure Class Reference

Class used to compute the strain measures. More...

#include <GradientMeasure.h>

List of all members.

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)
 
  • Calculates the g vector (B * dJ/dE) for an incompressible material.

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)
 
  • Calculates all strain related variables for a large deformation problem, for all integration points.

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.

Detailed Description

Class used to compute the strain measures.

Author:
Fabiano Fernandes Bargos/Marco Lucio Bittencourt
Date:
March/25/2011

Constructor & Destructor Documentation

Copy-initializer constructor.

Parameters:
[in]Instance- object of type GradientMeasure

Member Function Documentation

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.

Parameters:
[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.

Parameters:
[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.

Parameters:
[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.

Parameters:
[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 
)

  • Calculates the g vector (B * dJ/dE) for an incompressible material.

Parameters:
[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.

Parameters:
[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.

Parameters:
[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.

Parameters:
[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.

Parameters:
[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

The documentation for this class was generated from the following files:
 All Classes Files Functions Variables Typedefs Friends Defines