35#ifndef structuralelementevaluator_h
36#define structuralelementevaluator_h
void computeVectorOf(ValueModeType u, TimeStep *tStep, FloatArray &answer)
virtual void giveCharacteristicVector(FloatArray &answer, CharType type, ValueModeType mode, TimeStep *tStep)
virtual void giveInternalForcesVector(FloatArray &answer, TimeStep *tStep, bool useUpdatedGpRecord=false)
virtual void computeNMatrixAt(FloatMatrix &answer, GaussPoint *gp)=0
void updateInternalState(TimeStep *tStep)
virtual void computeStressVector(FloatArray &answer, const FloatArray &strain, GaussPoint *gp, TimeStep *tStep)=0
virtual void computeLumpedMassMatrix(FloatMatrix &answer, TimeStep *tStep)
virtual void giveCharacteristicMatrix(FloatMatrix &answer, CharType mtrx, TimeStep *tStep)
virtual void computeConsistentMassMatrix(FloatMatrix &answer, TimeStep *tStep, double &mass)
FloatMatrix rotationMatrix
virtual ~StructuralElementEvaluator()
virtual double computeVolumeAround(GaussPoint *gp)
int rotationMatrixDefined
Flag indicating if transformation matrix has been already computed.
virtual void giveMassMtrxIntegrationMask(IntArray &answer)
void computeStrainVector(FloatArray &answer, GaussPoint *gp, TimeStep *tStep, FloatArray &u)
virtual Element * giveElement()=0
StructuralElementEvaluator()
virtual void computeStiffnessMatrix(FloatMatrix &answer, MatResponseMode rMode, TimeStep *tStep)
void computeVectorOf(PrimaryField &field, const IntArray &dofIdMask, ValueModeType u, TimeStep *tStep, FloatArray &answer)
virtual void computeConstitutiveMatrixAt(FloatMatrix &answer, MatResponseMode rMode, GaussPoint *gp, TimeStep *tStep)=0
friend void drawIGAPatchDeformedGeometry(Element *elem, StructuralElementEvaluator *se, oofegGraphicContext &gc, TimeStep *tStep, UnknownType)
void computeVectorOf(ValueModeType u, TimeStep *tStep, FloatArray &answer)
virtual void computeBMatrixAt(FloatMatrix &answer, GaussPoint *gp)=0
bool isActivated(TimeStep *tStep)
virtual int giveIntegrationElementLocalCodeNumbers(IntArray &answer, Element *elem, IntegrationRule *ie)
virtual IntegrationRule * giveMassMtrxIntegrationRule()
oofem::oofegGraphicContext gc[OOFEG_LAST_LAYER]