36#ifndef coupledfieldselement_h
37#define coupledfieldselement_h
void giveInternalForcesVectorGen(FloatArray &answer, TimeStep *tStep, int useUpdatedGpRecord, void(*Nfunc)(GaussPoint *, FloatMatrix), void(*Bfunc)(GaussPoint *, FloatMatrix, int, int), void(*NStress)(GaussPoint *, FloatArray), void(*BStress)(GaussPoint *, FloatArray), double(*volumeAround)(GaussPoint *))
void computeLocationArrayOfDofIDs(const IntArray &dofIdArray, IntArray &answer)
virtual void computeBStressAt(GaussPoint *, FloatArray &)=0
void computeStiffnessMatrixGen(FloatMatrix &answer, MatResponseMode rMode, TimeStep *tStep, void(*Nfunc)(GaussPoint *, FloatMatrix), void(*Bfunc)(GaussPoint *, FloatMatrix), void(*NStiffness)(FloatMatrix, MatResponseMode, GaussPoint *, TimeStep *), void(*BStiffness)(FloatMatrix, MatResponseMode, GaussPoint *, TimeStep *), double(*volumeAround)(GaussPoint *))
void computeVectorOfDofIDs(const IntArray &dofIdArray, ValueModeType valueMode, TimeStep *stepN, FloatArray &answer)
double computeVolumeAround(GaussPoint *) override=0
virtual ~CoupledFieldsElement()
void computeStiffnessMatrix(FloatMatrix &, MatResponseMode, TimeStep *) override=0
void giveInternalForcesVector(FloatArray &answer, TimeStep *tStep, int useUpdatedGpRecord) override=0
CoupledFieldsElement(int i, Domain *aDomain)
virtual void computeNStressAt(GaussPoint *, FloatArray &)=0
NLStructuralElement(int n, Domain *d)