OOFEM
2.4
OOFEM.org - Object Oriented Finite Element Solver
|
This class implements a FRCFCMNL material in a finite element problem. More...
#include <frcfcmnl.h>
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 Interface * | giveInterface (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 FloatArray & | giveMaxCrackStrainVector () |
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 IntArray & | giveTempCrackStatus () |
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 FloatArray & | giveCrackStrainVector () const |
return equilibrated crack strain vector (max 6 components) More... | |
const FloatArray & | giveTempCrackStrainVector () |
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 FloatMatrix & | giveG2LStressVectorTransformationMtrx () |
returns transformation matrix for stress transformation from global to local coordinate system More... | |
const FloatMatrix & | giveG2LStrainVectorTransformationMtrx () |
sets transformation matrix for strain transformation from global to local coordinate system More... | |
const FloatMatrix & | giveL2GStressVectorTransformationMtrx () |
sets transformation matrix for stress transformation from local to global coordinate system More... | |
const FloatMatrix & | giveL2GStrainVectorTransformationMtrx () |
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 FloatMatrix & | giveCrackDirs () |
returns crack directions More... | |
const IntArray & | giveCrackStatus () |
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 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... | |
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 | |
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 |
Protected Attributes inherited from oofem::RandomMaterialStatusExtensionInterface | |
Dictionary | randProperties |
Dictionary containing material model values. More... | |
Protected Attributes inherited from oofem::NonlocalMaterialStatusExtensionInterface | |
std::vector< localIntegrationRecord > | integrationDomainList |
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... | |
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.
oofem::FRCFCMNLStatus::FRCFCMNLStatus | ( | int | n, |
Domain * | d, | ||
GaussPoint * | g | ||
) |
Definition at line 794 of file frcfcmnl.C.
References fiberStressLoc, fiberStressNL, oofem::FCMMaterialStatus::nMaxCracks, oofem::FloatArray::resize(), tempFiberStressLoc, tempFiberStressNL, and oofem::FloatArray::zero().
Referenced by oofem::FRCFCMNL::CreateStatus().
|
virtual |
Definition at line 806 of file frcfcmnl.C.
|
inlinevirtual |
Reimplemented from oofem::FRCFCMStatus.
Definition at line 89 of file frcfcmnl.h.
References giveInterface(), initTempStatus(), restoreContext(), saveContext(), and updateYourself().
|
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().
|
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().
|
virtual |
Interface requesting service.
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().
|
inline |
Definition at line 78 of file frcfcmnl.h.
References oofem::FloatArray::at().
Referenced by oofem::FRCFCMNL::computeNonlocalStressInFibers(), and oofem::FRCFCMNL::computeNonlocalStressInFibersInUncracked().
|
inline |
Definition at line 83 of file frcfcmnl.h.
References oofem::FloatArray::at().
|
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().
|
virtual |
Writes information into the output file.
Reimplemented from oofem::FRCFCMStatus.
Definition at line 812 of file frcfcmnl.C.
References giveFiberStressLoc(), giveFiberStressNL(), oofem::FCMMaterialStatus::giveMaxNumberOfCracks(), oofem::IntegrationPointStatus::gp, and oofem::FRCFCMStatus::printOutputAt().
Referenced by setTempFiberStressNL().
|
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().
|
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().
|
inline |
Definition at line 79 of file frcfcmnl.h.
References oofem::FloatArray::at().
Referenced by oofem::FRCFCMNL::giveRealStressVector().
|
inline |
Definition at line 84 of file frcfcmnl.h.
References oofem::FloatArray::at(), and printOutputAt().
Referenced by oofem::FRCFCMNL::giveRealStressVector(), and oofem::FRCFCMNL::isStrengthExceeded().
|
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().
|
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().
|
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().
|
protected |
Non-equilibrated stress (bulk) in fibers.
Definition at line 64 of file frcfcmnl.h.
Referenced by FRCFCMNLStatus(), initTempStatus(), and updateYourself().
|
protected |
Non-equilibrated stress (bulk) in fibers.
Definition at line 69 of file frcfcmnl.h.
Referenced by FRCFCMNLStatus(), initTempStatus(), and updateYourself().