35#ifndef structuralinterfaceelementphf_h
36#define structuralinterfaceelementphf_h
139 const char *
giveClassName()
const override {
return "StructuralInterfaceElementPhF"; };
146 OOFEM_ERROR(
"not implemented for the current element");
void computeStiffnessMatrix_uu(FloatMatrix &answer, MatResponseMode rMode, TimeStep *tStep)
virtual void computeCovarBaseVectorsAt(GaussPoint *gp, FloatMatrix &G)=0
virtual void getLocationArray_d(IntArray &answer)=0
virtual void computeNd_matrixAt(const FloatArray &lCoords, FloatMatrix &N)
StructuralInterfaceElementPhF(int n, Domain *d)
void giveInternalForcesVector_d(FloatArray &answer, TimeStep *tStep, int useUpdatedGpRecord=0)
FEInterpolation * interpolation
virtual void getLocationArray_u(IntArray &answer)=0
virtual void computeTraction(FloatArray &traction, IntegrationPoint *ip, FloatArray &jump, TimeStep *tStep)
double computeFreeEnergy(GaussPoint *gp, TimeStep *tStep)
void computeStiffnessMatrix(FloatMatrix &answer, MatResponseMode rMode, TimeStep *tStep) override
int computeNumberOfDofs() override
void giveInternalForcesVector_u(FloatArray &answer, TimeStep *tStep, int useUpdatedGpRecord=0)
void computeStiffnessMatrix_du(FloatMatrix &answer, MatResponseMode rMode, TimeStep *tStep)
double giveInternalLength()
virtual void computeLocationArrayOfDofIDs(const IntArray &dofIdArray, IntArray &answer)
void computeStiffnessMatrix_dd(FloatMatrix &answer, MatResponseMode rMode, TimeStep *tStep)
void updateInternalState(TimeStep *tStep) override
void computeBStress_u(FloatArray &answer, GaussPoint *gp, TimeStep *tStep, int useUpdatedGpRecord)
void updateYourself(TimeStep *tStep) override
virtual void giveDofManDofIDMask_u(IntArray &answer)=0
virtual void giveEngTraction(FloatArray &answer, GaussPoint *gp, const FloatArray &jump, double damage, TimeStep *tStep)
virtual void giveDofManDofIDMask_d(IntArray &answer)=0
virtual double computeDamageAt(GaussPoint *gp, ValueModeType valueMode, TimeStep *stepN)
void computeDamageUnknowns(FloatArray &answer, ValueModeType valueMode, TimeStep *stepN)
virtual void computeBd_matrixAt(GaussPoint *, FloatMatrix &)
void computeNStress_d(FloatArray &answer, GaussPoint *gp, TimeStep *tStep, int useUpdatedGpRecord)
const char * giveClassName() const override
void giveInternalForcesVector(FloatArray &answer, TimeStep *tStep, int useUpdatedGpRecord=0) override
void computeStiffnessMatrix_ud(FloatMatrix &answer, MatResponseMode rMode, TimeStep *tStep)
void computeDisplacementUnknowns(FloatArray &answer, ValueModeType valueMode, TimeStep *stepN)
StructuralInterfaceElement(int n, Domain *d)
GaussPoint IntegrationPoint