35 #ifndef steelrelaxmat_h 36 #define steelrelaxmat_h 38 #include "../sm/Materials/structuralmaterial.h" 39 #include "../sm/Materials/structuralms.h" 46 #define _IFT_SteelRelaxMat_Name "steelrelaxmat" 47 #define _IFT_SteelRelaxMat_E "e" 48 #define _IFT_SteelRelaxMat_reinfClass "reinfclass" 49 #define _IFT_SteelRelaxMat_k1 "k1" 50 #define _IFT_SteelRelaxMat_k2 "k2" 51 #define _IFT_SteelRelaxMat_rho1000 "rho1000" 52 #define _IFT_SteelRelaxMat_timeFactor "timefactor" 53 #define _IFT_SteelRelaxMat_charStrength "charstrength" 54 #define _IFT_SteelRelaxMat_approach "approach" 55 #define _IFT_SteelRelaxMat_tolerance "tolerance" 56 #define _IFT_SteelRelaxMat_relRelaxBound "relrelaxbound" 213 virtual void updateYourself(
TimeStep *tStep);
221 #endif // steelrelaxmat_h
InternalStateType
Type representing the physical meaning of element or constitutive model internal variable.
virtual int hasNonLinearBehaviour()
Returns nonzero if receiver is non linear.
enum oofem::SteelRelaxMat::approachType Approach
double k2
constant depending on the reinforcement class
void computeStressRelaxationStrainVector(FloatArray &answer, GaussPoint *gp, const FloatArray &totalStrain, TimeStep *tStep, ValueModeType mode)
evaluates eigenstrain due to steel relaxation
virtual int hasMaterialModeCapability(MaterialMode mode)
Tests if material supports material mode.
Implementation of the material model for steel relaxation given in Eurocode 2 (the same as in Model C...
virtual void giveRealStressVector(FloatArray &answer, GaussPoint *gp, const FloatArray &reducedStrain, TimeStep *tStep)
Computes the real stress vector for given total strain and integration point.
void setTempRelaxIntVariable(double src)
The purpose of DataStream abstract class is to allow to store/restore context to different streams...
double rho1000
constant depending on the reinforcement class
ValueModeType
Type representing the mode of UnknownType or CharType, or similar types.
This class implements a structural material status information.
double mu
ratio of prestress vs. characteristic strength
double giveTempRelaxIntVariable(void)
virtual bool isCharacteristicMtrxSymmetric(MatResponseMode rMode)
Returns true if stiffness matrix of receiver is symmetric Default implementation returns true...
virtual contextIOResultType saveContext(DataStream &stream, ContextMode mode, void *obj=NULL)
Stores receiver state to output stream.
#define _IFT_SteelRelaxMat_Name
double E
Young's modulus.
MaterialMode
Type representing material mode of integration point.
MatResponseMode
Describes the character of characteristic material matrix.
virtual const char * giveClassName() const
virtual const char * giveClassName() const
virtual void giveRealStressVector_1d(FloatArray &answer, GaussPoint *gp, const FloatArray &reducedE, TimeStep *tStep)
Default implementation relies on giveRealStressVector_StressControl.
virtual void give1dStressStiffMtrx(FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep)
Method for computing 1d stiffness matrix of receiver.
double charStrength
characteristic strength of prestressing steel in appropriate units (not necessarily MPa) ...
virtual const char * giveInputRecordName() const
double relRelaxBound
Ratio of stress to characteristic strength under which the relaxation is zero (typically 0...
virtual IRResultType initializeFrom(InputRecord *ir)
Initializes receiver according to object description stored in input record.
double tolerance
tolerance specifying the residual in the stress evaluation algorithm, default value is $10^{-6}$ ...
virtual void giveStressDependentPartOfStrainVector(FloatArray &answer, GaussPoint *gp, const FloatArray &totalStrain, TimeStep *tStep, ValueModeType mode)
evaluates stress-related strain - subtracts not only temperature strains but also strains caused by s...
approachType
0 = approach according to Ba{z}ant and Yu, 1 = equivalent time approach according to Eurocode 2 and {...
Abstract base class representing a material status information.
virtual MaterialStatus * CreateStatus(GaussPoint *gp) const
Creates new copy of associated status and inserts it into given integration point.
Class representing vector of real numbers.
double timeFactor
Scaling factor transforming the actual time into appropriate units needed by the formulae of the euro...
Implementation of matrix containing floating point numbers.
IRResultType
Type defining the return values of InputRecord reading operations.
void evalStressRelaxationAtConstStrain(double &answer, GaussPoint *gp, double dt)
computes steel relaxation (eurocode formula)
double tempRelaxIntVariable
double relaxIntVariable
For Bazant's approach this internal variable is a cumulative viscous strain while for Eurocode approa...
virtual void printOutputAt(FILE *file, TimeStep *tStep)
Prints output of receiver to stream, for given time step.
long ContextMode
Context mode (mask), defining the type of information written/read to/from context.
Abstract base class for all "structural" constitutive models.
virtual contextIOResultType restoreContext(DataStream &stream, ContextMode mode, void *obj=NULL)
Restores the receiver state previously written in stream.
double giveRelaxIntVariable(void)
double givePrestress(void)
the oofem namespace is to define a context or scope in which all oofem names are defined.
virtual void initTempStatus(GaussPoint *gp)
Initializes temporary variables stored in integration point status at the beginning of new time step...
void computeIncrOfPrestressLossAtVarStrain(double &answer, GaussPoint *gp, TimeStep *tStep, double stress)
implementation of cumulative time approach according to Eurocode to get prestress loss at variable st...
SteelRelaxMat(int n, Domain *d)
Class representing integration point in finite element program.
Class representing solution step.
double k1
constant depending on the reinforcement class
virtual int giveIPValue(FloatArray &answer, GaussPoint *gp, InternalStateType type, TimeStep *tStep)
Returns the integration point corresponding value in Reduced form.
void setPrestress(double src)