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

#include <rankinemat.h>

+ Inheritance diagram for oofem::RankineMatStatus:
+ Collaboration diagram for oofem::RankineMatStatus:

Public Member Functions

 RankineMatStatus (int n, Domain *d, GaussPoint *g)
 
virtual ~RankineMatStatus ()
 
const FloatArraygivePlasticStrain () const
 
double giveDamage ()
 
double giveTempDamage ()
 
double giveCumulativePlasticStrain ()
 
double giveTempCumulativePlasticStrain ()
 
double giveDKappa (int i)
 
double giveTangentShearStiffness ()
 
const FloatArraygiveEffectiveStress () const
 
const FloatArraygiveTempEffectiveStress () const
 
void letTempPlasticStrainBe (FloatArray values)
 
void letEffectiveStressBe (FloatArray values)
 
void letTempEffectiveStressBe (FloatArray values)
 
void setTempCumulativePlasticStrain (double value)
 
void setDKappa (double val1, double val2)
 
void setTempDamage (double value)
 
void setTangentShearStiffness (double value)
 
const FloatArraygivePlasDef ()
 
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...
 
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_PlaneStress (GaussPoint *gp, double gf)
 Computes the increment of total stress work and of dissipated work (gf is the dissipation density per unit volume at complete failure, it is needed only to determine which extremely small dissipation can be set to zero to get clean results, but parameter gf can be set to zero if not available). More...
 
void computeWork_1d (GaussPoint *gp, double gf)
 
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 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

FloatArray plasticStrain
 Plastic strain (initial). More...
 
FloatArray tempPlasticStrain
 Plastic strain (final). More...
 
FloatArray effStress
 Effective stress (initial). More...
 
FloatArray tempEffStress
 Effective stress (final). More...
 
double kappa
 Cumulative plastic strain (initial). More...
 
double tempKappa
 Cumulative plastic strain (final). More...
 
double dKappa1
 Increments of cumulative plastic strain associated with the first and secomnd principal stress (used in the case of vertex return, needed for stiffness) More...
 
double dKappa2
 
double damage
 Damage (initial). More...
 
double tempDamage
 Damage (final). More...
 
double tanG
 Tangent shear stiffness (needed for tangent matrix). 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
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

Definition at line 196 of file rankinemat.h.

Constructor & Destructor Documentation

oofem::RankineMatStatus::RankineMatStatus ( int  n,
Domain d,
GaussPoint g 
)
oofem::RankineMatStatus::~RankineMatStatus ( )
virtual

Definition at line 718 of file rankinemat.C.

Member Function Documentation

void oofem::RankineMatStatus::computeWork_PlaneStress ( GaussPoint gp,
double  gf 
)

Computes the increment of total stress work and of dissipated work (gf is the dissipation density per unit volume at complete failure, it is needed only to determine which extremely small dissipation can be set to zero to get clean results, but parameter gf can be set to zero if not available).

Definition at line 879 of file rankinemat.C.

References oofem::FloatArray::beDifferenceOf(), oofem::FloatArray::dotProduct(), oofem::StructuralMaterialStatus::strainVector, oofem::StructuralMaterialStatus::stressVector, stressWork, tempDissWork, tempPlasticStrain, oofem::StructuralMaterialStatus::tempStrainVector, oofem::StructuralMaterialStatus::tempStressVector, and tempStressWork.

Referenced by oofem::RankineMatNl::giveRealStressVector_PlaneStress(), oofem::RankineMat::giveRealStressVector_PlaneStress(), and oofem::RankineMatGrad::giveRealStressVectorGrad().

virtual const char* oofem::RankineMatStatus::giveClassName ( ) const
inlinevirtual
Returns
Class name of the receiver.

Reimplemented from oofem::StructuralMaterialStatus.

Reimplemented in oofem::RankineMatNlStatus, and oofem::RankineMatGradStatus.

Definition at line 322 of file rankinemat.h.

double oofem::RankineMatStatus::giveDissWork ( )
inline

Returns the density of dissipated work.

Definition at line 306 of file rankinemat.h.

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

const FloatArray& oofem::RankineMatStatus::giveEffectiveStress ( ) const
inline

Definition at line 268 of file rankinemat.h.

const FloatArray& oofem::RankineMatStatus::givePlasticStrain ( ) const
inline

Definition at line 248 of file rankinemat.h.

Referenced by oofem::RankineMat::performPlasticityReturn().

double oofem::RankineMatStatus::giveStressWork ( )
inline

Returns the density of total work of stress on strain increments.

Definition at line 300 of file rankinemat.h.

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

double oofem::RankineMatStatus::giveTangentShearStiffness ( )
inline

Definition at line 265 of file rankinemat.h.

Referenced by oofem::RankineMat::evaluatePlaneStressStiffMtrx().

double oofem::RankineMatStatus::giveTempDissWork ( )
inline

Returns the density of temp dissipated work.

Definition at line 308 of file rankinemat.h.

double oofem::RankineMatStatus::giveTempStressWork ( )
inline

Returns the temp density of total work of stress on strain increments.

Definition at line 302 of file rankinemat.h.

void oofem::RankineMatStatus::initTempStatus ( )
virtual
void oofem::RankineMatStatus::letEffectiveStressBe ( FloatArray  values)
inline

Definition at line 273 of file rankinemat.h.

void oofem::RankineMatStatus::letTempEffectiveStressBe ( FloatArray  values)
inline
void oofem::RankineMatStatus::letTempPlasticStrainBe ( FloatArray  values)
inline

