hp2FEM  0.1
Public Member Functions | Protected Attributes
HookeMaterial Class Reference

Specialization of the Materials abstract class for isotropic elastic material (Hooke's law) More...

#include <HookeMaterial.h>

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

List of all members.

Public Member Functions

 HookeMaterial ()
 Default constructor (without parameters): the class attributes are initialized with default values.
 HookeMaterial (HookeMaterial &Instance)
 Copy-initializer constructor. Creates a copy of an existing object.
 HookeMaterial (unsigned long MaterialNumber, ProblemType_E Application, double E=0.0, double Nu=0.3, double AlphaT=0.0, double Rho=0.0)
 Constructor using parameters. Initialization of all class attributes is possible. Default values are also provided.
 ~HookeMaterial ()
 Destructor.
HookeMaterialoperator= (HookeMaterial &Instance)
 Creates a copy of an existing object.
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)
 Prints class title to an ASCII file.
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 material application.
ProblemType_E GetApplication ()
 Gives 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 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
 Young's modulus (isotropic elasticity modulus).
double PoissonRatio
 Poisson ratio.
double ThermalExpCoef
 Coefficient of thermal expansion (isotropic dilatation coefficient).
double Density
 Density: mass/volume.

Detailed Description

Specialization of the Materials abstract class for isotropic elastic material (Hooke's law)

Author:
Marco Lucio Bittencourt/Fabiano Fernandes Bargos
Date:
April/18/2011

Constructor & Destructor Documentation

Copy-initializer constructor. Creates a copy of an existing object.

Returns:
Reference to the current object.

Destructor.

Note:
Specialization of the base class's destructor (this is a recommended practice when designing class hierarchies in C++)

Member Function Documentation

ProblemType_E HookeMaterial::GetApplication ( ) [virtual]

Gives the application type.

Returns:
Application type

Reimplemented from Material.

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

Returns the compliance matrix of the material.

Parameters:
[out]CMatrix- compliance matrix.

Implements Material.

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

Returns material type.

Returns:
Material type as a MaterialType_E enum value.

Implements Material.

char * HookeMaterial::GetName ( ) [virtual]

Returns string with the name of the material.

Returns:
String "HookeMaterial".

Implements Material.

unsigned long HookeMaterial::GetNumberProperties ( ) [virtual]

Returns the number of properties of the material specialization.

Number of material properties=4.

Implements Material.

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

Gets the value of a specific material property.

Returns:
Material property value.

Implements Material.

double HookeMaterial::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 HookeMaterial::GetStrainEnergyDensityOrder ( unsigned long  StrainOrder) [virtual]

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

Returns:
Material order.

Implements Material.

void HookeMaterial::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.
[in]Strain- strain tensor stored as a vector.

Implements Material.

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

Returns the highest order components of the stress tensor.

Returns:
Material order.

Implements Material.

HookeMaterial & HookeMaterial::operator= ( HookeMaterial Instance)

Creates a copy of an existing object.

Returns:
Reference to the current object.
void HookeMaterial::Print ( FILE *  File,
char *  Message 
) [virtual]

Prints class information to an ASCII file.

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

Implements Material.

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

Prints class title to an ASCII file.

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

Implements Material.

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

Reads class attributes from the .def ASCII file.

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

Implements Material.

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

Sets material properties from values in an array.

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

Implements Material.

void HookeMaterial::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.

Implements Material.


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