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

This class implements a FRCFCMNL material in a finite element problem. More...

#include <frcfcmnl.h>

+ Inheritance diagram for oofem::FRCFCMNLStatus:
+ Collaboration diagram for oofem::FRCFCMNLStatus:

Public Member Functions

 FRCFCMNLStatus (int n, Domain *d, GaussPoint *g)
 
virtual ~FRCFCMNLStatus ()
 
double giveFiberStressLoc (int icrack)
 LOCAL FIBER STRESSES (from crack opening) More...
 
double giveTempFiberStressLoc (int icrack)
 
void setTempFiberStressLoc (int icrack, double newFiberStressLoc)
 
double giveFiberStressNL (int icrack)
 NON-LOCAL FIBER STRESSES (from surrounding cracks) More...
 
double giveTempFiberStressNL (int icrack)
 
void setTempFiberStressNL (int icrack, double newFiberStressNL)
 
virtual void printOutputAt (FILE *file, TimeStep *tStep)
 Writes information into the output file. More...
 
virtual const char * giveClassName () const
 
virtual void initTempStatus ()
 initializes temporary status More...
 
virtual void updateYourself (TimeStep *tStep)
 replaces equilibrated values with temporary values More...
 
virtual contextIOResultType saveContext (DataStream &stream, ContextMode mode, void *obj=NULL)
 saves current context(state) into stream More...
 
virtual contextIOResultType restoreContext (DataStream &stream, ContextMode mode, void *obj=NULL)
 restores context(state) from stream More...
 
virtual InterfacegiveInterface (InterfaceType)
 Interface requesting service. More...
 
- Public Member Functions inherited from oofem::FRCFCMStatus
 FRCFCMStatus (int n, Domain *d, GaussPoint *g)
 
virtual ~FRCFCMStatus ()
 
double giveDamage ()
 Returns the last equilibrated damage level. More...
 
double giveTempDamage ()
 Returns the temporary damage level. More...
 
void setTempDamage (double newDamage)
 Sets the temp damage level to given value. More...
 
- Public Member Functions inherited from oofem::ConcreteFCMStatus
 ConcreteFCMStatus (int n, Domain *d, GaussPoint *g)
 
virtual ~ConcreteFCMStatus ()
 
- Public Member Functions inherited from oofem::FCMMaterialStatus
 FCMMaterialStatus (int n, Domain *d, GaussPoint *g)
 
virtual ~FCMMaterialStatus ()
 
virtual int giveNumberOfCracks () const
 returns number of cracks from the previous time step (equilibrated value) More...
 
virtual int giveNumberOfTempCracks () const
 returns temporary number of cracks More...
 
const FloatArraygiveMaxCrackStrainVector ()
 returns vector with maximum cracking strains (max 3 components) More...
 
double giveMaxCrackStrain (int icrack)
 returns maximum crack strain for the i-th crack (equilibrated value) More...
 
void setMaxCrackStrain (int icrack, double val)
 sets value of the maximum crack strain for the i-th crack (equilibrated value) More...
 
double giveTempMaxCrackStrain (int icrack)
 returns maximum crack strain for the i-th crack (temporary value) More...
 
void setTempMaxCrackStrain (int icrack, double val)
 sets value of the maximum crack strain for the i-th crack (temporary value) More...
 
const IntArraygiveTempCrackStatus ()
 returns vector of temporary crack statuses More...
 
int giveTempCrackStatus (int icrack) const
 returns temporary value of status associated with i-th crack direction More...
 
void setTempCrackStatus (int icrack, int val)
 sets temporary value of status for of the i-th crack More...
 
int giveCrackStatus (int icrack) const
 return equilibrated value of status associated with i-th crack direction More...
 
const FloatArraygiveCrackStrainVector () const
 return equilibrated crack strain vector (max 6 components) More...
 
const FloatArraygiveTempCrackStrainVector ()
 return temporary crack strain vector (max 6 components) More...
 
double giveCrackStrain (int icrack) const
 returns i-th component of the crack strain vector (equilibrated) More...
 
double giveTempCrackStrain (int icrack) const
 returns i-th component of the crack strain vector (temporary) More...
 
void setTempCrackStrainVector (FloatArray a)
 sets temporary vector of cracking strains (max 6 components) More...
 
void setTempCrackStrain (int icrack, double val)
 sets temporary value of i-th cracking strain (max 6 components) More...
 
void setCrackStrainVector (FloatArray a)
 sets equilibrated vector of cracking strains (max 6 components) More...
 
void setG2LStressVectorTransformationMtrx (FloatMatrix t)
 sets transformation matrix for stress transformation from global to local coordinate system More...
 
void setG2LStrainVectorTransformationMtrx (FloatMatrix s)
 sets transformation matrix for strain transformation from global to local coordinate system More...
 
void setL2GStressVectorTransformationMtrx (FloatMatrix t)
 sets transformation matrix for stress transformation from local to global coordinate system More...
 
void setL2GStrainVectorTransformationMtrx (FloatMatrix s)
 sets transformation matrix for stress transformation from global to local coordinate system More...
 
