35#ifndef structuralinterfacematerial_h
36#define structuralinterfacematerial_h
49#define _IFT_StructuralInterfaceMaterial_useNumericalTangent "use_num_tangent"
Material(int n, Domain *d)
virtual double giveFirstPKTraction_1d(double jump, double reducedF, GaussPoint *gp, TimeStep *tStep) const
FloatMatrixF< 3, 3 > give3dStiffnessMatrix_Eng_Num(GaussPoint *gp, TimeStep *tStep) const
FloatMatrixF< 1, 1 > give1dStiffnessMatrix_Eng_Num(GaussPoint *gp, TimeStep *tStep) const
virtual FloatMatrixF< 2, 2 > give2dStiffnessMatrix_dTdj(MatResponseMode rMode, GaussPoint *gp, TimeStep *tStep) const
virtual FloatArrayF< 3 > giveEngTraction_3d(const FloatArrayF< 3 > &jump, GaussPoint *gp, TimeStep *tStep) const
virtual FloatMatrixF< 1, 1 > give1dStiffnessMatrix_dTdj(MatResponseMode rMode, GaussPoint *gp, TimeStep *tStep) const
virtual double giveEngTraction_1d(double jump, GaussPoint *gp, TimeStep *tStep) const
FloatMatrixF< 1, 1 > give1dStiffnessMatrix_dTdj_Num(GaussPoint *gp, TimeStep *tStep) const
StructuralInterfaceMaterial(int n, Domain *d)
void giveInputRecord(DynamicInputRecord &input) override
virtual FloatMatrixF< 1, 1 > give1dStiffnessMatrix_Eng(MatResponseMode rMode, GaussPoint *gp, TimeStep *tStep) const
virtual FloatArrayF< 3 > giveFirstPKTraction_3d(const FloatArrayF< 3 > &jump, const FloatMatrixF< 3, 3 > &F, GaussPoint *gp, TimeStep *tStep) const
FloatMatrixF< 2, 2 > give2dStiffnessMatrix_dTdj_Num(GaussPoint *gp, TimeStep *tStep) const
virtual bool hasAnalyticalTangentStiffness() const =0
FloatMatrixF< 2, 2 > give2dStiffnessMatrix_Eng_Num(GaussPoint *gp, TimeStep *tStep) const
virtual FloatMatrixF< 3, 3 > give3dStiffnessMatrix_dTdj(MatResponseMode rMode, GaussPoint *gp, TimeStep *tStep) const
virtual FloatMatrixF< 2, 2 > give2dStiffnessMatrix_Eng(MatResponseMode rMode, GaussPoint *gp, TimeStep *tStep) const
virtual FloatArray giveInterfaceStrength()
virtual FloatArrayF< 2 > giveFirstPKTraction_2d(const FloatArrayF< 2 > &jump, const FloatMatrixF< 2, 2 > &reducedF, GaussPoint *gp, TimeStep *tStep) const
FloatMatrixF< 3, 3 > give3dStiffnessMatrix_dTdj_Num(GaussPoint *gp, TimeStep *tStep) const
virtual FloatMatrixF< 3, 3 > give3dStiffnessMatrix_Eng(MatResponseMode rMode, GaussPoint *gp, TimeStep *tStep) const
virtual FloatArrayF< 2 > giveEngTraction_2d(const FloatArrayF< 2 > &jump, GaussPoint *gp, TimeStep *tStep) const
void initializeFrom(InputRecord &ir) override
int giveIPValue(FloatArray &answer, GaussPoint *gp, InternalStateType type, TimeStep *tStep) override
static FloatArray Vec1(const double &a)