38 #include "../sm/Materials/structuralmaterial.h" 39 #include "../sm/Materials/structuralms.h" 47 #define _IFT_LargeStrainMasterMaterial_Name "lsmastermat" 48 #define _IFT_LargeStrainMasterMaterial_m "m" 49 #define _IFT_LargeStrainMasterMaterial_slaveMat "slavemat" 83 virtual const char *
giveClassName()
const {
return "LargeStrainMasterMaterial"; }
97 {
OOFEM_ERROR(
"not implemented, this material is designed for large strains only"); }
133 virtual void updateYourself(
TimeStep *);
139 virtual const char *
giveClassName()
const {
return "LargeStrainMasterMaterialStatus"; }
InternalStateType
Type representing the physical meaning of element or constitutive model internal variable.
#define _IFT_LargeStrainMasterMaterial_Name
virtual void give3dMaterialStiffnessMatrix_dPdF(FloatMatrix &answer, MatResponseMode, GaussPoint *gp, TimeStep *tStep)
const FloatMatrix & giveTransformationMatrix()
virtual void giveFirstPKStressVector_3d(FloatArray &answer, GaussPoint *gp, const FloatArray &vF, TimeStep *tStep)
Default implementation relies on giveRealStressVector for second Piola-Kirchoff stress.
virtual const char * giveInputRecordName() const
double m
Specifies the strain tensor.
The purpose of DataStream abstract class is to allow to store/restore context to different streams...
This class implements a structural material status information.
LinearElasticMaterial * giveLinearElasticMaterial()
virtual IRResultType initializeFrom(InputRecord *ir)
Initializes receiver according to object description stored in input record.
virtual contextIOResultType saveContext(DataStream &stream, ContextMode mode, void *obj=NULL)
Stores receiver state to output stream.
FloatMatrix transformationMatrix
const FloatMatrix & giveTLmatrix()
MatResponseMode
Describes the character of characteristic material matrix.
This class is a abstract base class for all linear elastic material models in a finite element proble...
virtual const char * giveClassName() const
virtual const char * giveClassName() const
void setTLmatrix(const FloatMatrix &values)
virtual void giveRealStressVector_3d(FloatArray &answer, GaussPoint *, const FloatArray &, TimeStep *)
Default implementation relies on giveRealStressVector for second Piola-Kirchoff stress.
virtual MaterialStatus * CreateStatus(GaussPoint *gp) const
Creates new copy of associated status and inserts it into given integration point.
LinearElasticMaterial * linearElasticMaterial
Reference to the basic elastic material.
Abstract base class representing a material status information.
void setPmatrix(const FloatMatrix &values)
Class representing vector of real numbers.
Implementation of matrix containing floating point numbers.
IRResultType
Type defining the return values of InputRecord reading operations.
LargeStrainMasterMaterial(int n, Domain *d)
virtual bool isCharacteristicMtrxSymmetric(MatResponseMode rMode)
Returns true if stiffness matrix of receiver is symmetric Default implementation returns true...
virtual void printOutputAt(FILE *file, TimeStep *tStep)
Prints output of receiver to stream, for given time step.
virtual ~LargeStrainMasterMaterial()
long ContextMode
Context mode (mask), defining the type of information written/read to/from context.
Abstract base class for all "structural" constitutive models.
void setTransformationMatrix(const FloatMatrix &values)
virtual contextIOResultType restoreContext(DataStream &stream, ContextMode mode, void *obj=NULL)
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.
void constructTransformationMatrix(FloatMatrix &answer, const FloatMatrix &eigenVectors)
transformation matrices
void constructL1L2TransformationMatrices(FloatMatrix &answer1, FloatMatrix &answer2, const FloatArray &eigenValues, FloatArray &stress, double E1, double E2, double E3)
virtual int giveIPValue(FloatArray &answer, GaussPoint *gp, InternalStateType type, TimeStep *tStep)
Returns the integration point corresponding value in Reduced form.
virtual void initTempStatus(GaussPoint *gp)
Initializes temporary variables stored in integration point status at the beginning of new time step...
virtual int hasNonLinearBehaviour()
Returns nonzero if receiver is non linear.
Class representing integration point in finite element program.
int slaveMat
'slave' material model number.
const FloatMatrix & givePmatrix()
Class representing solution step.
Large strain master material.