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

This class implements a structural interface material status information. More...

#include <structuralinterfacematerialstatus.h>

+ Inheritance diagram for oofem::StructuralInterfaceMaterialStatus:
+ Collaboration diagram for oofem::StructuralInterfaceMaterialStatus:

Public Member Functions

 StructuralInterfaceMaterialStatus (int n, Domain *d, GaussPoint *g)
 Constructor. Creates new StructuralInterfaceMaterialStatus with number n, belonging to domain d and IntegrationPoint g. More...
 
virtual ~StructuralInterfaceMaterialStatus ()
 Destructor. More...
 
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 FloatArraygiveJump () const
 Returns the const pointer to receiver's jump. More...
 
const FloatArraygiveTraction () const
 Returns the const pointer to receiver's traction vector. More...
 
const FloatArraygiveFirstPKTraction () const
 Returns the const pointer to receiver's first Piola-Kirchhoff traction vector. More...
 
const FloatMatrixgiveF () const
 Returns the const pointer to receiver's deformation gradient vector. More...
 
const FloatArraygiveTempJump () const
 Returns the const pointer to receiver's temporary jump. More...
 
const FloatArraygiveTempTraction () const
 Returns the const pointer to receiver's temporary traction vector. More...
 
const FloatArraygiveTempFirstPKTraction () const
 Returns the const pointer to receiver's temporary first Piola-Kirchhoff traction vector. More...
 
const FloatMatrixgiveTempF () const
 Returns the const pointer to receiver's temporary deformation gradient vector. More...
 
const FloatArraygiveNormal () const
 Returns const reference to normal vector. More...
 
const FloatArraygiveProjectedTraction () const
 Returns the projected traction. More...
 
void letJumpBe (FloatArray v)
 Assigns jump to given vector v. More...
 
void letTractionBe (FloatArray v)
 Assigns traction to given vector v. More...
 
void letFirstPKTractionBe (FloatArray v)
 Assigns firstPKTraction to given vector v. More...
 
void letFBe (FloatMatrix v)
 Assigns FVector to given vector v. More...
 
void letTempTractionBe (FloatArray v)
 Assigns tempTraction to given vector v. More...
 
void letTempJumpBe (FloatArray v)
 Assigns tempJump to given vector v. More...
 
void letTempFirstPKTractionBe (FloatArray v)
 Assigns tempFirstPKTraction to given vector v. More...
 
void letTempFBe (FloatMatrix v)
 Assigns tempFVector to given vector v. More...
 
void letNormalBe (FloatArray iN)
 Assigns normal vector. More...
 
void letProjectedTractionBe (FloatArray iProjectedTraction)
 Assigns projeted traction. More...
 
virtual const char * giveClassName () const
 
virtual void copyStateVariables (const MaterialStatus &iStatus)
 Functions for MaterialStatusMapperInterface. More...
 
virtual void addStateVariables (const MaterialStatus &iStatus)
 
bool giveNewlyInserted () const
 
void setNewlyInserted (bool iNewlyInserted)
 
virtual double giveDamage ()
 
virtual double giveTempDamage ()
 
- 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 jump
 Equilibrated jump (discontinuity) More...
 
FloatArray traction
 Equilibrated (engineering) traction vector. More...
 
FloatArray tempTraction
 Temporary (engineering) traction vector. More...
 
FloatArray tempJump
 Temporary jump (discontinuity) More...
 
FloatArray firstPKTraction
 Equilibrated first Piola-Kirchhoff traction vector T. More...
 
FloatArray tempFirstPKTraction
 Temporary first Piola-Kirchhoff traction vector (to find balanced state) More...
 
FloatMatrix F
 Equilibrated deformation gradient in reduced form. More...
 
FloatMatrix tempF
 Temporary deformation gradient in reduced form (to find balanced state) More...
 
FloatArray mNormalDir
 Interface normal direction. More...
 
bool mNewlyInserted
 
FloatArray projectedTraction
 
- 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 a structural interface material status information.

It is attribute of gaussPoint. This is only an abstract class, for every instance of this material class there should be a specialized derived class, which handles are history variables.

This is a base class for all material statuses corresponding to materials derived from StructuralInterfaceMaterial class. It defines the traction, jump (discontinuity), deformation gradient and their temporary counterparts. Functions for accessing these components are defined.

Tasks: This is abstract class - only basic functionality is supported like:

  • maintaining and providing access to stress and strain vectors (including their increments)
  • storing and restoring status on tape
  • printingYourself()
  • updating Yourself after a new equilibrium state has been reached.

Definition at line 66 of file structuralinterfacematerialstatus.h.

Constructor & Destructor Documentation

