47#define _IFT_LargeStrainMasterMaterial_Name "lsmastermat"
48#define _IFT_LargeStrainMasterMaterial_m "m"
49#define _IFT_LargeStrainMasterMaterial_slaveMat "slavemat"
80 const char *
giveClassName()
const override {
return "LargeStrainMasterMaterial"; }
93 {
OOFEM_ERROR(
"not implemented, this material is designed for large strains only"); }
132 const char *
giveClassName()
const override {
return "LargeStrainMasterMaterialStatus"; }
void setPmatrix(const FloatMatrixF< 6, 6 > &values)
FloatMatrixF< 6, 6 > Pmatrix
void setTransformationMatrix(const FloatMatrixF< 6, 6 > &values)
void initTempStatus() override
void printOutputAt(FILE *file, TimeStep *tStep) const override
Print receiver's output to given stream.
const FloatMatrixF< 6, 6 > & givePmatrix() const
void updateYourself(TimeStep *) override
LargeStrainMasterMaterialStatus(GaussPoint *g, Domain *d, int s)
void setTLmatrix(const FloatMatrixF< 6, 6 > &values)
FloatMatrixF< 6, 6 > TLmatrix
const FloatMatrixF< 6, 6 > & giveTransformationMatrix() const
void saveContext(DataStream &stream, ContextMode mode) override
const FloatMatrixF< 6, 6 > & giveTLmatrix() const
FloatMatrixF< 6, 6 > transformationMatrix
void restoreContext(DataStream &stream, ContextMode mode) override
const char * giveClassName() const override
double m
Specifies the strain tensor.
bool isCharacteristicMtrxSymmetric(MatResponseMode rMode) const override
FloatArrayF< 6 > giveRealStressVector_3d(const FloatArrayF< 6 > &, GaussPoint *, TimeStep *) const override
Default implementation relies on giveRealStressVector for second Piola-Kirchoff stress.
FloatMatrixF< 6, 6 > constructTransformationMatrix(const FloatMatrixF< 3, 3 > &eigenVectors) const
transformation matrices
LinearElasticMaterial * giveLinearElasticMaterial()
const char * giveClassName() const override
FloatMatrixF< 9, 9 > give3dMaterialStiffnessMatrix_dPdF(MatResponseMode, GaussPoint *gp, TimeStep *tStep) const override
LinearElasticMaterial * linearElasticMaterial
Reference to the basic elastic material.
std::unique_ptr< MaterialStatus > CreateStatus(GaussPoint *gp) const override
const char * giveInputRecordName() const override
int giveIPValue(FloatArray &answer, GaussPoint *gp, InternalStateType type, TimeStep *tStep) override
FloatArrayF< 9 > giveFirstPKStressVector_3d(const FloatArrayF< 9 > &vF, GaussPoint *gp, TimeStep *tStep) const override
Default implementation relies on giveRealStressVector for second Piola-Kirchoff stress.
int slaveMat
'slave' material model number.
std::pair< FloatMatrixF< 6, 6 >, FloatMatrixF< 6, 6 > > constructL1L2TransformationMatrices(const FloatArrayF< 3 > &eigenValues, const FloatArrayF< 6 > &stress, double E1, double E2, double E3) const
LargeStrainMasterMaterial(int n, Domain *d)
void initializeFrom(InputRecord &ir) override
StructuralMaterialStatus(GaussPoint *g)
Constructor. Creates new StructuralMaterialStatus with IntegrationPoint g.
StructuralMaterial(int n, Domain *d)
#define _IFT_LargeStrainMasterMaterial_Name
FloatMatrixF< N, N > eye()
Constructs an identity matrix.