hp2FEM  0.1
Public Member Functions | Protected Attributes
NeoHookeanMaterial Class Reference

Implements the isotropic compressible Neo-Hookean material. More...

#include <NeoHookeanMaterial.h>

Inheritance diagram for NeoHookeanMaterial:
Inheritance graph
[legend]
Collaboration diagram for NeoHookeanMaterial:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 NeoHookeanMaterial ()
 Default constructor.
 NeoHookeanMaterial (NeoHookeanMaterial &Instance)
 Copy-initializer constructor. Copies the contents from Instance to the current object.
 NeoHookeanMaterial (unsigned long MaterialNumber, ProblemType_E Application, double E=0.0, double Nu=0.0, double AlphaT=0.0, double Rho=0.0)
 Constructor using parameters. Initialization of all class attributes is possible. Default values are also provided.
NeoHookeanMaterialoperator= (NeoHookeanMaterial &Instance)
 Copies the contents from Instance to the current object.
 ~NeoHookeanMaterial ()
 Destructor.
void operator= (Material &Inst)
 Operator =This operation copies all Attributes from another object (Instance) to this class@.
void Read (FILE *File)
 Reads class attributes from the .def ASCII file.
void Print (FILE *File, char *Message)
 Prints class information to an ASCII file.
void Print (FILE *File)
 Implementation of an abstract base class's operation@.
void Save (FILE *File)
 Writes class information to a binary file. The current object state can be completely recovered when applying the Restore() operation.
void Restore (FILE *File)
 Restores class data (written using Save()) from a binary file.
void Free ()
 Releases the memory allocated for the class attributes.
void SetApplication (ProblemType_E Application)
 Sets the application type.
ProblemType_E GetApplication ()
 Returns the application type.
char * GetName ()
 Returns string with the name of the material.
MaterialType_E GetMaterialType ()
 Returns material type.
void SetProperties (BuiltInArray< double > &Properties)
 Sets material properties from values in an array.
void SetProperty (MaterialProperty_E Property, double Value)
 Sets the value of a specific material property.
void GetProperties (BuiltInArray< double > &Properties)
 Returns the values of the material properties in an array.
double GetProperty (MaterialProperty_E Property)
 Gets the value of a specific material property.
unsigned long GetNumberProperties ()
 Returns the number of properties of the material specialization.
void GetCMatrix (SymmetricMatrix &CMatrix)
 Returns the tangent compliance matrix of the material.
void GetDMatrix (SymmetricMatrix &DMatrix, double *Strain=NULL, double pbar=0.0, double *DeltaDef=NULL, unsigned long ElementNumber=0, unsigned long PointStateNumber=0)
 Returns the tangent elasticity matrix of the material.
unsigned long GetDMatrixOrder (unsigned long StrainOrder)
 Returns the highest order of the polynomials that describes the tangent stiffness properties (components of the D matrix).
void GetStress (double *Stress, double *Strain, double *StressTensor=NULL, double pbar=0.0, unsigned long ElementNumber=0, unsigned long PointStateNumber=0)
 Evaluation of stress tensor components using deformation components.
void GetStressUpdate (double *Stress, double *Strain, SymmetricMatrix &DMatrix, double Damage_n, unsigned long IntPoint, double &Damage_n1, double *StressTensor, double pbar=0.0, unsigned long ElementNumber=0, unsigned long PointStateNumber=0)
unsigned long GetStressOrder (unsigned long StrainOrder)
 Returns the highest order components of the stress tensor.
double GetStrainEnergyDensity (double *Strain, double pbar=0.0, unsigned long ElementNumber=0, unsigned long PointStateNumber=0)
 Returns the strain energy density of the material point whose strain is given as a parameter.
int GetStrainEnergyDensityOrder (unsigned long StrainOrder)
 Returns the highest order components of the strain energy density functional.

Protected Attributes

double YoungModulus
 First material constant in the Mooney-Rivlin model. A10 multiplies the first invariant of C.
double PoissonRatio
 Poisson ratio.
double ThermalExpCoef
 Coefficient of thermal expansion (isotropicdilatation coefficient)
double Density
 Density: mass/volume when volume goes to zero@ ## begin MooneyRivlin::Density%3B32412B0300.attr preserve=no protected: double {UA}.

Detailed Description

Implements the isotropic compressible Neo-Hookean material.


Constructor & Destructor Documentation

Copy-initializer constructor. Copies the contents from Instance to the current object.

Returns:
Reference to the current object.

Member Function Documentation

ProblemType_E NeoHookeanMaterial::GetApplication ( ) [virtual]

Returns the application type.

Returns:
ProblemType_E as an enum value.

Reimplemented from Material.

void NeoHookeanMaterial::GetCMatrix ( SymmetricMatrix CMatrix) [virtual]

Returns the tangent compliance matrix of the material.

Parameters:
[out]CMatrix- compliance matrix.

Implements Material.

void NeoHookeanMaterial::GetDMatrix ( SymmetricMatrix DMatrix,
double *  Strain = NULL,
double  pbar = 0.0,
double *  DeltaDef = NULL,
unsigned long  ElementNumber = 0,
unsigned long  PointStateNumber = 0 
) [virtual]