oofem::StructuralInterfaceMaterialStatus::StructuralInterfaceMaterialStatus ( int  n,
Domain d,
GaussPoint g 
)

Constructor. Creates new StructuralInterfaceMaterialStatus with number n, belonging to domain d and IntegrationPoint g.

Definition at line 43 of file structuralinterfacematerialstatus.C.

References oofem::FloatMatrix::beUnitMatrix(), F, and tempF.

Referenced by oofem::IntMatBilinearCZElastic::CreateStatus().

oofem::StructuralInterfaceMaterialStatus::~StructuralInterfaceMaterialStatus ( )
virtual

Destructor.

Definition at line 52 of file structuralinterfacematerialstatus.C.

Member Function Documentation

void oofem::StructuralInterfaceMaterialStatus::addStateVariables ( const MaterialStatus iStatus)
virtual

Implements oofem::MaterialStatusMapperInterface.

Reimplemented in oofem::IntMatBilinearCZStatus.

Definition at line 175 of file structuralinterfacematerialstatus.C.

References OOFEM_ERROR.

Referenced by giveClassName().

const FloatMatrix& oofem::StructuralInterfaceMaterialStatus::giveF ( ) const
inline

Returns the const pointer to receiver's deformation gradient vector.

Definition at line 115 of file structuralinterfacematerialstatus.h.

References F.

Referenced by copyStateVariables(), and oofem::StructuralInterfaceMaterial::giveIPValue().

const FloatArray& oofem::StructuralInterfaceMaterialStatus::giveFirstPKTraction ( ) const
inline

Returns the const pointer to receiver's first Piola-Kirchhoff traction vector.

Definition at line 113 of file structuralinterfacematerialstatus.h.

References firstPKTraction.

Referenced by copyStateVariables(), oofem::StructuralInterfaceMaterial::giveIPValue(), oofem::GnuplotExportModule::outputXFEM(), and oofem::Shell7BaseXFEM::recoverShearStress().

const FloatArray& oofem::StructuralInterfaceMaterialStatus::giveJump ( ) const
inline
bool oofem::StructuralInterfaceMaterialStatus::giveNewlyInserted ( ) const
inline

Definition at line 155 of file structuralinterfacematerialstatus.h.

References mNewlyInserted.

const FloatArray& oofem::StructuralInterfaceMaterialStatus::giveNormal ( ) const
inline
const FloatArray& oofem::StructuralInterfaceMaterialStatus::giveProjectedTraction ( ) const
inline

Returns the projected traction.

Definition at line 127 of file structuralinterfacematerialstatus.h.

References projectedTraction.

Referenced by oofem::GnuplotExportModule::outputInterfaceEl().

const FloatMatrix& oofem::StructuralInterfaceMaterialStatus::giveTempF ( ) const
inline
const FloatArray& oofem::StructuralInterfaceMaterialStatus::giveTempFirstPKTraction ( ) const
inline
const FloatArray& oofem::StructuralInterfaceMaterialStatus::giveTempJump ( ) const
inline

Returns the const pointer to receiver's temporary jump.

Definition at line 117 of file structuralinterfacematerialstatus.h.

References tempJump.

Referenced by oofem::IntElLine1PF::computeFreeEnergy(), oofem::IntElLine1PF::computeGMatrix(), copyStateVariables(), oofem::StructuralInterfaceMaterial::give1dStiffnessMatrix_dTdj_Num(), oofem::StructuralInterfaceMaterial::give1dStiffnessMatrix_Eng_Num(), oofem::StructuralInterfaceMaterial::give2dStiffnessMatrix_dTdj_Num(), oofem::IntMatIsoDamage::give2dStiffnessMatrix_Eng(), oofem::StructuralInterfaceMaterial::give2dStiffnessMatrix_Eng_Num(), oofem::IntMatBilinearCZElastic::give3dStiffnessMatrix_dTdj(), oofem::IntMatBilinearCZJansson::give3dStiffnessMatrix_dTdj(), oofem::IntMatBilinearCZFagerstrom::give3dStiffnessMatrix_dTdj(), oofem::StructuralInterfaceMaterial::give3dStiffnessMatrix_dTdj_Num(), oofem::CohesiveInterfaceMaterial::give3dStiffnessMatrix_Eng(), oofem::IntMatPhaseField::give3dStiffnessMatrix_Eng(), oofem::SimpleInterfaceMaterial::give3dStiffnessMatrix_Eng(), oofem::ExpCZMaterial::give3dStiffnessMatrix_Eng(), oofem::IsoInterfaceDamageMaterial::give3dStiffnessMatrix_Eng(), oofem::IsoInterfaceDamageMaterial_2::give3dStiffnessMatrix_Eng(), oofem::IntMatIsoDamage::give3dStiffnessMatrix_Eng(), oofem::StructuralInterfaceMaterial::give3dStiffnessMatrix_Eng_Num(), oofem::IntMatBilinearCZFagerstromRate::giveFirstPKTraction_3d(), oofem::IntMatBilinearCZFagerstrom::giveFirstPKTraction_3d(), oofem::IntMatBilinearCZJansson::giveFirstPKTraction_3d(), oofem::IntMatCoulombContact::giveGeneralStiffnessMatrix(), oofem::StructuralInterfaceMaterial::giveInputRecord(), and oofem::IntMatPhaseField::giveTangents().

