OOFEM
2.4
OOFEM.org - Object Oriented Finite Element Solver
|
This class implements associated Material Status to MPlasticMaterial. More...
#include <mplasticmaterial.h>
Public Types | |
enum | state_flag_values { PM_Elastic, PM_Yielding, PM_Unloading } |
Public Member Functions | |
MPlasticMaterialStatus (int n, Domain *d, GaussPoint *g, int statusSize) | |
virtual | ~MPlasticMaterialStatus () |
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... | |
const FloatArray & | givePlasticStrainVector () const |
Returns the equilibrated strain vector. More... | |
const FloatArray & | giveTempPlasticStrainVector () const |
Returns the actual (temp) strain vector. More... | |
const FloatArray & | giveStrainSpaceHardeningVars () const |
Returns the equilibrated hardening variable vector. More... | |
const FloatArray & | givetempStrainSpaceHardeningVarsVector () const |
Returns the actual (temp) hardening variable vector. More... | |
void | letPlasticStrainVectorBe (FloatArray v) |
void | letTempPlasticStrainVectorBe (FloatArray v) |
void | letTempStrainSpaceHardeningVarsVectorBe (FloatArray v) |
void | letStrainSpaceHardeningVarsVectorBe (FloatArray v) |
int | giveStateFlag () |
int | giveTempStateFlag () |
void | letTempStateFlagBe (int v) |
const IntArray & | giveTempActiveConditionMap () |
void | setTempActiveConditionMap (IntArray v) |
const FloatArray & | giveTempGamma () |
void | setTempGamma (FloatArray v) |
virtual const char * | giveClassName () const |
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 | |
FloatArray | plasticStrainVector |
Plastic strain vector. More... | |
FloatArray | tempPlasticStrainVector |
FloatArray | strainSpaceHardeningVarsVector |
Strain space hardening variables. More... | |
FloatArray | tempStrainSpaceHardeningVarsVector |
int | state_flag |
Yield function status indicator. More... | |
int | temp_state_flag |
FloatArray | gamma |
Consistency parameter values (needed for algorithmic stiffness). More... | |
FloatArray | tempGamma |
IntArray | activeConditionMap |
Active set of yield functions (needed for algorithmic stiffness). More... | |
IntArray | tempActiveConditionMap |
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 MPlasticMaterial.
It is attribute of matStatusDictionary at every GaussPoint, for which this material is active.
Idea used there is that we have variables describing:
Definition at line 64 of file mplasticmaterial.h.
Enumerator | |
---|---|
PM_Elastic | |
PM_Yielding | |
PM_Unloading |
Definition at line 67 of file mplasticmaterial.h.
oofem::MPlasticMaterialStatus::MPlasticMaterialStatus | ( | int | n, |
Domain * | d, | ||
GaussPoint * | g, | ||
int | statusSize | ||
) |
Definition at line 1359 of file mplasticmaterial.C.
References PM_Elastic, state_flag, and temp_state_flag.
|
virtual |
Definition at line 1369 of file mplasticmaterial.C.
|
inlinevirtual |
Reimplemented from oofem::StructuralMaterialStatus.
Definition at line 129 of file mplasticmaterial.h.
|
inline |
Returns the equilibrated strain vector.
Definition at line 100 of file mplasticmaterial.h.
References plasticStrainVector.
Referenced by oofem::MPlasticMaterial::closestPointReturn(), oofem::MPlasticMaterial::computeResidualVector(), oofem::MPlasticMaterial::cuttingPlaneReturn(), and oofem::MPlasticMaterial::giveIPValue().
|
inline |
Definition at line 119 of file mplasticmaterial.h.
References state_flag.
Referenced by oofem::MPlasticMaterial::giveRealStressVector().
|
inline |
Returns the equilibrated hardening variable vector.
Definition at line 104 of file mplasticmaterial.h.
References strainSpaceHardeningVarsVector.
Referenced by oofem::MPlasticMaterial::closestPointReturn(), oofem::MPlasticMaterial::computeResidualVector(), oofem::MPlasticMaterial::cuttingPlaneReturn(), oofem::MPlasticMaterial::giveConsistentStiffnessMatrix(), and oofem::MPlasticMaterial::giveElastoPlasticStiffnessMatrix().
|
inline |
Definition at line 123 of file mplasticmaterial.h.
References tempActiveConditionMap.
Referenced by oofem::MPlasticMaterial::giveConsistentStiffnessMatrix(), and oofem::MPlasticMaterial::giveElastoPlasticStiffnessMatrix().
|
inline |
Definition at line 125 of file mplasticmaterial.h.
References tempGamma.
Referenced by oofem::MPlasticMaterial::giveConsistentStiffnessMatrix().
|
inline |
Returns the actual (temp) strain vector.
Definition at line 102 of file mplasticmaterial.h.
References tempPlasticStrainVector.
|
inline |
Definition at line 120 of file mplasticmaterial.h.
References temp_state_flag.
Referenced by oofem::MPlasticMaterial::giveConsistentStiffnessMatrix(), and oofem::MPlasticMaterial::giveElastoPlasticStiffnessMatrix().
|
inline |
Returns the actual (temp) hardening variable vector.
Definition at line 107 of file mplasticmaterial.h.
References tempStrainSpaceHardeningVarsVector.
|
virtual |
Initializes the temporary internal variables, describing the current state according to previously reached equilibrium internal variables.
Reimplemented from oofem::StructuralMaterialStatus.
Definition at line 1402 of file mplasticmaterial.C.
References activeConditionMap, gamma, oofem::GaussPoint::giveMaterialMode(), oofem::FloatArray::giveSize(), oofem::StructuralMaterial::giveSizeOfVoigtSymVector(), oofem::IntegrationPointStatus::gp, oofem::StructuralMaterialStatus::initTempStatus(), plasticStrainVector, oofem::FloatArray::resize(), strainSpaceHardeningVarsVector, tempActiveConditionMap, tempGamma, tempPlasticStrainVector, tempStrainSpaceHardeningVarsVector, and oofem::FloatArray::zero().
|
inline |
Definition at line 110 of file mplasticmaterial.h.
|
inline |
Definition at line 116 of file mplasticmaterial.h.
|
inline |
Definition at line 112 of file mplasticmaterial.h.
Referenced by oofem::MPlasticMaterial::giveRealStressVector().
|
inline |
Definition at line 121 of file mplasticmaterial.h.
Referenced by oofem::MPlasticMaterial::giveRealStressVector().
|
inline |
Definition at line 114 of file mplasticmaterial.h.
Referenced by oofem::MPlasticMaterial::giveRealStressVector().
|
virtual |
Print receiver's output to given stream.
Reimplemented from oofem::StructuralMaterialStatus.
Definition at line 1374 of file mplasticmaterial.C.
References oofem::FloatArray::giveSize(), plasticStrainVector, PM_Unloading, PM_Yielding, oofem::StructuralMaterialStatus::printOutputAt(), state_flag, and strainSpaceHardeningVarsVector.
|
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 1484 of file mplasticmaterial.C.
References activeConditionMap, oofem::CIO_IOERR, oofem::CIO_OK, gamma, plasticStrainVector, oofem::DataStream::read(), oofem::StructuralMaterialStatus::restoreContext(), oofem::IntArray::restoreYourself(), oofem::FloatArray::restoreYourself(), state_flag, strainSpaceHardeningVarsVector, and THROW_CIOERR.
|
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 1444 of file mplasticmaterial.C.
References activeConditionMap, oofem::CIO_IOERR, oofem::CIO_OK, gamma, plasticStrainVector, oofem::StructuralMaterialStatus::saveContext(), state_flag, oofem::IntArray::storeYourself(), oofem::FloatArray::storeYourself(), strainSpaceHardeningVarsVector, THROW_CIOERR, and oofem::DataStream::write().
|
inline |
Definition at line 124 of file mplasticmaterial.h.
Referenced by oofem::MPlasticMaterial::giveRealStressVector().
|
inline |
Definition at line 126 of file mplasticmaterial.h.
Referenced by oofem::MPlasticMaterial::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 1425 of file mplasticmaterial.C.
References activeConditionMap, gamma, plasticStrainVector, state_flag, strainSpaceHardeningVarsVector, temp_state_flag, tempActiveConditionMap, tempGamma, tempPlasticStrainVector, tempStrainSpaceHardeningVarsVector, and oofem::StructuralMaterialStatus::updateYourself().
|
protected |
Active set of yield functions (needed for algorithmic stiffness).
Definition at line 85 of file mplasticmaterial.h.
Referenced by oofem::MPlasticMaterial::giveSizeOfReducedHardeningVarsVector(), initTempStatus(), restoreContext(), saveContext(), and updateYourself().
|
protected |
Consistency parameter values (needed for algorithmic stiffness).
Definition at line 83 of file mplasticmaterial.h.
Referenced by oofem::MPlasticMaterial::giveSizeOfReducedHardeningVarsVector(), initTempStatus(), restoreContext(), saveContext(), and updateYourself().
|
protected |
Plastic strain vector.
Definition at line 71 of file mplasticmaterial.h.
Referenced by givePlasticStrainVector(), initTempStatus(), printOutputAt(), restoreContext(), saveContext(), and updateYourself().
|
protected |
Yield function status indicator.
Definition at line 79 of file mplasticmaterial.h.
Referenced by giveStateFlag(), MPlasticMaterialStatus(), printOutputAt(), restoreContext(), saveContext(), and updateYourself().
|
protected |
Strain space hardening variables.
Definition at line 75 of file mplasticmaterial.h.
Referenced by giveStrainSpaceHardeningVars(), initTempStatus(), printOutputAt(), restoreContext(), saveContext(), and updateYourself().
|
protected |
Definition at line 80 of file mplasticmaterial.h.
Referenced by giveTempStateFlag(), MPlasticMaterialStatus(), and updateYourself().
|
protected |
Definition at line 85 of file mplasticmaterial.h.
Referenced by giveTempActiveConditionMap(), initTempStatus(), and updateYourself().
|
protected |
Definition at line 83 of file mplasticmaterial.h.
Referenced by giveTempGamma(), initTempStatus(), and updateYourself().
|
protected |
Definition at line 72 of file mplasticmaterial.h.
Referenced by giveTempPlasticStrainVector(), initTempStatus(), and updateYourself().
|
protected |
Definition at line 76 of file mplasticmaterial.h.
Referenced by givetempStrainSpaceHardeningVarsVector(), initTempStatus(), and updateYourself().