Returns the tangent elasticity matrix of the material.

Parameters:
[out]DMatrix- elasticity matrix.

Implements Material.

unsigned long NeoHookeanMaterial::GetDMatrixOrder ( unsigned long  StrainOrder) [virtual]

Returns the highest order of the polynomials that describes the tangent stiffness properties (components of the D matrix).

Parameters:
[in]StrainOrder- polynomial order for the starin measure.
Returns:
Material order.

Implements Material.

MaterialType_E NeoHookeanMaterial::GetMaterialType ( ) [virtual]

Returns material type.

Returns:
Material type as a MaterialType_E enum value.

Implements Material.

char * NeoHookeanMaterial::GetName ( ) [virtual]

Returns string with the name of the material.

Returns:
String "MooneyRivlinMaterial".

Implements Material.

unsigned long NeoHookeanMaterial::GetNumberProperties ( ) [virtual]

Returns the number of properties of the material specialization.

Number of material properties=6.

Implements Material.

void NeoHookeanMaterial::GetProperties ( BuiltInArray< double > &  Properties) [virtual]

Returns the values of the material properties in an array.

Parameters:
[out]Properties- array with the material properties.

Implements Material.

double NeoHookeanMaterial::GetProperty ( MaterialProperty_E  Property) [virtual]

Gets the value of a specific material property.

Returns:
Material property value.

Implements Material.

double NeoHookeanMaterial::GetStrainEnergyDensity ( double *  Strain,
double  pbar = 0.0,
unsigned long  ElementNumber = 0,
unsigned long  PointStateNumber = 0 
) [virtual]

Returns the strain energy density of the material point whose strain is given as a parameter.

Parameters:
[in]Strain- strain vector
Returns:
value of the strain enegry densiy.

Implements Material.

int NeoHookeanMaterial::GetStrainEnergyDensityOrder ( unsigned long  StrainOrder) [virtual]

Returns the highest order components of the strain energy density functional.

Returns:
Material order.

Implements Material.

void NeoHookeanMaterial::GetStress ( double *  Stress,
double *  Strain,
double *  StressTensor = NULL,
double  pbar = 0.0,
unsigned long  ElementNumber = 0,
unsigned long  PointStateNumber = 0 
) [virtual]

Evaluation of stress tensor components using deformation components.

Note:
The stress components are returned in the algoritmic order (according to the material application) and not in the order of a symmetric tensor
Parameters:
[out]Stress- stress tensor stored as vector.
[out]StressTensor- Stress tensor stored as a matrix.
[in]Strain- strain tensor stored as a vector.

Implements Material.

unsigned long NeoHookeanMaterial::GetStressOrder ( unsigned long  StrainOrder) [virtual]

Returns the highest order components of the stress tensor.

Returns:
Material order.

Implements Material.

NeoHookeanMaterial & NeoHookeanMaterial::operator= ( NeoHookeanMaterial Instance)

Copies the contents from Instance to the current object.

Returns:
Reference to the current object.
void NeoHookeanMaterial::operator= ( Material Inst)

Operator =This operation copies all Attributes from another object (Instance) to this class@.

## Other Operations (specified) ## Operation: operator =%3B32404F00C9; C++

Reimplemented from Material.

void NeoHookeanMaterial::Print ( FILE *  File,
char *  Message 
) [virtual]

Prints class information to an ASCII file.

Parameters:
[in]File,:pointer to the ASCII file.
[in]Message,:optional message

Implements Material.

void NeoHookeanMaterial::Print ( FILE *  File) [virtual]

Implementation of an abstract base class's operation@.

## Operation: Print%3B32404F01AF; C++

Implements Material.

void NeoHookeanMaterial::Read ( FILE *  File) [virtual]

Reads class attributes from the .def ASCII file.

Parameters:
[in]File,:pointer to the .def ASCII file.

Implements Material.

void NeoHookeanMaterial::Restore ( FILE *  File) [virtual]

Restores class data (written using Save()) from a binary file.

Parameters:
[in]File,:pointer to the binary file.

Implements Material.

void NeoHookeanMaterial::Save ( FILE *  File) [virtual]

Writes class information to a binary file. The current object state can be completely recovered when applying the Restore() operation.

Parameters:
[in]File,:pointer to the binary file.

Implements Material.

void NeoHookeanMaterial::SetProperties ( BuiltInArray< double > &  Properties) [virtual]

Sets material properties from values in an array.

Parameters:
[in]Properties- array with material properties.

Implements Material.

void NeoHookeanMaterial::SetProperty ( MaterialProperty_E  Property,
double  Value 
) [virtual]

Sets the value of a specific material property.

Parameters:
[in]Property- material property to be set as a MaterialProperty_E enum
[in]Value,:material property value.
Note:
Valid labels: E, NU, ALFAT, RHO@

Implements Material.


Member Data Documentation

double NeoHookeanMaterial::Density [protected]

Density: mass/volume when volume goes to zero@ ## begin MooneyRivlin::Density%3B32412B0300.attr preserve=no protected: double {UA}.

## Attribute: Density%3B32412B0300


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