const FloatArray& oofem::StructuralInterfaceMaterialStatus::giveTempTraction ( ) const
inline

Returns the const pointer to receiver's temporary traction vector.

Definition at line 119 of file structuralinterfacematerialstatus.h.

References tempTraction.

Referenced by copyStateVariables().

const FloatArray& oofem::StructuralInterfaceMaterialStatus::giveTraction ( ) const
inline
void oofem::StructuralInterfaceMaterialStatus::initTempStatus ( )
virtual

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

Reimplemented from oofem::MaterialStatus.

Reimplemented in oofem::IntMatBilinearCZFagerstromStatus, oofem::IntMatBilinearCZJanssonStatus, oofem::IsoInterfaceDamageMaterialStatus_2, oofem::IntMatIsoDamageStatus, oofem::IsoInterfaceDamageMaterialStatus, oofem::BondCEBMaterialStatus, oofem::CebFipSlip90MaterialStatus, oofem::IntMatBilinearCZStatus, oofem::IntMatPhaseFieldStatus, oofem::SimpleInterfaceMaterialStatus, oofem::IntMatBilinearCZElasticStatus, oofem::ExpCZMaterialStatus, and oofem::IntMatCoulombContactStatus.

Definition at line 86 of file structuralinterfacematerialstatus.C.

References F, firstPKTraction, oofem::FEMComponent::giveDomain(), giveJump(), giveTraction(), oofem::MaterialStatus::initTempStatus(), jump, oofem::FloatArray::resize(), tempF, tempFirstPKTraction, tempJump, tempTraction, traction, and oofem::FloatArray::zero().

Referenced by oofem::ExpCZMaterialStatus::initTempStatus(), oofem::IntMatCoulombContactStatus::initTempStatus(), oofem::SimpleInterfaceMaterialStatus::initTempStatus(), oofem::IntMatPhaseFieldStatus::initTempStatus(), oofem::CebFipSlip90MaterialStatus::initTempStatus(), oofem::BondCEBMaterialStatus::initTempStatus(), oofem::IsoInterfaceDamageMaterialStatus::initTempStatus(), oofem::IntMatIsoDamageStatus::initTempStatus(), oofem::IsoInterfaceDamageMaterialStatus_2::initTempStatus(), oofem::IntMatBilinearCZJanssonStatus::initTempStatus(), and oofem::IntMatBilinearCZFagerstromStatus::initTempStatus().

void oofem::StructuralInterfaceMaterialStatus::letFBe ( FloatMatrix  v)
inline

Assigns FVector to given vector v.

Definition at line 135 of file structuralinterfacematerialstatus.h.

void oofem::StructuralInterfaceMaterialStatus::letFirstPKTractionBe ( FloatArray  v)
inline

Assigns firstPKTraction to given vector v.

Definition at line 133 of file structuralinterfacematerialstatus.h.

void oofem::StructuralInterfaceMaterialStatus::letJumpBe ( FloatArray  v)
inline

Assigns jump to given vector v.

Definition at line 129 of file structuralinterfacematerialstatus.h.

void oofem::StructuralInterfaceMaterialStatus::letNormalBe ( FloatArray  iN)
inline
void oofem::StructuralInterfaceMaterialStatus::letProjectedTractionBe ( FloatArray  iProjectedTraction)
inline

Assigns projeted traction.

Definition at line 147 of file structuralinterfacematerialstatus.h.

Referenced by oofem::IntElLine1IntPen::giveInternalForcesVector().

void oofem::StructuralInterfaceMaterialStatus::letTempFBe ( FloatMatrix  v)
inline
void oofem::StructuralInterfaceMaterialStatus::letTractionBe ( FloatArray  v)
inline

Assigns traction to given vector v.

Definition at line 131 of file structuralinterfacematerialstatus.h.

contextIOResultType oofem::StructuralInterfaceMaterialStatus::restoreContext ( DataStream stream,
ContextMode  mode,
void *  obj = NULL 
)
virtual
contextIOResultType oofem::StructuralInterfaceMaterialStatus::saveContext ( DataStream stream,
ContextMode  mode,
void *  obj = NULL 
)
virtual
void oofem::StructuralInterfaceMaterialStatus::setNewlyInserted ( bool  iNewlyInserted)
inline
void oofem::StructuralInterfaceMaterialStatus::updateYourself ( TimeStep )
virtual