Definition at line 271 of file rankinemat.h.

Referenced by oofem::RankineMat::performPlasticityReturn().

void oofem::RankineMatStatus::printOutputAt ( FILE *  file,
TimeStep tStep 
)
virtual

Print receiver's output to given stream.

Reimplemented from oofem::StructuralMaterialStatus.

Reimplemented in oofem::RankineMatGradStatus, and oofem::RankineMatNlStatus.

Definition at line 723 of file rankinemat.C.

References dissWork, kappa, plasticStrain, oofem::StructuralMaterialStatus::printOutputAt(), stressWork, and tempDamage.

contextIOResultType oofem::RankineMatStatus::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::StructuralMaterialStatus.

Reimplemented in oofem::RankineMatNlStatus.

Definition at line 835 of file rankinemat.C.

References oofem::CIO_IOERR, oofem::CIO_OK, damage, dissWork, kappa, plasticStrain, oofem::DataStream::read(), oofem::StructuralMaterialStatus::restoreContext(), oofem::FloatArray::restoreYourself(), stressWork, and THROW_CIOERR.

Referenced by oofem::RankineMatNlStatus::restoreContext().

contextIOResultType oofem::RankineMatStatus::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::StructuralMaterialStatus.

Reimplemented in oofem::RankineMatNlStatus.

Definition at line 793 of file rankinemat.C.

References oofem::CIO_IOERR, oofem::CIO_OK, damage, dissWork, kappa, plasticStrain, oofem::StructuralMaterialStatus::saveContext(), oofem::FloatArray::storeYourself(), stressWork, THROW_CIOERR, and oofem::DataStream::write().

Referenced by oofem::RankineMatNlStatus::saveContext().

void oofem::RankineMatStatus::setDKappa ( double  val1,
double  val2 
)
inline

Definition at line 279 of file rankinemat.h.

Referenced by oofem::RankineMat::performPlasticityReturn().

void oofem::RankineMatStatus::setTangentShearStiffness ( double  value)
inline

Definition at line 286 of file rankinemat.h.

Referenced by oofem::RankineMat::performPlasticityReturn().

void oofem::RankineMatStatus::setTempCumulativePlasticStrain ( double  value)
inline

Definition at line 277 of file rankinemat.h.

Referenced by oofem::RankineMat::performPlasticityReturn().

void oofem::RankineMatStatus::setTempDissWork ( double  w)
inline

Sets the density of dissipated work to given value.

Definition at line 310 of file rankinemat.h.

void oofem::RankineMatStatus::setTempStressWork ( double  w)
inline

Sets the density of total work of stress on strain increments to given value.

Definition at line 304 of file rankinemat.h.

void oofem::RankineMatStatus::updateYourself ( TimeStep )
virtual

Update equilibrium history variables according to temp-variables.

Invoked, after new equilibrium state has been reached.

Reimplemented from oofem::StructuralMaterialStatus.

Reimplemented in oofem::RankineMatNlStatus, and oofem::RankineMatGradStatus.

Definition at line 776 of file rankinemat.C.

References damage, dissWork, kappa, plasticStrain, stressWork, tempDamage, tempDissWork, tempKappa, tempPlasticStrain, tempStressWork, and oofem::StructuralMaterialStatus::updateYourself().

Referenced by oofem::RankineMatGradStatus::updateYourself(), and oofem::RankineMatNlStatus::updateYourself().

Member Data Documentation

double oofem::RankineMatStatus::dissWork
protected
double oofem::RankineMatStatus::dKappa1
protected

Increments of cumulative plastic strain associated with the first and secomnd principal stress (used in the case of vertex return, needed for stiffness)

Definition at line 222 of file rankinemat.h.

Referenced by RankineMatStatus().

double oofem::RankineMatStatus::dKappa2
protected

Definition at line 222 of file rankinemat.h.

Referenced by RankineMatStatus().

FloatArray oofem::RankineMatStatus::effStress
protected

Effective stress (initial).

Definition at line 206 of file rankinemat.h.

FloatArray oofem::RankineMatStatus::plasticStrain
protected
double oofem::RankineMatStatus::stressWork
protected
double oofem::RankineMatStatus::tanG
protected

Tangent shear stiffness (needed for tangent matrix).

Definition at line 231 of file rankinemat.h.

Referenced by RankineMatStatus().

double oofem::RankineMatStatus::tempDamage
protected
double oofem::RankineMatStatus::tempDissWork
protected

Non-equilibrated density of dissipated work.

Definition at line 241 of file rankinemat.h.

Referenced by computeWork_1d(), computeWork_PlaneStress(), initTempStatus(), RankineMatStatus(), and updateYourself().

FloatArray oofem::RankineMatStatus::tempEffStress
protected

Effective stress (final).

Definition at line 209 of file rankinemat.h.

double oofem::RankineMatStatus::tempKappa
protected

Cumulative plastic strain (final).

Definition at line 215 of file rankinemat.h.

Referenced by oofem::RankineMatGradStatus::initTempStatus(), initTempStatus(), RankineMatStatus(), and updateYourself().

FloatArray oofem::RankineMatStatus::tempPlasticStrain
protected
double oofem::RankineMatStatus::tempStressWork
protected

Non-equilibrated density of total work done by stresses on strain increments.

Definition at line 237 of file rankinemat.h.

Referenced by computeWork_1d(), computeWork_PlaneStress(), initTempStatus(), RankineMatStatus(), and updateYourself().


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:40 for OOFEM by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2011