OOFEM
2.4
OOFEM.org - Object Oriented Finite Element Solver
|
This class implements associated Material Status to IDNLMaterial (Nonlocal isotropic damage). More...
#include <idmnl1.h>
Public Member Functions | |
IDNLMaterialStatus (int n, Domain *d, GaussPoint *g) | |
Constructor. More... | |
virtual | ~IDNLMaterialStatus () |
Destructor. More... | |
virtual void | printOutputAt (FILE *file, TimeStep *tStep) |
Print receiver's output to given stream. More... | |
double | giveLocalEquivalentStrainForAverage () |
Returns the local equivalent strain to be averaged. More... | |
void | setLocalEquivalentStrainForAverage (double ls) |
Sets the localEquivalentStrainForAverage to given value. 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... | |
virtual Interface * | giveInterface (InterfaceType) |
Interface requesting service. More... | |
Public Member Functions inherited from oofem::IsotropicDamageMaterial1Status | |
IsotropicDamageMaterial1Status (int n, Domain *d, GaussPoint *g) | |
Constructor. More... | |
virtual | ~IsotropicDamageMaterial1Status () |
Destructor. More... | |
Public Member Functions inherited from oofem::IsotropicDamageMaterialStatus | |
IsotropicDamageMaterialStatus (int n, Domain *d, GaussPoint *g) | |
Constructor. More... | |
virtual | ~IsotropicDamageMaterialStatus () |
Destructor. 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... | |
double | giveDamage () |
Returns the last equilibrated damage level. More... | |
double | giveTempDamage () |
Returns the temp. damage level. More... | |
void | setTempDamage (double newDamage) |
Sets the temp damage level to given value. More... | |
double | giveLe () |
Returns characteristic length stored in receiver. More... | |
void | setLe (double ls) |
Sets characteristic length to given value. More... | |
double | giveCrackAngle () |
Returns crack angle stored in receiver. More... | |
void | setCrackAngle (double ca) |
Sets crack angle to given value. More... | |
void | giveCrackVector (FloatArray &answer) |
Returns crack vector stored in receiver. This is useful for plotting cracks as a vector field (paraview etc.). More... | |
void | setCrackVector (FloatArray cv) |
Sets crack vector to given value. This is useful for plotting cracks as a vector field (paraview etc.). 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... | |
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... | |
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... | |
Public Member Functions inherited from oofem::RandomMaterialStatusExtensionInterface | |
RandomMaterialStatusExtensionInterface () | |
Constructor. More... | |
virtual | ~RandomMaterialStatusExtensionInterface () |
Destructor. More... | |
bool | _giveProperty (int key, double &value) |
Returns the value of random property, identified by a key. More... | |
void | _setProperty (int key, double value) |
Sets the value of random property, identified by a key. More... | |
Public Member Functions inherited from oofem::Interface | |
Interface () | |
Constructor. More... | |
virtual | ~Interface () |
Public Member Functions inherited from oofem::StructuralNonlocalMaterialStatusExtensionInterface | |
StructuralNonlocalMaterialStatusExtensionInterface () | |
~StructuralNonlocalMaterialStatusExtensionInterface () | |
Public Member Functions inherited from oofem::NonlocalMaterialStatusExtensionInterface | |
NonlocalMaterialStatusExtensionInterface () | |
Constructor. More... | |
virtual | ~NonlocalMaterialStatusExtensionInterface () |
Destructor. More... | |
std::vector< localIntegrationRecord > * | giveIntegrationDomainList () |
Returns integration list of receiver. More... | |
double | giveIntegrationScale () |
Returns associated integration scale. More... | |
void | setIntegrationScale (double val) |
Sets associated integration scale. More... | |
double | giveVolumeAround () |
Returns associated volume. More... | |
void | setVolumeAround (double val) |
Sets associated integration scale. More... | |
void | clear () |
clears the integration list of receiver More... | |
Protected Attributes | |
double | localEquivalentStrainForAverage |
Equivalent strain for averaging. More... | |
Protected Attributes inherited from oofem::IsotropicDamageMaterialStatus | |
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... | |
double | damage |
Damage level of material. More... | |
double | tempDamage |
Non-equilibrated damage level of material. More... | |
double | le |
Characteristic element length, computed when damage initialized from direction of maximum positive principal strain. More... | |
double | crack_angle |
Angle characterizing the crack direction. More... | |
FloatArray | crackVector |
Crack orientation normalized to damage magnitude. This is useful for plotting cracks as a vector field (paraview etc.). More... | |
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 |
Protected Attributes inherited from oofem::RandomMaterialStatusExtensionInterface | |
Dictionary | randProperties |
Dictionary containing material model values. More... | |
Protected Attributes inherited from oofem::NonlocalMaterialStatusExtensionInterface | |
std::vector< localIntegrationRecord > | integrationDomainList |
List containing localIntegrationRecord values. More... | |
double | integrationScale |
Nonlocal volume around the corresponding integration point. More... | |
double | volumeAround |
Local volume around the corresponding integration point. More... | |
This class implements associated Material Status to IDNLMaterial (Nonlocal isotropic damage).
Stores local equivalent strain for averaging.
oofem::IDNLMaterialStatus::IDNLMaterialStatus | ( | int | n, |
Domain * | d, | ||
GaussPoint * | g | ||
) |
Constructor.
Definition at line 840 of file idmnl1.C.
References localEquivalentStrainForAverage.
Referenced by oofem::IDNLMaterial::CreateStatus().
|
virtual |
|
inlinevirtual |
Reimplemented from oofem::IsotropicDamageMaterial1Status.
Definition at line 81 of file idmnl1.h.
References giveInterface(), initTempStatus(), restoreContext(), saveContext(), and updateYourself().
|
virtual |
Interface requesting service.
In the case of nonlocal constitutive models, the use of multiple inheritance is assumed. Typically, the class representing nonlocal constitutive model status is derived both from class representing local status and from class NonlocalMaterialStatusExtensionInterface or from one of its derived classes (which declare services and variables corresponding to specific analysis type).
Reimplemented from oofem::IsotropicDamageMaterial1Status.
Definition at line 930 of file idmnl1.C.
References oofem::IsotropicDamageMaterial1Status::giveInterface(), and oofem::NonlocalMaterialStatusExtensionInterfaceType.
Referenced by giveClassName(), and oofem::IDNLMaterial::giveInputRecordName().
|
inline |
Returns the local equivalent strain to be averaged.
Definition at line 76 of file idmnl1.h.
References localEquivalentStrainForAverage.
Referenced by oofem::IDNLMaterial::computeEquivalentStrain(), oofem::IDNLMaterial::giveIPValue(), oofem::TrabBoneNL3D::packUnknowns(), and oofem::IDNLMaterial::packUnknowns().
|
virtual |
Initializes the temporary internal variables, describing the current state according to previously reached equilibrium internal variables.
Reimplemented from oofem::IsotropicDamageMaterialStatus.
Definition at line 870 of file idmnl1.C.
References oofem::IsotropicDamageMaterialStatus::initTempStatus().
Referenced by giveClassName().
|
virtual |
Print receiver's output to given stream.
Reimplemented from oofem::IsotropicDamageMaterialStatus.
Definition at line 852 of file idmnl1.C.
References oofem::IsotropicDamageMaterialStatus::damage, oofem::IsotropicDamageMaterialStatus::dissWork, oofem::IsotropicDamageMaterialStatus::kappa, oofem::StructuralMaterialStatus::printOutputAt(), and oofem::IsotropicDamageMaterialStatus::stressWork.
|
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::IsotropicDamageMaterialStatus.
Definition at line 912 of file idmnl1.C.
References oofem::CIO_OK, oofem::IsotropicDamageMaterialStatus::restoreContext(), 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::IsotropicDamageMaterialStatus.
Definition at line 895 of file idmnl1.C.
References oofem::CIO_OK, oofem::IsotropicDamageMaterialStatus::saveContext(), and THROW_CIOERR.
Referenced by giveClassName().
|
inline |
Sets the localEquivalentStrainForAverage to given value.
Definition at line 78 of file idmnl1.h.
Referenced by oofem::TrabBoneNL3D::unpackAndUpdateUnknowns(), oofem::IDNLMaterial::unpackAndUpdateUnknowns(), and oofem::IDNLMaterial::updateBeforeNonlocAverage().
|
virtual |
Update equilibrium history variables according to temp-variables.
Invoked, after new equilibrium state has been reached.
Reimplemented from oofem::IsotropicDamageMaterialStatus.
Definition at line 882 of file idmnl1.C.
References oofem::IsotropicDamageMaterialStatus::updateYourself().
Referenced by giveClassName().
|
protected |
Equivalent strain for averaging.
Definition at line 59 of file idmnl1.h.
Referenced by giveLocalEquivalentStrainForAverage(), IDNLMaterialStatus(), and oofem::IDNLMaterial::unpackAndUpdateUnknowns().