Update equilibrium history variables according to temp-variables.

Invoked, after new equilibrium state has been reached.

Reimplemented from oofem::MaterialStatus.

Reimplemented in oofem::IntMatBilinearCZFagerstromStatus, oofem::IntMatBilinearCZJanssonStatus, oofem::IsoInterfaceDamageMaterialStatus_2, oofem::IntMatIsoDamageStatus, oofem::IsoInterfaceDamageMaterialStatus, oofem::BondCEBMaterialStatus, oofem::CebFipSlip90MaterialStatus, oofem::IntMatBilinearCZStatus, oofem::IntMatPhaseFieldStatus, oofem::SimpleInterfaceMaterialStatus, oofem::IntMatBilinearCZElasticStatus, oofem::ExpCZMaterialStatus, and oofem::IntMatCoulombContactStatus.

Definition at line 74 of file structuralinterfacematerialstatus.C.

References F, firstPKTraction, jump, tempF, tempFirstPKTraction, tempJump, tempTraction, traction, and oofem::MaterialStatus::updateYourself().

Referenced by oofem::ExpCZMaterialStatus::updateYourself(), oofem::IntMatCoulombContactStatus::updateYourself(), oofem::SimpleInterfaceMaterialStatus::updateYourself(), oofem::IntMatBilinearCZStatus::updateYourself(), oofem::IntMatPhaseFieldStatus::updateYourself(), oofem::CebFipSlip90MaterialStatus::updateYourself(), oofem::BondCEBMaterialStatus::updateYourself(), oofem::IsoInterfaceDamageMaterialStatus::updateYourself(), oofem::IntMatIsoDamageStatus::updateYourself(), oofem::IsoInterfaceDamageMaterialStatus_2::updateYourself(), oofem::IntMatBilinearCZJanssonStatus::updateYourself(), and oofem::IntMatBilinearCZFagerstromStatus::updateYourself().

Member Data Documentation

FloatArray oofem::StructuralInterfaceMaterialStatus::firstPKTraction
protected

Equilibrated first Piola-Kirchhoff traction vector T.

Definition at line 79 of file structuralinterfacematerialstatus.h.

Referenced by copyStateVariables(), giveFirstPKTraction(), initTempStatus(), and updateYourself().

bool oofem::StructuralInterfaceMaterialStatus::mNewlyInserted
protected

Definition at line 90 of file structuralinterfacematerialstatus.h.

Referenced by giveNewlyInserted().

FloatArray oofem::StructuralInterfaceMaterialStatus::mNormalDir
protected

Interface normal direction.

Definition at line 88 of file structuralinterfacematerialstatus.h.

Referenced by copyStateVariables(), and giveNormal().

FloatArray oofem::StructuralInterfaceMaterialStatus::projectedTraction
protected

Definition at line 92 of file structuralinterfacematerialstatus.h.

Referenced by giveProjectedTraction().

FloatMatrix oofem::StructuralInterfaceMaterialStatus::tempF
protected

Temporary deformation gradient in reduced form (to find balanced state)

Definition at line 85 of file structuralinterfacematerialstatus.h.

Referenced by copyStateVariables(), giveTempF(), initTempStatus(), StructuralInterfaceMaterialStatus(), and updateYourself().

FloatArray oofem::StructuralInterfaceMaterialStatus::tempFirstPKTraction
protected

Temporary first Piola-Kirchhoff traction vector (to find balanced state)

Definition at line 81 of file structuralinterfacematerialstatus.h.

Referenced by copyStateVariables(), giveTempFirstPKTraction(), initTempStatus(), and updateYourself().

FloatArray oofem::StructuralInterfaceMaterialStatus::tempJump
protected

Temporary jump (discontinuity)

Definition at line 76 of file structuralinterfacematerialstatus.h.

Referenced by copyStateVariables(), giveTempJump(), initTempStatus(), and updateYourself().

FloatArray oofem::StructuralInterfaceMaterialStatus::tempTraction
protected

Temporary (engineering) traction vector.

Definition at line 74 of file structuralinterfacematerialstatus.h.

Referenced by copyStateVariables(), giveTempTraction(), initTempStatus(), and updateYourself().

FloatArray oofem::StructuralInterfaceMaterialStatus::traction
protected

Equilibrated (engineering) traction vector.

Definition at line 72 of file structuralinterfacematerialstatus.h.

Referenced by copyStateVariables(), giveTraction(), initTempStatus(), printOutputAt(), 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:42 for OOFEM by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2011