OOFEM
2.4
OOFEM.org - Object Oriented Finite Element Solver
|
This class implements associated Material Status to AnisotropicDamageMaterial. More...
#include <anisodamagemodel.h>
Public Member Functions | |
AnisotropicDamageMaterialStatus (int n, Domain *d, GaussPoint *g) | |
Constructor. More... | |
virtual | ~AnisotropicDamageMaterialStatus () |
Destructor. More... | |
virtual void | printOutputAt (FILE *file, TimeStep *tStep) |
Print receiver's output to given stream. More... | |
double | giveKappa () |
Returns the last equilibrated scalar measure of the largest strain level. More... | |
double | giveTempKappa () |
Returns the temp. scalar measure of the largest strain level. More... | |
void | setTempKappa (double newKappa) |
Sets the temp scalar measure of the largest strain level to given value. More... | |
const FloatMatrix & | giveDamage () |
Returns the last equilibrated second order damage tensor. More... | |
const FloatMatrix & | giveTempDamage () |
Returns the temp. second order damage tensor. More... | |
void | setTempDamage (const FloatMatrix &d) |
Assigns temp. damage tensor to given tensor d. More... | |
double | giveStrainZ () |
Returns the last equilibrated scalar measure of the out-of-plane strain to given value (for 2dPlaneStress mode). More... | |
double | giveTempStrainZ () |
Returns the temp scalar measure of the out-of-plane strain to given value (for 2dPlaneStress mode). More... | |
void | setTempStrainZ (double newStrainZ) |
Sets the temp scalar measure of the out-of-plane strain to given value (for 2dPlaneStress mode). More... | |
int | giveFlag () |
Returns the value of the flag. More... | |
void | setTempFlag (int newflag) |
Sets the value of the temporary value of flag. More... | |
int | giveTempFlag () |
Returns the value of the temporary value of flag. More... | |
double | giveStoredFactor () |
Returns the last Stored Factor. More... | |
void | setStoredFactor (double newStoredFactor) |
Sets the Stored Factor to given value . More... | |
double | giveTempStoredFactor () |
Returns the last Temp Stored Factor. More... | |
void | setTempStoredFactor (double newTempStoredFactor) |
Sets the Temp Stored Factor to given value . More... | |
double | giveStressWork () |
Returns the density of total work of stress on strain increments. More... | |
double | giveTempStressWork () |
Returns the temp density of total work of stress on strain increments. More... | |
void | setTempStressWork (double w) |
Sets the density of total work of stress on strain increments to given value. More... | |
double | giveDissWork () |
Returns the density of dissipated work. More... | |
double | giveTempDissWork () |
Returns the density of temp dissipated work. More... | |
void | setTempDissWork (double w) |
Sets the density of dissipated work to given value. More... | |
void | computeWork (GaussPoint *gp) |
Computes the increment of total stress work and of dissipated work. More... | |
virtual const char * | giveClassName () const |
virtual void | initTempStatus () |
Initializes the temporary internal variables, describing the current state according to previously reached equilibrium internal variables. More... | |
virtual void | updateYourself (TimeStep *tStep) |
Update equilibrium history variables according to temp-variables. More... | |
virtual contextIOResultType | saveContext (DataStream &stream, ContextMode mode, void *obj=NULL) |
Stores receiver state to output stream. More... | |
virtual contextIOResultType | restoreContext (DataStream &stream, ContextMode mode, void *obj=NULL) |
Restores the receiver state previously written in stream. More... | |
Public Member Functions inherited from oofem::StructuralMaterialStatus | |
StructuralMaterialStatus (int n, Domain *d, GaussPoint *g) | |
Constructor. Creates new StructuralMaterialStatus with number n, belonging to domain d and IntegrationPoint g. More... | |
virtual | ~StructuralMaterialStatus () |
Destructor. More... | |
const FloatArray & | giveStrainVector () const |
Returns the const pointer to receiver's strain vector. More... | |
const FloatArray & | giveStressVector () const |
Returns the const pointer to receiver's stress vector. More... | |
const FloatArray & | givePVector () const |
Returns the const pointer to receiver's first Piola-Kirchhoff stress vector. More... | |
const FloatArray & | giveCVector () const |
Returns the const pointer to receiver's Cauchy stress vector. More... | |
const FloatArray & | giveFVector () const |
Returns the const pointer to receiver's deformation gradient vector. More... | |
const FloatArray & | giveTempStrainVector () const |
Returns the const pointer to receiver's temporary strain vector. More... | |
const FloatArray & | giveTempStressVector () const |
Returns the const pointer to receiver's temporary stress vector. More... | |
const FloatArray & | giveTempPVector () const |
Returns the const pointer to receiver's temporary first Piola-Kirchhoff stress vector. More... | |
const FloatArray & | giveTempCVector () const |
Returns the const pointer to receiver's temporary Cauchy stress vector. More... | |
const FloatArray & | giveTempFVector () const |
Returns the const pointer to receiver's temporary deformation gradient vector. More... | |
void | letStrainVectorBe (const FloatArray &v) |
Assigns strain vector to given vector v. More... | |
void | letStressVectorBe (const FloatArray &v) |
Assigns stressVector to given vector v. More... | |
void | letPVectorBe (const FloatArray &v) |
Assigns PVector to given vector v. More... | |
void | letCVectorBe (const FloatArray &v) |
Assigns CVector to given vector v. More... | |
void | letFVectorBe (const FloatArray &v) |
Assigns FVector to given vector v. More... | |
void | letTempStressVectorBe (const FloatArray &v) |
Assigns tempStressVector to given vector v. More... | |
void | letTempStrainVectorBe (const FloatArray &v) |
Assigns tempStrainVector to given vector v. More... | |
void | letTempPVectorBe (const FloatArray &v) |
Assigns tempPVector to given vector v. More... | |
void | letTempCVectorBe (const FloatArray &v) |
Assigns tempPVector to given vector v. More... | |
void | letTempFVectorBe (const FloatArray &v) |
Assigns tempFVector to given vector v. More... | |
virtual void | copyStateVariables (const MaterialStatus &iStatus) |
Functions for MaterialStatusMapperInterface. More... | |
virtual void | addStateVariables (const MaterialStatus &iStatus) |
Public Member Functions inherited from oofem::MaterialStatus | |
MaterialStatus (int n, Domain *d, GaussPoint *g) | |
Constructor. More... | |
virtual | ~MaterialStatus () |
Destructor. More... | |
virtual bool | giveMaterialProperty (int propID, double &value) |
Returns the value of material model property stored in receiving status. More... | |
virtual void | setMaterialProperty (int propID, double value) |
Allows to set the value of material model property to be stored in receiving status. More... | |
virtual void | setStatusVariable (int varID, double value) |
Allows to set the value of a specific variable, identified by varID. More... | |
virtual void | restoreConsistency () |
Restores consistency of the status, i.e., computes or corrects the values of certain status variables such that the state is admissible. More... | |
virtual IRResultType | initializeFrom (InputRecord *ir) |
Initializes receiver according to object description stored in input record. More... | |
Public Member Functions inherited from oofem::IntegrationPointStatus | |
IntegrationPointStatus (int n, Domain *d, GaussPoint *g) | |
Constructor. More... | |
virtual | ~IntegrationPointStatus () |
Destructor. More... | |
virtual const char * | giveInputRecordName () const |
Public Member Functions inherited from oofem::FEMComponent | |
FEMComponent (int n, Domain *d) | |
Regular constructor, creates component with given number and belonging to given domain. More... | |
virtual | ~FEMComponent () |
Virtual destructor. More... | |
Domain * | giveDomain () const |
virtual void | setDomain (Domain *d) |
Sets associated Domain. More... | |
int | giveNumber () const |
void | setNumber (int num) |
Sets number of receiver. More... | |
virtual void | updateLocalNumbering (EntityRenumberingFunctor &f) |
Local renumbering support. More... | |
virtual void | giveInputRecord (DynamicInputRecord &input) |
Setups the input record string of receiver. More... | |
virtual int | checkConsistency () |
Allows programmer to test some internal data, before computation begins. More... | |
virtual void | printYourself () |
Prints receiver state on stdout. Useful for debugging. More... | |
virtual Interface * | giveInterface (InterfaceType t) |
Interface requesting service. More... | |
std::string | errorInfo (const char *func) const |
Returns string for prepending output (used by error reporting macros). More... | |
Public Member Functions inherited from oofem::MaterialStatusMapperInterface | |
MaterialStatusMapperInterface () | |
virtual | ~MaterialStatusMapperInterface () |
virtual int | MSMI_map (const GaussPoint &iGP, const Domain &iOldDom, Set &sourceSet, const TimeStep &iTStep, MaterialStatus &oStatus) |
Maps all internal state variables from the old domain to the given gp status. More... | |
virtual int | MSMI_map_cz (const GaussPoint &iGP, const Domain &iOldDom, Set &sourceSet, const TimeStep &iTStep, MaterialStatus &oStatus) |
virtual int | MSMI_update (const GaussPoint &iGP, const TimeStep &iTStep) |
Updates the internal state variables from previously mapped values. More... | |
virtual int | MSMI_finish (const TimeStep &iTStep) |
Finishes the mapping for given time step. More... | |
Protected Attributes | |
double | kappa |
Scalar measure of the largest strain level ever reached in material. More... | |
double | tempKappa |
Non-equilibrated scalar measure of the largest strain level. More... | |
FloatMatrix | damage |
Second order damage tensor. More... | |
FloatMatrix | tempDamage |
Non-equilibrated second order damage tensor. More... | |
double | tempStrainZ |
Out-of-plane value for 2dPlaneStress mode. More... | |
double | strainZ |
Non-equilibrated out-of-plane value for 2dPlaneStress mode. More... | |
int | flag |
This flag turns into 1 and remains 1 when the trace of the damage tensor is >1 in compression (tr(strainTensor)<0) More... | |
int | tempFlag |
double | storedFactor |
double | tempStoredFactor |
double | stressWork |
Density of total work done by stresses on strain increments. More... | |
double | tempStressWork |
Non-equilibrated density of total work done by stresses on strain increments. More... | |
double | dissWork |
Density of dissipated work. More... | |
double | tempDissWork |
Non-equilibrated density of dissipated work. More... | |
Protected Attributes inherited from oofem::StructuralMaterialStatus | |
FloatArray | strainVector |
Equilibrated strain vector in reduced form. More... | |
FloatArray | stressVector |
Equilibrated stress vector in reduced form. More... | |
FloatArray | tempStressVector |
Temporary stress vector in reduced form (increments are used mainly in nonlinear analysis) More... | |
FloatArray | tempStrainVector |
Temporary strain vector in reduced form (to find balanced state) More... | |
FloatArray | PVector |
Equilibrated first Piola-Kirchhoff stress vector. More... | |
FloatArray | tempPVector |
Temporary first Piola-Kirchhoff stress vector (to find balanced state) More... | |
FloatArray | CVector |
Equilibrated Cauchy stress vector. More... | |
FloatArray | tempCVector |
Temporary Cauchy stress vector (to find balanced state) More... | |
FloatArray | FVector |
Equilibrated deformation gradient in reduced form. More... | |
FloatArray | tempFVector |
Temporary deformation gradient in reduced form (to find balanced state) More... | |
Protected Attributes inherited from oofem::IntegrationPointStatus | |
GaussPoint * | gp |
Associated integration point. More... | |
Protected Attributes inherited from oofem::FEMComponent | |
int | number |
Component number. More... | |
Domain * | domain |
Link to domain object, useful for communicating with other FEM components. More... | |
Protected Attributes inherited from oofem::MaterialStatusMapperInterface | |
MaterialMappingAlgorithm * | mpMaterialMapper |
This class implements associated Material Status to AnisotropicDamageMaterial.
Stores a damage tensor and hardening variable (and possible extra information).
Definition at line 67 of file anisodamagemodel.h.
oofem::AnisotropicDamageMaterialStatus::AnisotropicDamageMaterialStatus | ( | int | n, |
Domain * | d, | ||
GaussPoint * | g | ||
) |
Constructor.
Definition at line 2089 of file anisodamagemodel.C.
References damage, dissWork, flag, kappa, oofem::FloatMatrix::resize(), storedFactor, strainZ, stressWork, tempDamage, tempDissWork, tempFlag, tempKappa, tempStoredFactor, tempStrainZ, tempStressWork, and oofem::FloatMatrix::zero().
Referenced by oofem::AnisotropicDamageMaterial::CreateStatus().
|
virtual |
Destructor.
Definition at line 2107 of file anisodamagemodel.C.
void oofem::AnisotropicDamageMaterialStatus::computeWork | ( | GaussPoint * | gp | ) |
Computes the increment of total stress work and of dissipated work.
Definition at line 2317 of file anisodamagemodel.C.
Referenced by oofem::AnisotropicDamageMaterial::giveRealStressVector(), oofem::AnisotropicDamageMaterial::giveRealStressVector_PlaneStress(), and setTempDissWork().
|
inlinevirtual |
Reimplemented from oofem::StructuralMaterialStatus.
Definition at line 160 of file anisodamagemodel.h.
References initTempStatus(), restoreContext(), saveContext(), and updateYourself().
|
inline |
Returns the last equilibrated second order damage tensor.
Definition at line 114 of file anisodamagemodel.h.
References damage.
Referenced by oofem::AnisotropicDamageMaterial::computeDamageTensor(), oofem::AnisotropicDamageMaterial::giveIPValue(), oofem::AnisotropicDamageMaterial::giveRealStressVector(), and oofem::AnisotropicDamageMaterial::giveRealStressVector_PlaneStress().
|
inline |
Returns the density of dissipated work.
Definition at line 150 of file anisodamagemodel.h.
References dissWork.
Referenced by oofem::AnisotropicDamageMaterial::giveIPValue().
|
inline |
Returns the value of the flag.
Definition at line 126 of file anisodamagemodel.h.
References flag.
Referenced by oofem::AnisotropicDamageMaterial::computeCorrectionFactor(), and oofem::AnisotropicDamageMaterial::computeTraceD().
|
inline |
Returns the last equilibrated scalar measure of the largest strain level.
Definition at line 108 of file anisodamagemodel.h.
References kappa.
Referenced by oofem::AnisotropicDamageMaterial::giveIPValue(), and oofem::AnisotropicDamageMaterial::giveRealStressVector_PlaneStress().
|
inline |
Returns the last Stored Factor.
Definition at line 132 of file anisodamagemodel.h.
References storedFactor.
Referenced by oofem::AnisotropicDamageMaterial::computeCorrectionFactor().
|
inline |
Returns the last equilibrated scalar measure of the out-of-plane strain to given value (for 2dPlaneStress mode).
Definition at line 120 of file anisodamagemodel.h.
References strainZ.
|
inline |
Returns the density of total work of stress on strain increments.
Definition at line 144 of file anisodamagemodel.h.
Referenced by oofem::AnisotropicDamageMaterial::giveIPValue(), and setTempStoredFactor().
|
inline |
Returns the temp. second order damage tensor.
Definition at line 116 of file anisodamagemodel.h.
References tempDamage.
Referenced by oofem::AnisotropicDamageMaterial::give3dMaterialStiffnessMatrix(), oofem::AnisotropicDamageMaterial::giveIPValue(), and oofem::AnisotropicDamageMaterial::givePlaneStressStiffMtrx().
|
inline |
Returns the density of temp dissipated work.
Definition at line 152 of file anisodamagemodel.h.
References tempDissWork.
|
inline |
Returns the value of the temporary value of flag.
Definition at line 130 of file anisodamagemodel.h.
References tempFlag.
|
inline |
Returns the temp. scalar measure of the largest strain level.
Definition at line 110 of file anisodamagemodel.h.
References tempKappa.
|
inline |
Returns the last Temp Stored Factor.
Definition at line 136 of file anisodamagemodel.h.
References tempStoredFactor.
|
inline |
Returns the temp scalar measure of the out-of-plane strain to given value (for 2dPlaneStress mode).
Definition at line 122 of file anisodamagemodel.h.
References tempStrainZ.
Referenced by oofem::AnisotropicDamageMaterial::computeDamageTensor(), and oofem::AnisotropicDamageMaterial::computeEquivalentStrain().
|
inline |
Returns the temp density of total work of stress on strain increments.
Definition at line 146 of file anisodamagemodel.h.
References tempStressWork.
|
virtual |
Initializes the temporary internal variables, describing the current state according to previously reached equilibrium internal variables.
Reimplemented from oofem::StructuralMaterialStatus.
Definition at line 2156 of file anisodamagemodel.C.
References damage, dissWork, oofem::StructuralMaterialStatus::initTempStatus(), kappa, storedFactor, strainZ, stressWork, tempDamage, tempDissWork, tempKappa, tempStoredFactor, tempStrainZ, and tempStressWork.
Referenced by giveClassName().
|
virtual |
Print receiver's output to given stream.
Reimplemented from oofem::StructuralMaterialStatus.
Definition at line 2111 of file anisodamagemodel.C.
References oofem::FloatArray::at(), oofem::FloatMatrix::at(), dissWork, oofem::StructuralMaterial::giveFullSymVectorForm(), oofem::GaussPoint::giveMaterialMode(), oofem::FloatMatrix::giveNumberOfRows(), oofem::FloatMatrix::giveTrace(), oofem::IntegrationPointStatus::gp, kappa, oofem::StructuralMaterialStatus::printOutputAt(), oofem::MaterialStatus::printOutputAt(), oofem::StructuralMaterialStatus::strainVector, strainZ, oofem::StructuralMaterialStatus::stressVector, stressWork, and tempDamage.
|
virtual |
Restores the receiver state previously written in stream.
stream | Input stream. |
mode | Determines amount of info available in stream (state, definition, ...). |
obj | Special parameter for sending extra information. |
throws | an ContextIOERR exception if error encountered. |
Reimplemented from oofem::StructuralMaterialStatus.
Definition at line 2251 of file anisodamagemodel.C.
References oofem::CIO_IOERR, oofem::CIO_OK, damage, dissWork, kappa, oofem::DataStream::read(), oofem::StructuralMaterialStatus::restoreContext(), oofem::FloatMatrix::restoreYourself(), stressWork, and THROW_CIOERR.
Referenced by giveClassName().
|
virtual |
Stores receiver state to output stream.
stream | Output stream. |
mode | Determines amount of info required in stream (state, definition, ...). |
obj | Special parameter, used only to send particular integration point to material class version of this method. |
throws | an ContextIOERR exception if error encountered. |
Reimplemented from oofem::StructuralMaterialStatus.
Definition at line 2187 of file anisodamagemodel.C.
References oofem::CIO_IOERR, oofem::CIO_OK, damage, dissWork, kappa, oofem::StructuralMaterialStatus::saveContext(), oofem::FloatMatrix::storeYourself(), stressWork, THROW_CIOERR, and oofem::DataStream::write().
Referenced by giveClassName().
|
inline |
Sets the Stored Factor to given value .
Definition at line 134 of file anisodamagemodel.h.
|
inline |
Assigns temp. damage tensor to given tensor d.
Definition at line 118 of file anisodamagemodel.h.
Referenced by oofem::AnisotropicDamageMaterial::giveRealStressVector(), and oofem::AnisotropicDamageMaterial::giveRealStressVector_PlaneStress().
|
inline |
Sets the density of dissipated work to given value.
Definition at line 154 of file anisodamagemodel.h.
References computeWork(), and oofem::IntegrationPointStatus::gp.
|
inline |
Sets the value of the temporary value of flag.
Definition at line 128 of file anisodamagemodel.h.
Referenced by oofem::AnisotropicDamageMaterial::computeCorrectionFactor(), and oofem::AnisotropicDamageMaterial::computeTraceD().
|
inline |
Sets the temp scalar measure of the largest strain level to given value.
Definition at line 112 of file anisodamagemodel.h.
Referenced by oofem::AnisotropicDamageMaterial::giveRealStressVector(), and oofem::AnisotropicDamageMaterial::giveRealStressVector_PlaneStress().
|
inline |
Sets the Temp Stored Factor to given value .
Definition at line 138 of file anisodamagemodel.h.
References giveStressWork(), and stressWork.
Referenced by oofem::AnisotropicDamageMaterial::computeCorrectionFactor().
|
inline |
Sets the temp scalar measure of the out-of-plane strain to given value (for 2dPlaneStress mode).
Definition at line 124 of file anisodamagemodel.h.
Referenced by oofem::AnisotropicDamageMaterial::giveRealStressVector_PlaneStress().
|
inline |
Sets the density of total work of stress on strain increments to given value.
Definition at line 148 of file anisodamagemodel.h.
|
virtual |
Update equilibrium history variables according to temp-variables.
Invoked, after new equilibrium state has been reached.
Reimplemented from oofem::StructuralMaterialStatus.
Definition at line 2171 of file anisodamagemodel.C.
References damage, dissWork, flag, kappa, storedFactor, strainZ, stressWork, tempDamage, tempDissWork, tempFlag, tempKappa, tempStoredFactor, tempStrainZ, tempStressWork, and oofem::StructuralMaterialStatus::updateYourself().
Referenced by giveClassName().
|
protected |
Second order damage tensor.
Definition at line 75 of file anisodamagemodel.h.
Referenced by AnisotropicDamageMaterialStatus(), giveDamage(), oofem::AnisotropicDamageMaterial::giveLinearElasticMaterial(), initTempStatus(), restoreContext(), saveContext(), and updateYourself().
|
protected |
Density of dissipated work.
Definition at line 94 of file anisodamagemodel.h.
Referenced by AnisotropicDamageMaterialStatus(), giveDissWork(), initTempStatus(), printOutputAt(), restoreContext(), saveContext(), and updateYourself().
|
protected |
This flag turns into 1 and remains 1 when the trace of the damage tensor is >1 in compression (tr(strainTensor)<0)
Definition at line 83 of file anisodamagemodel.h.
Referenced by AnisotropicDamageMaterialStatus(), giveFlag(), and updateYourself().
|
protected |
Scalar measure of the largest strain level ever reached in material.
Definition at line 71 of file anisodamagemodel.h.
Referenced by AnisotropicDamageMaterialStatus(), giveKappa(), oofem::AnisotropicDamageMaterial::giveLinearElasticMaterial(), initTempStatus(), printOutputAt(), restoreContext(), saveContext(), and updateYourself().
|
protected |
Definition at line 85 of file anisodamagemodel.h.
Referenced by AnisotropicDamageMaterialStatus(), giveStoredFactor(), initTempStatus(), and updateYourself().
|
protected |
Non-equilibrated out-of-plane value for 2dPlaneStress mode.
Definition at line 81 of file anisodamagemodel.h.
Referenced by AnisotropicDamageMaterialStatus(), giveStrainZ(), initTempStatus(), printOutputAt(), and updateYourself().
|
protected |
Density of total work done by stresses on strain increments.
Definition at line 90 of file anisodamagemodel.h.
Referenced by AnisotropicDamageMaterialStatus(), initTempStatus(), printOutputAt(), restoreContext(), saveContext(), setTempStoredFactor(), and updateYourself().
|
protected |
Non-equilibrated second order damage tensor.
Definition at line 77 of file anisodamagemodel.h.
Referenced by AnisotropicDamageMaterialStatus(), oofem::AnisotropicDamageMaterial::giveLinearElasticMaterial(), giveTempDamage(), initTempStatus(), printOutputAt(), and updateYourself().
|
protected |
Non-equilibrated density of dissipated work.
Definition at line 96 of file anisodamagemodel.h.
Referenced by AnisotropicDamageMaterialStatus(), giveTempDissWork(), initTempStatus(), and updateYourself().
|
protected |
Definition at line 84 of file anisodamagemodel.h.
Referenced by AnisotropicDamageMaterialStatus(), giveTempFlag(), and updateYourself().
|
protected |
Non-equilibrated scalar measure of the largest strain level.
Definition at line 73 of file anisodamagemodel.h.
Referenced by AnisotropicDamageMaterialStatus(), giveTempKappa(), initTempStatus(), and updateYourself().
|
protected |
Definition at line 86 of file anisodamagemodel.h.
Referenced by AnisotropicDamageMaterialStatus(), giveTempStoredFactor(), initTempStatus(), and updateYourself().
|
protected |
Out-of-plane value for 2dPlaneStress mode.
Definition at line 79 of file anisodamagemodel.h.
Referenced by AnisotropicDamageMaterialStatus(), giveTempStrainZ(), initTempStatus(), and updateYourself().
|
protected |
Non-equilibrated density of total work done by stresses on strain increments.
Definition at line 92 of file anisodamagemodel.h.
Referenced by AnisotropicDamageMaterialStatus(), giveTempStressWork(), initTempStatus(), and updateYourself().