35 #ifndef compodamagemat_h 36 #define compodamagemat_h 40 #include "../sm/Materials/structuralmaterial.h" 41 #include "../sm/Materials/structuralms.h" 48 #define _IFT_CompoDamageMat_Name "compdammat" 49 #define _IFT_CompoDamageMat_exx "exx" 50 #define _IFT_CompoDamageMat_eyyezz "eyyezz" 51 #define _IFT_CompoDamageMat_nuxynuxz "nuxynuxz" 52 #define _IFT_CompoDamageMat_nuyz "nuyz" 53 #define _IFT_CompoDamageMat_Gxy "gxygxz" 54 #define _IFT_CompoDamageMat_tension_f0_gf "tension_f0_gf" 55 #define _IFT_CompoDamageMat_compres_f0_gf "compres_f0_gf" 56 #define _IFT_CompoDamageMat_afteriter "afteriter" 57 #define _IFT_CompoDamageMat_allowSnapBack "allowsnapback" 117 virtual const char *
giveClassName()
const {
return "CompoDamageMatStatus"; }
147 virtual const char *
giveClassName()
const {
return "CompositeDamageMaterial"; }
155 virtual void give3dMaterialStiffnessMatrix(
FloatMatrix &answer,
164 { this->giveRealStressVector(answer, gp, reducedE, tStep); }
166 { this->giveRealStressVector(answer, gp, reducedE, tStep); }
225 #endif // compodamagemat_h FloatArray inputTension
Six stress components of tension components read from the input file.
IntArray hasSnapBack
Checks whether snapback occurred at IP.
InternalStateType
Type representing the physical meaning of element or constitutive model internal variable.
FloatArray maxStrainAtZeroStress
Maximum strain when stress becomes zero due to complete damage (omega = 1) at IP. Determined from fra...
CompoDamageMatStatus(int n, Domain *d, GaussPoint *g)
Constructor.
FloatArray omega
Highest damage ever reached in all previous equilibrated steps at IP [6 for tension and compression]...
GaussPoint * gp
Associated integration point.
Domain * domain
Link to domain object, useful for communicating with other FEM components.
The purpose of DataStream abstract class is to allow to store/restore context to different streams...
FloatArray tempKappa
Highest strain ever reached at IP. Can be unequilibrated from last iterations [6 tension, 6 compression].
This class implements a structural material status information.
virtual void updateYourself(TimeStep *tStep)
Update equilibrium history variables according to temp-variables.
virtual MaterialStatus * CreateStatus(GaussPoint *gp) const
Creates new copy of associated status and inserts it into given integration point.
MaterialMode
Type representing material mode of integration point.
virtual void giveInputRecord(DynamicInputRecord &input)
Setups the input record string of receiver.
Class implementing an array of integers.
MatResponseMode
Describes the character of characteristic material matrix.
#define _IFT_CompoDamageMat_Name
IntArray allowSnapBack
Stress components which are allowed for snap back [6 tension, 6 compression].
virtual contextIOResultType saveContext(DataStream &stream, ContextMode mode, void *obj)
Stores receiver state to output stream.
Class for maintaining Gauss point values for CompoDamageMat model.
virtual IRResultType initializeFrom(InputRecord *ir)
Initializes receiver according to object description stored in input record.
int afterIter
Optional parameter determining after how many iterations within the time step the damage is calculate...
FloatArray strainAtMaxStress
Strain when damage is initiated at IP. In literature denoted eps_0 [6 tension, 6 compression].
FloatArray elemCharLength
Characteristic element length at IP in three perpendicular planes aligned with material orientation...
FloatArray initDamageStress
Stress at which damage starts. For uniaxial loading is equal to given maximum stress in the input...
virtual ~CompoDamageMatStatus()
Destructor.
Abstract base class representing a material status information.
Class representing vector of real numbers.
virtual const char * giveInputRecordName() const
Implementation of matrix containing floating point numbers.
IRResultType
Type defining the return values of InputRecord reading operations.
FloatArray kappa
Highest strain ever reached in all previous equilibrated steps [6 tension, 6 compression].
virtual void giveRealStressVector_3d(FloatArray &answer, GaussPoint *gp, const FloatArray &reducedE, TimeStep *tStep)
Default implementation relies on giveRealStressVector for second Piola-Kirchoff stress.
FloatArray tempStressMLCS
Only for printing purposes in CompoDamageMatStatus.
Material damage model for transversely orthotropic material.
virtual void giveRealStressVector_1d(FloatArray &answer, GaussPoint *gp, const FloatArray &reducedE, TimeStep *tStep)
Default implementation relies on giveRealStressVector_StressControl.
long ContextMode
Context mode (mask), defining the type of information written/read to/from context.
Abstract base class for all "structural" constitutive models.
FloatArray tempOmega
Highest damage ever reached at IP. Can be unequilibrated from last iterations [6 for tension and comp...
virtual void initTempStatus()
Initializes the temporary internal variables, describing the current state according to previously re...
virtual contextIOResultType restoreContext(DataStream &stream, ContextMode mode, void *obj)
Restores the receiver state previously written in stream.
the oofem namespace is to define a context or scope in which all oofem names are defined.
FloatArray inputCompression
Six stress components of compression components read from the input file.
Class representing integration point in finite element program.
Class representing solution step.
int Iteration
Iteration in the time step.
virtual const char * giveClassName() const
virtual void printOutputAt(FILE *file, TimeStep *tStep)
Print receiver's output to given stream.
virtual const char * giveClassName() const