OOFEM
2.4
OOFEM.org - Object Oriented Finite Element Solver
|
Material status class MDMStatus associated to MDM matarial. More...
#include <mdm.h>
Public Member Functions | |
MDMStatus (int n, int nsd, int nmplanes, Domain *d, GaussPoint *g) | |
virtual | ~MDMStatus () |
void | setTempDamageTensorEigenVals (FloatArray src) |
void | setTempDamageTensorEigenVec (FloatMatrix src) |
const FloatArray & | giveTempDamageTensorEigenVals () |
const FloatArray & | giveDamageTensorEigenVals () |
const FloatMatrix & | giveTempDamageTensorEigenVec () |
const FloatMatrix & | giveDamageTensorEigenVec () |
double | giveMicroplaneTempDamage (int m) |
double | giveMicroplaneDamage (int m) |
void | setMicroplaneTempDamage (int m, double val) |
const FloatArray & | giveMicroplaneDamageValues () |
void | setMicroplaneTempDamageValues (FloatArray src) |
const FloatMatrix & | giveTempDamageTensor () |
const FloatMatrix & | giveDamageTensor () |
void | setTempDamageTensor (FloatMatrix src) |
void | setLocalDamageTensorForAverage (FloatMatrix src) |
const FloatMatrix & | giveLocalDamageTensorForAverage () |
const FloatMatrix * | giveLocalDamageTensorForAveragePtr () |
virtual const char * | giveClassName () const |
virtual void | printOutputAt (FILE *file, TimeStep *tStep) |
Print receiver's output to given stream. More... | |
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 it) |
Interface requesting service. 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::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... | |
Public Member Functions inherited from oofem::Interface | |
Interface () | |
Constructor. More... | |
virtual | ~Interface () |
Protected Attributes | |
FloatArray | Psi |
Damage values on individual microplanes. More... | |
FloatArray | PsiTemp |
FloatMatrix | DamageTensor |
Macroscopic damage tensor. More... | |
FloatMatrix | DamageTensorTemp |
FloatMatrix | localDamageTensor |
FloatArray | tempDamageTensorEigenValues |
Principal damage directions. More... | |
FloatArray | damageTensorEigenValues |
FloatMatrix | tempDamageTensorEigenVectors |
FloatMatrix | damageTensorEigenVectors |
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::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... | |
oofem::MDMStatus::MDMStatus | ( | int | n, |
int | nsd, | ||
int | nmplanes, | ||
Domain * | d, | ||
GaussPoint * | g | ||
) |
Definition at line 1386 of file mdm.C.
References oofem::FloatArray::at(), oofem::FloatMatrix::at(), damageTensorEigenValues, damageTensorEigenVectors, tempDamageTensorEigenValues, and tempDamageTensorEigenVectors.
|
inlinevirtual |
Reimplemented from oofem::StructuralMaterialStatus.
Definition at line 134 of file mdm.h.
References giveInterface(), initTempStatus(), printOutputAt(), restoreContext(), saveContext(), and updateYourself().
|
inline |
Definition at line 126 of file mdm.h.
References DamageTensor.
Referenced by oofem::MDM::giveIPValue().
|
inline |
Definition at line 115 of file mdm.h.
References damageTensorEigenValues.
Referenced by oofem::MDM::giveIPValue().
|
inline |
Definition at line 117 of file mdm.h.
References damageTensorEigenVectors.
|
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 NonlocalMaterialStatusExtension or from one of its derived classes (which declare services and variables corresponding to specific analysis type).
Reimplemented from oofem::FEMComponent.
Definition at line 1510 of file mdm.C.
References oofem::NonlocalMaterialStatusExtensionInterfaceType.
Referenced by giveClassName(), and oofem::MDM::giveSupportRadius().
|
inline |
Definition at line 129 of file mdm.h.
References localDamageTensor.
Referenced by oofem::MDM::computeDamageTensor().
|
inline |
Definition at line 130 of file mdm.h.
References localDamageTensor.
Referenced by oofem::MDM::packUnknowns().
|
inline |
Definition at line 120 of file mdm.h.
References oofem::FloatArray::at().
Referenced by oofem::MDM::computeLocalDamageTensor().
|
inline |
|
inline |
Definition at line 119 of file mdm.h.
References oofem::FloatArray::at().
|
inline |
Definition at line 125 of file mdm.h.
References DamageTensorTemp.
Referenced by oofem::MDM::giveIPValue().
|
inline |
Definition at line 114 of file mdm.h.
References tempDamageTensorEigenValues.
Referenced by oofem::MDM::applyDamageToStiffness(), and oofem::MDM::giveIPValue().
|
inline |
Definition at line 116 of file mdm.h.
References tempDamageTensorEigenVectors.
Referenced by oofem::MDM::giveMaterialStiffnessMatrix().
|
virtual |
Initializes the temporary internal variables, describing the current state according to previously reached equilibrium internal variables.
Reimplemented from oofem::StructuralMaterialStatus.
Definition at line 1468 of file mdm.C.
References DamageTensor, damageTensorEigenValues, damageTensorEigenVectors, DamageTensorTemp, oofem::StructuralMaterialStatus::initTempStatus(), Psi, PsiTemp, tempDamageTensorEigenValues, and tempDamageTensorEigenVectors.
Referenced by giveClassName().
|
virtual |
Print receiver's output to given stream.
Reimplemented from oofem::StructuralMaterialStatus.
Definition at line 1479 of file mdm.C.
References oofem::FloatMatrix::at(), damageTensorEigenValues, damageTensorEigenVectors, oofem::FloatMatrix::giveNumberOfColumns(), oofem::FloatMatrix::giveNumberOfRows(), oofem::StructuralMaterialStatus::printOutputAt(), and Psi.
Referenced by giveClassName().
|
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 1428 of file mdm.C.
References oofem::CIO_OK, DamageTensor, damageTensorEigenValues, damageTensorEigenVectors, Psi, oofem::StructuralMaterialStatus::restoreContext(), oofem::FloatArray::restoreYourself(), oofem::FloatMatrix::restoreYourself(), 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 1398 of file mdm.C.
References oofem::CIO_OK, DamageTensor, damageTensorEigenValues, damageTensorEigenVectors, Psi, oofem::StructuralMaterialStatus::saveContext(), oofem::FloatArray::storeYourself(), oofem::FloatMatrix::storeYourself(), and THROW_CIOERR.
Referenced by giveClassName().
|
inline |
Definition at line 128 of file mdm.h.
Referenced by oofem::MDM::unpackAndUpdateUnknowns(), and oofem::MDM::updateBeforeNonlocAverage().
|
inline |
Definition at line 121 of file mdm.h.
References oofem::FloatArray::at().
Referenced by oofem::MDM::computeLocalDamageTensor().
|
inline |
Definition at line 123 of file mdm.h.
Referenced by oofem::MDM::MMI_map().
|
inline |
Definition at line 127 of file mdm.h.
Referenced by oofem::MDM::giveRealStressVector().
|
inline |
Definition at line 112 of file mdm.h.
Referenced by oofem::MDM::giveRealStressVector().
|
inline |
Definition at line 113 of file mdm.h.
Referenced by oofem::MDM::giveRealStressVector().
|
virtual |
Update equilibrium history variables according to temp-variables.
Invoked, after new equilibrium state has been reached.
Reimplemented from oofem::StructuralMaterialStatus.
Definition at line 1457 of file mdm.C.
References DamageTensor, damageTensorEigenValues, damageTensorEigenVectors, DamageTensorTemp, Psi, PsiTemp, tempDamageTensorEigenValues, tempDamageTensorEigenVectors, and oofem::StructuralMaterialStatus::updateYourself().
Referenced by giveClassName(), and oofem::MDM::MMI_map().
|
protected |
Macroscopic damage tensor.
Definition at line 103 of file mdm.h.
Referenced by giveDamageTensor(), initTempStatus(), restoreContext(), saveContext(), and updateYourself().
|
protected |
Definition at line 105 of file mdm.h.
Referenced by giveDamageTensorEigenVals(), initTempStatus(), MDMStatus(), printOutputAt(), restoreContext(), saveContext(), and updateYourself().
|
protected |
Definition at line 106 of file mdm.h.
Referenced by giveDamageTensorEigenVec(), initTempStatus(), MDMStatus(), printOutputAt(), restoreContext(), saveContext(), and updateYourself().
|
protected |
Definition at line 103 of file mdm.h.
Referenced by giveTempDamageTensor(), initTempStatus(), and updateYourself().
|
protected |
Definition at line 103 of file mdm.h.
Referenced by giveLocalDamageTensorForAverage(), and giveLocalDamageTensorForAveragePtr().
|
protected |
Damage values on individual microplanes.
Definition at line 101 of file mdm.h.
Referenced by giveMicroplaneDamageValues(), initTempStatus(), printOutputAt(), restoreContext(), saveContext(), and updateYourself().
|
protected |
Definition at line 101 of file mdm.h.
Referenced by initTempStatus(), and updateYourself().
|
protected |
Principal damage directions.
Definition at line 105 of file mdm.h.
Referenced by giveTempDamageTensorEigenVals(), initTempStatus(), MDMStatus(), and updateYourself().
|
protected |
Definition at line 106 of file mdm.h.
Referenced by giveTempDamageTensorEigenVec(), initTempStatus(), MDMStatus(), and updateYourself().