OOFEM
2.4
OOFEM.org - Object Oriented Finite Element Solver
|
This class implements associated Material Status to MPlasticMaterial. More...
#include <mplasticmaterial2.h>
Public Types | |
enum | state_flag_values { PM_Elastic, PM_Yielding, PM_Unloading } |
Public Member Functions | |
MPlasticMaterial2Status (int n, Domain *d, GaussPoint *g, int statusSize) | |
virtual | ~MPlasticMaterial2Status () |
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) |
void | letTempDamageBe (double v) |
double | giveDamage () |
double | giveTempDamage () |
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, e.g. More... | |
FloatArray | tempStrainSpaceHardeningVarsVector |
int | state_flag |
Yield function status indicator. More... | |
int | temp_state_flag |
double | damage |
Isotropic damage variables. More... | |
double | tempDamage |
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.
Description: Idea used there is that we have variables describing:
Definition at line 67 of file mplasticmaterial2.h.
Enumerator | |
---|---|
PM_Elastic | |
PM_Yielding | |
PM_Unloading |
Definition at line 70 of file mplasticmaterial2.h.
oofem::MPlasticMaterial2Status::MPlasticMaterial2Status | ( | int | n, |
Domain * | d, | ||
GaussPoint * | g, | ||
int | statusSize | ||
) |
Definition at line 2074 of file mplasticmaterial2.C.
|
virtual |
Definition at line 2085 of file mplasticmaterial2.C.
|
inlinevirtual |
Reimplemented from oofem::StructuralMaterialStatus.
Definition at line 136 of file mplasticmaterial2.h.
|
inline |
Definition at line 123 of file mplasticmaterial2.h.
References damage.
|
inline |
Returns the equilibrated strain vector.
Definition at line 109 of file mplasticmaterial2.h.
References plasticStrainVector.
Referenced by oofem::MPlasticMaterial2::closestPointReturn(), oofem::MPlasticMaterial2::computeResidualVector(), oofem::MPlasticMaterial2::cuttingPlaneReturn(), and oofem::MPlasticMaterial2::giveIPValue().
|
inline |
Definition at line 126 of file mplasticmaterial2.h.
References state_flag.
Referenced by oofem::MPlasticMaterial2::giveRealStressVector().
|
inline |
Returns the equilibrated hardening variable vector.
Definition at line 113 of file mplasticmaterial2.h.
References strainSpaceHardeningVarsVector.
Referenced by oofem::MPlasticMaterial2::closestPointReturn(), oofem::MPlasticMaterial2::cuttingPlaneReturn(), and oofem::MPlasticMaterial2::giveElastoPlasticStiffnessMatrix().
|
inline |
Definition at line 130 of file mplasticmaterial2.h.
References tempActiveConditionMap.
Referenced by oofem::MPlasticMaterial2::giveConsistentStiffnessMatrix(), and oofem::MPlasticMaterial2::giveElastoPlasticStiffnessMatrix().
|
inline |
Definition at line 124 of file mplasticmaterial2.h.
References tempDamage.
|
inline |
Definition at line 132 of file mplasticmaterial2.h.
References tempGamma.
Referenced by oofem::MPlasticMaterial2::giveConsistentStiffnessMatrix(), and oofem::MPlasticMaterial2::giveElastoPlasticStiffnessMatrix().
|
inline |
Returns the actual (temp) strain vector.
Definition at line 111 of file mplasticmaterial2.h.
References tempPlasticStrainVector.
|
inline |
Definition at line 127 of file mplasticmaterial2.h.
References temp_state_flag.
Referenced by oofem::MPlasticMaterial2::giveConsistentStiffnessMatrix(), and oofem::MPlasticMaterial2::giveElastoPlasticStiffnessMatrix().
|
inline |
Returns the actual (temp) hardening variable vector.
Definition at line 115 of file mplasticmaterial2.h.
References tempStrainSpaceHardeningVarsVector.
Referenced by oofem::MPlasticMaterial2::giveConsistentStiffnessMatrix().
|
virtual |
Initializes the temporary internal variables, describing the current state according to previously reached equilibrium internal variables.
Reimplemented from oofem::StructuralMaterialStatus.
Definition at line 2122 of file mplasticmaterial2.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 117 of file mplasticmaterial2.h.
|
inline |
Definition at line 120 of file mplasticmaterial2.h.
|
inline |
Definition at line 122 of file mplasticmaterial2.h.
Referenced by oofem::MPlasticMaterial2::giveRealStressVector().
|
inline |
Definition at line 118 of file mplasticmaterial2.h.
Referenced by oofem::MPlasticMaterial2::giveRealStressVector().
|
inline |
Definition at line 128 of file mplasticmaterial2.h.
Referenced by oofem::MPlasticMaterial2::giveRealStressVector().
|
inline |
Definition at line 119 of file mplasticmaterial2.h.
Referenced by oofem::MPlasticMaterial2::giveRealStressVector().
|
virtual |
Print receiver's output to given stream.
Reimplemented from oofem::StructuralMaterialStatus.
Definition at line 2089 of file mplasticmaterial2.C.
References activeConditionMap, 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 2207 of file mplasticmaterial2.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 2166 of file mplasticmaterial2.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 131 of file mplasticmaterial2.h.
Referenced by oofem::MPlasticMaterial2::giveRealStressVector().
|
inline |
Definition at line 133 of file mplasticmaterial2.h.
Referenced by oofem::MPlasticMaterial2::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 2145 of file mplasticmaterial2.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 94 of file mplasticmaterial2.h.
Referenced by oofem::MPlasticMaterial2::giveSizeOfReducedHardeningVarsVector(), initTempStatus(), printOutputAt(), restoreContext(), saveContext(), and updateYourself().
|
protected |
Isotropic damage variables.
Definition at line 89 of file mplasticmaterial2.h.
Referenced by giveDamage().
|
protected |
Consistency parameter values (needed for algorithmic stiffness).
Definition at line 92 of file mplasticmaterial2.h.
Referenced by oofem::MPlasticMaterial2::giveSizeOfReducedHardeningVarsVector(), initTempStatus(), restoreContext(), saveContext(), and updateYourself().
|
protected |
Plastic strain vector.
Definition at line 74 of file mplasticmaterial2.h.
Referenced by givePlasticStrainVector(), initTempStatus(), printOutputAt(), restoreContext(), saveContext(), and updateYourself().
|
protected |
Yield function status indicator.
Definition at line 85 of file mplasticmaterial2.h.
Referenced by giveStateFlag(), printOutputAt(), restoreContext(), saveContext(), and updateYourself().
|
protected |
Strain space hardening variables, e.g.
cumulative plastic strain which can be used in yield stress evaluation or damage.
Definition at line 81 of file mplasticmaterial2.h.
Referenced by giveStrainSpaceHardeningVars(), initTempStatus(), printOutputAt(), restoreContext(), saveContext(), and updateYourself().
|
protected |
Definition at line 86 of file mplasticmaterial2.h.
Referenced by giveTempStateFlag(), and updateYourself().
|
protected |
Definition at line 94 of file mplasticmaterial2.h.
Referenced by giveTempActiveConditionMap(), initTempStatus(), and updateYourself().
|
protected |
Definition at line 89 of file mplasticmaterial2.h.
Referenced by giveTempDamage().
|
protected |
Definition at line 92 of file mplasticmaterial2.h.
Referenced by giveTempGamma(), initTempStatus(), and updateYourself().
|
protected |
Definition at line 75 of file mplasticmaterial2.h.
Referenced by giveTempPlasticStrainVector(), initTempStatus(), and updateYourself().
|
protected |
Definition at line 82 of file mplasticmaterial2.h.
Referenced by giveTempStrainSpaceHardeningVarsVector(), initTempStatus(), and updateYourself().