const FloatMatrixgiveG2LStressVectorTransformationMtrx ()
 returns transformation matrix for stress transformation from global to local coordinate system More...
 
const FloatMatrixgiveG2LStrainVectorTransformationMtrx ()
 sets transformation matrix for strain transformation from global to local coordinate system More...
 
const FloatMatrixgiveL2GStressVectorTransformationMtrx ()
 sets transformation matrix for stress transformation from local to global coordinate system More...
 
const FloatMatrixgiveL2GStrainVectorTransformationMtrx ()
 sets transformation matrix for stress transformation from global to local coordinate system More...
 
double giveCharLength (int icrack) const
 returns characteristic length associated with i-th crack direction More...
 
void setCharLength (int icrack, double val)
 sets characteristic length for i-th crack More...
 
const FloatMatrixgiveCrackDirs ()
 returns crack directions More...
 
const IntArraygiveCrackStatus ()
 returns crack statuses More...
 
void setCrackDirs (FloatMatrix a)
 sets matrix with crack directions (normal vectors) More...
 
virtual int giveMaxNumberOfCracks (GaussPoint *gp)
 returns maximum number of cracks associated with current mode More...
 
- 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...
 
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...
 
- Public Member Functions inherited from oofem::RandomMaterialStatusExtensionInterface
 RandomMaterialStatusExtensionInterface ()
 Constructor. More...
 
virtual ~RandomMaterialStatusExtensionInterface ()
 Destructor. More...
 
bool _giveProperty (int key, double &value)
 Returns the value of random property, identified by a key. More...
 
void _setProperty (int key, double value)
 Sets the value of random property, identified by a key. More...
 
- Public Member Functions inherited from oofem::Interface
 Interface ()
 Constructor. More...
 
virtual ~Interface ()
 
- Public Member Functions inherited from oofem::StructuralNonlocalMaterialStatusExtensionInterface
 StructuralNonlocalMaterialStatusExtensionInterface ()
 
 ~StructuralNonlocalMaterialStatusExtensionInterface ()
 
- Public Member Functions inherited from oofem::NonlocalMaterialStatusExtensionInterface
 NonlocalMaterialStatusExtensionInterface ()
 Constructor. More...
 
virtual ~NonlocalMaterialStatusExtensionInterface ()
 Destructor. More...
 
std::vector< localIntegrationRecord > * giveIntegrationDomainList ()
 Returns integration list of receiver. More...
 
double giveIntegrationScale ()
 Returns associated integration scale. More...
 
void setIntegrationScale (double val)
 Sets associated integration scale. More...
 
double giveVolumeAround ()
 Returns associated volume. More...
 
void setVolumeAround (double val)
 Sets associated integration scale. More...
 
void clear ()
 clears the integration list of receiver More...
 

Protected Attributes

FloatArray fiberStressLoc
 bulk stress in fibers - evaluated from crack opening More...
 
FloatArray tempFiberStressLoc
 Non-equilibrated stress (bulk) in fibers. More...
 
FloatArray fiberStressNL
 bulk stress in fibers - evaluated from crack opening More...
 
FloatArray tempFiberStressNL
 Non-equilibrated stress (bulk) in fibers. More...
 
- Protected Attributes inherited from oofem::FRCFCMStatus
double damage
 Damage level of material. More...
 
double tempDamage
 Non-equilibrated damage level of material. More...
 
- Protected Attributes inherited from oofem::FCMMaterialStatus
IntArray crackStatuses
 crack statuses (none, just initialized, softenin, unlo-relo, closed) More...
 
IntArray tempCrackStatuses
 
FloatArray maxCrackStrains
 Max. crack strain reached in the entire previous history. More...
 
FloatArray tempMaxCrackStrains
 
FloatArray crackStrainVector
 Components of crack strain vector (normal as well as shear). More...
 
FloatArray tempCrackStrainVector
 
FloatMatrix crackDirs
 Storing direction of cracks (crack normals) in columwise format. More...
 
FloatArray charLengths
 Characteristic lengths computed from the crack orientation and element geometry. More...
 
FloatMatrix transMatrix_G2Lstress
 transformation matrix converting stress from global to local coordinate system More...
 
FloatMatrix transMatrix_G2Lstrain
 transformation matrix converting strain from global to local coordinate system More...
 
FloatMatrix transMatrix_L2Gstress
 transformation matrix converting stress from local to global coordinate system More...
 
FloatMatrix transMatrix_L2Gstrain
 transformation matrix converting strain from local to global coordinate system More...
 
int nMaxCracks
 number of maximum possible cracks (optional parameter) 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
 
- Protected Attributes inherited from oofem::RandomMaterialStatusExtensionInterface
Dictionary randProperties
 Dictionary containing material model values. More...
 
- Protected Attributes inherited from oofem::NonlocalMaterialStatusExtensionInterface
std::vector< localIntegrationRecordintegrationDomainList
 List containing localIntegrationRecord values. More...
 
double integrationScale
 Nonlocal volume around the corresponding integration point. More...
 
double volumeAround
 Local volume around the corresponding integration point. More...
 

Detailed Description

This class implements a FRCFCMNL material in a finite element problem.

It extends frcfcm model to behave as nonlocal in terms of crack spacing

