hp2FEM  0.1
Public Member Functions | Protected Attributes
DamagedNeoHookeanMaterial Class Reference

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

#include <DamagedNeoHookeanMaterial.h>

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

List of all members.

Public Member Functions

 DamagedNeoHookeanMaterial ()
 Default constructor.
 DamagedNeoHookeanMaterial (DamagedNeoHookeanMaterial &Instance)
 Copy-initializer constructor. Copies the contents from Instance to the current object.
 DamagedNeoHookeanMaterial (unsigned long MaterialNumber, ProblemType_E Application, double E=0.0, double Nu=0.0, double AlphaT=0.0, double Rho=0.0, double Dalpha=0.0, double Dbeta=0.0)
 Constructor using parameters. Initialization of all class attributes is possible. Default values are also provided.
DamagedNeoHookeanMaterialoperator= (DamagedNeoHookeanMaterial &Instance)
 Copies the contents from Instance to the current object.
 ~DamagedNeoHookeanMaterial ()
 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 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)
 Evaluation of stress tensor components using deformation components. This implementation performs a stress update procedure, considering isotropic damage.
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. This implementation performs a stress update procedure, considering isotropic damage.
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. The material is compressible, thus the energy is calculated in the coupled form.
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}.
double AlphaDamage
 Alpha damage parameter.
double BetaDamage
 Beta damage parameter.

Detailed Description

Implements the isotropic compressible Neo-Hookean material with isotropic damage.


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 DamagedNeoHookeanMaterial::GetApplication ( ) [virtual]

Returns the application type.

Returns:
ProblemType_E as an enum value.

Reimplemented from Material.

Returns the tangent compliance matrix of the material.

Parameters:
[out]CMatrix- compliance matrix.

Implements Material.

void DamagedNeoHookeanMaterial::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 DamagedNeoHookeanMaterial::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 DamagedNeoHookeanMaterial::GetMaterialType ( ) [virtual]

Returns material type.

Returns:
Material type as a MaterialType_E enum value.

Implements Material.

char * DamagedNeoHookeanMaterial::GetName ( ) [virtual]

Returns string with the name of the material.

Returns:
String "MooneyRivlinMaterial".

Implements Material.

Returns the number of properties of the material specialization.

Number of material properties=6.

Implements Material.

void DamagedNeoHookeanMaterial::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 DamagedNeoHookeanMaterial::GetProperty ( MaterialProperty_E  Property) [virtual]

Gets the value of a specific material property.

Returns:
Material property value.

Implements Material.

double DamagedNeoHookeanMaterial::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. The material is compressible, thus the energy is calculated in the coupled form.

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

Implements Material.

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

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

Returns:
Material order.

Implements Material.

void DamagedNeoHookeanMaterial::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. This implementation performs a stress update procedure, considering isotropic damage.

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.
[in]Strain- Strain tensor.
[in]Damage_n- Isotropic damage variable at time n.
[out]Damage_n1- Isotropic damage variable at time n+1.
[out]StressTensor- Stress tensor stored as a matrix.
[in]Strain- strain tensor stored as a vector.

Implements Material.

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

Returns the highest order components of the stress tensor.

Returns:
Material order.

Implements Material.

void DamagedNeoHookeanMaterial::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 
) [virtual]

Evaluation of stress tensor components using deformation components. This implementation performs a stress update procedure, considering isotropic damage.

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.
[in]Strain- Strain tensor.
[in]Damage_n- Isotropic damage variable at time n.
[in]IntPoint- Integration point number.
[out]Damage_n1- Isotropic damage variable at time n+1.
[out]StressTensor- Stress tensor stored as a matrix.

Implements Material.

DamagedNeoHookeanMaterial & DamagedNeoHookeanMaterial::operator= ( DamagedNeoHookeanMaterial Instance)

Copies the contents from Instance to the current object.

Returns:
Reference to the current object.
void DamagedNeoHookeanMaterial::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 DamagedNeoHookeanMaterial::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 DamagedNeoHookeanMaterial::Print ( FILE *  File) [virtual]

Implementation of an abstract base class's operation@.

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

Implements Material.

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

Reads class attributes from the .def ASCII file.

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

Implements Material.

void DamagedNeoHookeanMaterial::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 DamagedNeoHookeanMaterial::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 DamagedNeoHookeanMaterial::SetProperties ( BuiltInArray< double > &  Properties) [virtual]

Sets material properties from values in an array.

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

Implements Material.

void DamagedNeoHookeanMaterial::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

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