OOFEM  2.4
OOFEM.org - Object Oriented Finite Element Solver
oofem::MPSMaterialStatus Class Reference

This class implements associated Material Status to MPSMaterial, which corresponds to a model for humidity- and temperature-dependent creep of concrete according to the microprestress-solidification theory. More...

#include <mps.h>

+ Inheritance diagram for oofem::MPSMaterialStatus:
+ Collaboration diagram for oofem::MPSMaterialStatus:

Public Member Functions

 MPSMaterialStatus (int n, Domain *d, GaussPoint *g, int nunits)
 
virtual ~MPSMaterialStatus ()
 
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...
 
double giveHum ()
 Returns relative humidity. More...
 
void setHum (double src)
 Stores relative humidity. More...
 
double giveHumIncrement ()
 Returns relative humidity increment. More...
 
void setHumIncrement (double src)
 Stores relative humidity increment. More...
 
double giveT ()
 Returns temperature. More...
 
void setT (double src)
 Stores temperature. More...
 
double giveTIncrement ()
 Returns temperature increment. More...
 
void setTIncrement (double src)
 Stores temperature increment. More...
 
double giveTmax ()
 Returns previously maximum reached temperature. More...
 
void setTmax (double src)
 Stores maximum reached temperature. More...
 
double giveEquivalentTime ()
 Returns equivalent time. More...
 
void setEquivalentTimeTemp (double src)
 Stores equivalent time. More...
 
double giveFlowTermViscosity ()
 Returns viscosity of the flow term (associated with q4 and microprestress evolution) More...
 
double giveFlowTermViscosityTemp ()
 
void setFlowTermViscosityTemp (double src)
 
void storeEmodulus (double src)
 Returns Emodulus if computed previously in the same tStep. More...
 
void setEmodulusFlag (bool src)
 
double giveStoredEmodulus (void)
 Returns Emodulus if computed previously in the same tStep. More...
 
bool giveStoredEmodulusFlag (void)
 
void setTempDryingShrinkageStrain (double src)
 
double giveTempDryingShrinkageStrain (void)
 
double giveDryingShrinkageStrain (void)
 
void setTempAutogenousShrinkageStrain (double src)
 
double giveTempAutogenousShrinkageStrain (void)
 
double giveAutogenousShrinkageStrain (void)
 
void setCreepStrainIncrement (FloatArray src)
 
const FloatArraygiveCreepStrain () const
 
virtual const char * giveClassName () const
 
- Public Member Functions inherited from oofem::KelvinChainSolidMaterialStatus
 KelvinChainSolidMaterialStatus (int n, Domain *d, GaussPoint *g, int nunits)
 
virtual ~KelvinChainSolidMaterialStatus ()
 
virtual void printOutputAt (FILE *file, TimeStep *tStep)
 Print receiver's output to given stream. More...
 
- Public Member Functions inherited from oofem::RheoChainMaterialStatus
 RheoChainMaterialStatus (int n, Domain *d, GaussPoint *g, int nunits)
 
virtual ~RheoChainMaterialStatus ()
 
virtual const FloatArraygiveViscoelasticStressVector () const
 
FloatArraygiveHiddenVarsVector (int i)
 
FloatArraygiveTempHiddenVarsVector (int i)
 
FloatArrayletHiddenVarsVectorBe (int i, FloatArray *)
 
void letTempHiddenVarsVectorBe (int i, FloatArray &valueArray)
 
FloatArraygiveShrinkageStrainVector ()
 
void setShrinkageStrainVector (FloatArray src)
 
void setTempThermalStrain (double src)
 
double giveTempThermalStrain (void)
 
double giveThermalStrain (void)
 
- 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 FloatArraygiveStrainVector () const
 Returns the const pointer to receiver's strain vector. More...
 
const FloatArraygiveStressVector () const
 Returns the const pointer to receiver's stress vector. More...
 