Definition at line 57 of file frcfcmnl.h.

Constructor & Destructor Documentation

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

Definition at line 806 of file frcfcmnl.C.

Member Function Documentation

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

Reimplemented from oofem::FRCFCMStatus.

Definition at line 89 of file frcfcmnl.h.

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

double oofem::FRCFCMNLStatus::giveFiberStressLoc ( int  icrack)
inline

LOCAL FIBER STRESSES (from crack opening)

Definition at line 77 of file frcfcmnl.h.

References oofem::FloatArray::at().

Referenced by oofem::FRCFCMNL::giveIPValue(), and printOutputAt().

double oofem::FRCFCMNLStatus::giveFiberStressNL ( int  icrack)
inline

NON-LOCAL FIBER STRESSES (from surrounding cracks)

Definition at line 82 of file frcfcmnl.h.

References oofem::FloatArray::at().

Referenced by oofem::FRCFCMNL::giveIPValue(), oofem::FRCFCMNL::giveRealStressVector(), oofem::FRCFCMNL::isStrengthExceeded(), and printOutputAt().

Interface * oofem::FRCFCMNLStatus::giveInterface ( InterfaceType  t)
virtual

Interface requesting service.

See also
InterfaceType
Returns
Requested interface if implemented, otherwise NULL.

Reimplemented from oofem::ConcreteFCMStatus.

Definition at line 913 of file frcfcmnl.C.

References oofem::ConcreteFCMStatus::giveInterface(), and oofem::NonlocalMaterialStatusExtensionInterfaceType.

Referenced by giveClassName(), and oofem::FRCFCMNL::giveInputRecordName().

double oofem::FRCFCMNLStatus::giveTempFiberStressLoc ( int  icrack)
inline
double oofem::FRCFCMNLStatus::giveTempFiberStressNL ( int  icrack)
inline

Definition at line 83 of file frcfcmnl.h.

References oofem::FloatArray::at().

void oofem::FRCFCMNLStatus::initTempStatus ( )
virtual

initializes temporary status

Reimplemented from oofem::FRCFCMStatus.

Definition at line 831 of file frcfcmnl.C.

References fiberStressLoc, fiberStressNL, oofem::FRCFCMStatus::initTempStatus(), tempFiberStressLoc, and tempFiberStressNL.

Referenced by giveClassName().

void oofem::FRCFCMNLStatus::printOutputAt ( FILE *  file,
TimeStep tStep 
)
virtual
contextIOResultType oofem::FRCFCMNLStatus::restoreContext ( DataStream stream,
ContextMode  mode,
void *  obj = NULL 
)
virtual

restores context(state) from stream

Reimplemented from oofem::FRCFCMStatus.

Definition at line 887 of file frcfcmnl.C.

References oofem::CIO_OK, fiberStressLoc, fiberStressNL, oofem::FRCFCMStatus::restoreContext(), oofem::FloatArray::restoreYourself(), and THROW_CIOERR.

Referenced by giveClassName().

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

saves current context(state) into stream

Reimplemented from oofem::FRCFCMStatus.

Definition at line 862 of file frcfcmnl.C.

References oofem::CIO_OK, fiberStressLoc, fiberStressNL, oofem::FRCFCMStatus::saveContext(), oofem::FloatArray::storeYourself(), and THROW_CIOERR.

Referenced by giveClassName().

void oofem::FRCFCMNLStatus::setTempFiberStressLoc ( int  icrack,
double  newFiberStressLoc 
)
inline

Definition at line 79 of file frcfcmnl.h.

References oofem::FloatArray::at().

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

void oofem::FRCFCMNLStatus::setTempFiberStressNL ( int  icrack,
double  newFiberStressNL 
)
inline
void oofem::FRCFCMNLStatus::updateYourself ( TimeStep tStep)
virtual

replaces equilibrated values with temporary values

Reimplemented from oofem::FRCFCMStatus.

Definition at line 846 of file frcfcmnl.C.

References fiberStressLoc, fiberStressNL, tempFiberStressLoc, tempFiberStressNL, and oofem::FRCFCMStatus::updateYourself().

Referenced by giveClassName().

Member Data Documentation

FloatArray oofem::FRCFCMNLStatus::fiberStressLoc
protected

bulk stress in fibers - evaluated from crack opening

Definition at line 62 of file frcfcmnl.h.

Referenced by FRCFCMNLStatus(), initTempStatus(), restoreContext(), saveContext(), and updateYourself().

FloatArray oofem::FRCFCMNLStatus::fiberStressNL
protected

bulk stress in fibers - evaluated from crack opening

Definition at line 67 of file frcfcmnl.h.

Referenced by FRCFCMNLStatus(), initTempStatus(), restoreContext(), saveContext(), and updateYourself().

FloatArray oofem::FRCFCMNLStatus::tempFiberStressLoc
protected

Non-equilibrated stress (bulk) in fibers.

Definition at line 64 of file frcfcmnl.h.

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

FloatArray oofem::FRCFCMNLStatus::tempFiberStressNL
protected

Non-equilibrated stress (bulk) in fibers.

Definition at line 69 of file frcfcmnl.h.

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