35#ifndef nlstructuralelement_h
36#define nlstructuralelement_h
42#define _IFT_NLStructuralElement_nlgeoflag "nlgeo"
159 {
OOFEM_ERROR(
"Method computeInitialStressMatrix is not implemented"); }
235 const char *
giveClassName()
const override {
return "NLStructuralElement"; }
248 OOFEM_ERROR(
"method not implemented for this element");
virtual void computeDeformationGradientVector(FloatArray &answer, GaussPoint *gp, TimeStep *tStep)
void computeCauchyStressVector(FloatArray &answer, GaussPoint *gp, TimeStep *tStep)
void initializeFrom(InputRecord &ir, int priority) override
NLStructuralElement(int n, Domain *d)
void computeFirstPKStressVector(FloatArray &answer, GaussPoint *gp, TimeStep *tStep)
friend class XfemStructuralElementInterface
void computeInitialStressMatrix(FloatMatrix &answer, TimeStep *tStep) override
static ParamKey IPK_NLStructuralElement_nlgeoflag
double computeCurrentVolume(TimeStep *tStep)
void computeStiffnessMatrix(FloatMatrix &answer, MatResponseMode rMode, TimeStep *tStep) override
friend class GradientDamageElement
virtual ~NLStructuralElement()
Destructor.
void computeStiffnessMatrix_withIRulesAsSubcells(FloatMatrix &answer, MatResponseMode rMode, TimeStep *tStep)
void giveInternalForcesVector_withIRulesAsSubcells(FloatArray &answer, TimeStep *tStep, int useUpdatedGpRecord=0) override
virtual void computeBHmatrixAt(GaussPoint *gp, FloatMatrix &answer)
virtual void computeConstitutiveMatrix_dPdF_At(FloatMatrix &answer, MatResponseMode rMode, GaussPoint *gp, TimeStep *tStep)=0
int checkConsistency() override
friend class PhaseFieldElement
void giveInputRecord(DynamicInputRecord &input) override
const char * giveClassName() const override
int nlGeometry
Flag indicating if geometrical nonlinearities apply.
void giveInternalForcesVector(FloatArray &answer, TimeStep *tStep, int useUpdatedGpRecord=0) override
StructuralElement(int n, Domain *d)