const FloatArraygivePVector () const
 Returns the const pointer to receiver's first Piola-Kirchhoff stress vector. More...
 
const FloatArraygiveCVector () const
 Returns the const pointer to receiver's Cauchy stress vector. More...
 
const FloatArraygiveFVector () const
 Returns the const pointer to receiver's deformation gradient vector. More...
 
const FloatArraygiveTempStrainVector () const
 Returns the const pointer to receiver's temporary strain vector. More...
 
const FloatArraygiveTempStressVector () const
 Returns the const pointer to receiver's temporary stress vector. More...
 
const FloatArraygiveTempPVector () const
 Returns the const pointer to receiver's temporary first Piola-Kirchhoff stress vector. More...
 
const FloatArraygiveTempCVector () const
 Returns the const pointer to receiver's temporary Cauchy stress vector. More...
 
const FloatArraygiveTempFVector () 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...
 
DomaingiveDomain () 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 InterfacegiveInterface (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 hum
 Values of humidity and temperature in a particular GP and their increment. More...
 
double hum_increment
 
double T
 
double T_increment
 
double T_max
 
double equivalentTime
 Hidden variable - equivalent time: necessary to compute solidified volume. More...
 
double equivalentTimeTemp
 
double flowTermViscosity
 
double flowTermViscosityTemp
 
bool storedEmodulusFlag
 flag for Emodulus - true if modulus has been already computed in the current time step More...
 
double storedEmodulus
 
double dryingShrinkageStrain
 
double tempDryingShrinkageStrain
 
double autogenousShrinkageStrain
 
double tempAutogenousShrinkageStrain
 
FloatArray creepStrain
 
FloatArray creepStrainIncrement
 
- Protected Attributes inherited from oofem::RheoChainMaterialStatus
int nUnits
 Number of units in the chain. More...
 
std::vector< FloatArrayhiddenVars
 Hidden (internal) variables, the meaning of which depends on the type of chain. More...
 
std::vector< FloatArraytempHiddenVars
 
FloatArray shrinkageStrain
 Total shrinkage strain (needed only when the shrinkage evolution is described in the incremental form). More...
 
double thermalStrain
 
double tempThermalStrain
 
- 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
GaussPointgp
 Associated integration point. More...
 
- Protected Attributes inherited from oofem::FEMComponent
int number
 Component number. More...
 
Domaindomain
 Link to domain object, useful for communicating with other FEM components. More...
 
- Protected Attributes inherited from oofem::MaterialStatusMapperInterface
MaterialMappingAlgorithmmpMaterialMapper
 

Detailed Description

This class implements associated Material Status to MPSMaterial, which corresponds to a model for humidity- and temperature-dependent creep of concrete according to the microprestress-solidification theory.

At room temperature and 100% relative humidity, it reduces to model B3 for basic creep of concrete.

Definition at line 97 of file mps.h.

Constructor & Destructor Documentation

virtual oofem::MPSMaterialStatus::~MPSMaterialStatus ( )
inlinevirtual

Definition at line 127 of file mps.h.

References initTempStatus(), restoreContext(), saveContext(), and updateYourself().

Member Function Documentation

double oofem::MPSMaterialStatus::giveAutogenousShrinkageStrain ( void  )
inline
virtual const char* oofem::MPSMaterialStatus::giveClassName ( ) const
inlinevirtual
Returns
Class name of the receiver.

Reimplemented from oofem::KelvinChainSolidMaterialStatus.

Reimplemented in oofem::MPSDamMaterialStatus.

Definition at line 190 of file mps.h.

const FloatArray& oofem::MPSMaterialStatus::giveCreepStrain ( ) const
inline

Definition at line 186 of file mps.h.

References creepStrain.

Referenced by oofem::MPSMaterial::giveIPValue().

double oofem::MPSMaterialStatus::giveDryingShrinkageStrain ( void  )
inline
double oofem::MPSMaterialStatus::giveEquivalentTime ( )
inline
double oofem::MPSMaterialStatus::giveFlowTermViscosity ( )
inline

Returns viscosity of the flow term (associated with q4 and microprestress evolution)

Definition at line 165 of file mps.h.

References flowTermViscosity.

Referenced by oofem::MPSMaterial::computeFlowTermViscosity(), oofem::MPSMaterial::giveEigenStrainVector(), and oofem::MPSMaterial::giveEModulus().

double oofem::MPSMaterialStatus::giveFlowTermViscosityTemp ( )
inline

Definition at line 166 of file mps.h.

References flowTermViscosityTemp.

Referenced by oofem::MPSMaterial::computeFlowTermViscosity().

double oofem::MPSMaterialStatus::giveHum ( )
inline

Returns relative humidity.

Definition at line 136 of file mps.h.

References hum.

Referenced by oofem::MPSMaterial::giveHumidity().

double oofem::MPSMaterialStatus::giveHumIncrement ( )
inline

Returns relative humidity increment.

Definition at line 140 of file mps.h.

References hum_increment.

Referenced by oofem::MPSMaterial::giveHumidity().

double oofem::MPSMaterialStatus::giveStoredEmodulus ( void  )
inline

Returns Emodulus if computed previously in the same tStep.

Definition at line 173 of file mps.h.

References storedEmodulus.

Referenced by oofem::MPSMaterial::giveEModulus().

bool oofem::MPSMaterialStatus::giveStoredEmodulusFlag ( void  )
inline

Definition at line 174 of file mps.h.

References storedEmodulusFlag.

Referenced by oofem::MPSMaterial::giveEModulus().

double oofem::MPSMaterialStatus::giveT ( )
inline

Returns temperature.

Definition at line 145 of file mps.h.

References T.

Referenced by oofem::MPSMaterial::giveTemperature().

double oofem::MPSMaterialStatus::giveTempAutogenousShrinkageStrain ( void  )
inline

Definition at line 182 of file mps.h.

References tempAutogenousShrinkageStrain.

Referenced by oofem::MPSDamMaterial::giveRealStressVector().

double oofem::MPSMaterialStatus::giveTempDryingShrinkageStrain ( void  )
inline

Definition at line 178 of file mps.h.

References tempDryingShrinkageStrain.

Referenced by oofem::MPSDamMaterial::giveRealStressVector().

double oofem::MPSMaterialStatus::giveTIncrement ( )
inline

Returns temperature increment.

Definition at line 150 of file mps.h.

References T_increment.

Referenced by oofem::MPSMaterial::giveTemperature().

double oofem::MPSMaterialStatus::giveTmax ( )
inline

Returns previously maximum reached temperature.

Definition at line 155 of file mps.h.

References T_max.

Referenced by oofem::MPSMaterial::computeFlowTermViscosity().

void oofem::MPSMaterialStatus::initTempStatus ( )
virtual

Initializes the temporary internal variables, describing the current state according to previously reached equilibrium internal variables.

Reimplemented from oofem::KelvinChainSolidMaterialStatus.

Reimplemented in oofem::MPSDamMaterialStatus.

Definition at line 114 of file mps.C.

References creepStrainIncrement, equivalentTimeTemp, flowTermViscosityTemp, hum, hum_increment, oofem::KelvinChainSolidMaterialStatus::initTempStatus(), storedEmodulus, storedEmodulusFlag, T, T_increment, tempAutogenousShrinkageStrain, tempDryingShrinkageStrain, and oofem::FloatArray::zero().

Referenced by oofem::MPSDamMaterialStatus::initTempStatus(), and ~MPSMaterialStatus().

contextIOResultType oofem::MPSMaterialStatus::restoreContext ( DataStream stream,
ContextMode  mode,
void *  obj = NULL 
)
virtual

Restores the receiver state previously written in stream.

See also
saveContext
Parameters
streamInput stream.
modeDetermines amount of info available in stream (state, definition, ...).
objSpecial parameter for sending extra information.
Returns
contextIOResultType.
Exceptions
throwsan ContextIOERR exception if error encountered.

Reimplemented from oofem::KelvinChainSolidMaterialStatus.

Reimplemented in oofem::MPSDamMaterialStatus.

Definition at line 164 of file mps.C.

References oofem::CIO_IOERR, oofem::CIO_OK, equivalentTime, flowTermViscosity, oofem::DataStream::read(), oofem::KelvinChainSolidMaterialStatus::restoreContext(), and THROW_CIOERR.

Referenced by oofem::MPSDamMaterialStatus::restoreContext(), and ~MPSMaterialStatus().

contextIOResultType oofem::MPSMaterialStatus::saveContext ( DataStream stream,
ContextMode  mode,
void *  obj = NULL 
)
virtual

Stores receiver state to output stream.

Parameters
streamOutput stream.
modeDetermines amount of info required in stream (state, definition, ...).
objSpecial parameter, used only to send particular integration point to material class version of this method.
Returns
contextIOResultType.
Exceptions
throwsan ContextIOERR exception if error encountered.

Reimplemented from oofem::KelvinChainSolidMaterialStatus.

Reimplemented in oofem::MPSDamMaterialStatus.

Definition at line 140 of file mps.C.

References oofem::CIO_IOERR, oofem::CIO_OK, equivalentTime, flowTermViscosity, oofem::KelvinChainSolidMaterialStatus::saveContext(), THROW_CIOERR, and oofem::DataStream::write().

Referenced by oofem::MPSDamMaterialStatus::saveContext(), and ~MPSMaterialStatus().

void oofem::MPSMaterialStatus::setCreepStrainIncrement ( FloatArray  src)
inline

Definition at line 185 of file mps.h.

Referenced by oofem::MPSMaterial::giveEigenStrainVector().

void oofem::MPSMaterialStatus::setEmodulusFlag ( bool  src)
inline

Definition at line 171 of file mps.h.

Referenced by oofem::MPSMaterial::giveEModulus().

void oofem::MPSMaterialStatus::setEquivalentTimeTemp ( double  src)
inline

Stores equivalent time.

Definition at line 162 of file mps.h.

Referenced by oofem::MPSMaterial::giveRealStressVector().

void oofem::MPSMaterialStatus::setFlowTermViscosityTemp ( double  src)
inline

Definition at line 167 of file mps.h.

Referenced by oofem::MPSMaterial::computeFlowTermViscosity().

void oofem::MPSMaterialStatus::setHum ( double  src)
inline

Stores relative humidity.

Definition at line 138 of file mps.h.

Referenced by oofem::MPSMaterial::giveHumidity().

void oofem::MPSMaterialStatus::setHumIncrement ( double  src)
inline

Stores relative humidity increment.

Definition at line 142 of file mps.h.

Referenced by oofem::MPSMaterial::giveHumidity().

void oofem::MPSMaterialStatus::setT ( double  src)
inline

Stores temperature.

Definition at line 147 of file mps.h.

Referenced by oofem::MPSMaterial::giveTemperature().

void oofem::MPSMaterialStatus::setTempAutogenousShrinkageStrain ( double  src)
inline

Definition at line 181 of file mps.h.

Referenced by oofem::MPSMaterial::giveShrinkageStrainVector().

void oofem::MPSMaterialStatus::setTempDryingShrinkageStrain ( double  src)
inline

Definition at line 177 of file mps.h.

Referenced by oofem::MPSMaterial::giveShrinkageStrainVector().

void oofem::MPSMaterialStatus::setTIncrement ( double  src)
inline

Stores temperature increment.

Definition at line 152 of file mps.h.

Referenced by oofem::MPSMaterial::giveTemperature().

void oofem::MPSMaterialStatus::setTmax ( double  src)
inline

Stores maximum reached temperature.

Definition at line 157 of file mps.h.

Referenced by oofem::MPSMaterial::computeFlowTermViscosity().

void oofem::MPSMaterialStatus::storeEmodulus ( double  src)
inline

Returns Emodulus if computed previously in the same tStep.

Definition at line 170 of file mps.h.

Referenced by oofem::MPSMaterial::giveEModulus().

Member Data Documentation

double oofem::MPSMaterialStatus::autogenousShrinkageStrain
protected

Definition at line 118 of file mps.h.

Referenced by giveAutogenousShrinkageStrain(), MPSMaterialStatus(), and updateYourself().

FloatArray oofem::MPSMaterialStatus::creepStrain
protected

Definition at line 120 of file mps.h.

Referenced by giveCreepStrain(), MPSMaterialStatus(), and updateYourself().

FloatArray oofem::MPSMaterialStatus::creepStrainIncrement
protected

Definition at line 121 of file mps.h.

Referenced by initTempStatus(), MPSMaterialStatus(), and updateYourself().

double oofem::MPSMaterialStatus::dryingShrinkageStrain
protected

Definition at line 116 of file mps.h.

Referenced by giveDryingShrinkageStrain(), MPSMaterialStatus(), and updateYourself().

double oofem::MPSMaterialStatus::equivalentTime
protected

Hidden variable - equivalent time: necessary to compute solidified volume.

Definition at line 107 of file mps.h.

Referenced by oofem::MPSDamMaterial::giveClassName(), giveEquivalentTime(), MPSMaterialStatus(), restoreContext(), saveContext(), and updateYourself().

double oofem::MPSMaterialStatus::equivalentTimeTemp
protected

Definition at line 108 of file mps.h.

Referenced by initTempStatus(), MPSMaterialStatus(), and updateYourself().

double oofem::MPSMaterialStatus::flowTermViscosity
protected

Definition at line 109 of file mps.h.

Referenced by giveFlowTermViscosity(), restoreContext(), saveContext(), and updateYourself().

double oofem::MPSMaterialStatus::flowTermViscosityTemp
protected
double oofem::MPSMaterialStatus::hum
protected

Values of humidity and temperature in a particular GP and their increment.

Definition at line 101 of file mps.h.

Referenced by giveHum(), initTempStatus(), MPSMaterialStatus(), and updateYourself().

double oofem::MPSMaterialStatus::hum_increment
protected

Definition at line 102 of file mps.h.

Referenced by giveHumIncrement(), initTempStatus(), MPSMaterialStatus(), and updateYourself().

double oofem::MPSMaterialStatus::storedEmodulus
protected

Definition at line 113 of file mps.h.

Referenced by giveStoredEmodulus(), initTempStatus(), MPSMaterialStatus(), and updateYourself().

bool oofem::MPSMaterialStatus::storedEmodulusFlag
protected

flag for Emodulus - true if modulus has been already computed in the current time step

Definition at line 112 of file mps.h.

Referenced by giveStoredEmodulusFlag(), initTempStatus(), MPSMaterialStatus(), and updateYourself().

double oofem::MPSMaterialStatus::T
protected
double oofem::MPSMaterialStatus::T_increment
protected

Definition at line 104 of file mps.h.

Referenced by giveTIncrement(), initTempStatus(), MPSMaterialStatus(), and updateYourself().

double oofem::MPSMaterialStatus::T_max
protected

Definition at line 105 of file mps.h.

Referenced by giveTmax().

double oofem::MPSMaterialStatus::tempAutogenousShrinkageStrain
protected
double oofem::MPSMaterialStatus::tempDryingShrinkageStrain
protected

The documentation for this class was generated from the following files:

This page is part of the OOFEM documentation. Copyright (c) 2011 Borek Patzak
Project e-mail: info@oofem.org
Generated at Tue Jan 2 2018 20:07:38 for OOFEM by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2011