39#ifndef pfemelement2d_h
40#define pfemelement2d_h
int computeNumberOfDofs() override=0
void giveEdgeDofMapping(IntArray &answer, int iEdge) const
Gives the mapping for degrees of freedom on an edge.
void computeDeviatoricStress(FloatArray &answer, GaussPoint *gp, TimeStep *tStep) override=0
Computes deviatoric stress vector in given integration point and solution step from given total strai...
virtual int giveInternalStateAtNode(FloatArray &answer, InternalStateType type, InternalStateMode mode, int node, TimeStep *tStep)=0
void computeEgdeNVectorAt(FloatArray &answer, int iedge, GaussPoint *gp)
Calculates the shape function vector on an edge.
void computeGaussPoints() override=0
PFEMElement2d(int n, Domain *d)
Constructor.
void computeDivergenceMatrix(FloatMatrix &answerx, TimeStep *tStep) override
Calculates the velocity divergence matrix.
const char * giveClassName() const override
FEInterpolation * giveVelocityInterpolation() override=0
Returns the interpolation for velocity.
virtual ~PFEMElement2d()
Destructor.
int checkConsistency() override
void initializeFrom(InputRecord &ir, int priority) override
Initializes receiver acording to object description stored in input record.
Element_Geometry_Type giveGeometryType() const override
void giveElementDofIDMask(IntArray &answer) const override=0
void computeDeviatoricStressDivergence(FloatArray &answer, TimeStep *tStep) override=0
Calculates the divergence of the deviatoric stress.
virtual Element * giveElement()
double computeEdgeVolumeAround(GaussPoint *gp, int iEdge)
Calculates the volume around an edge.
Interface * giveInterface(InterfaceType) override=0
void computeStiffnessMatrix(FloatMatrix &answer, MatResponseMode mode, TimeStep *tStep) override
Calculates the stiffness matrix.
double computeCriticalTimeStep(TimeStep *tStep) override=0
Calculates critical time step.
void computePressureLaplacianMatrix(FloatMatrix &answer, TimeStep *tStep) override
Calculates the pressure laplacian matrix.
FEInterpolation * givePressureInterpolation() override=0
Returns the interpolation for the pressure.
void computeEdgeNMatrixAt(FloatMatrix &answer, int iedge, GaussPoint *gp)
Calculates the shape function matrix on an edge.
void computePrescribedRhsVector(FloatArray &answer, TimeStep *tStep, ValueModeType mode) override
Calculates the prescribed velocity vector for the right hand side of the pressure equation.
void computeBMatrix(FloatMatrix &answer, GaussPoint *gp) override
Calculates the element shape function derivative matrix.
void giveDofManDofIDMask(int inode, IntArray &answer) const override=0
void computeGradientMatrix(FloatMatrix &answer, TimeStep *tStep) override
Calculates the pressure gradient matrix.
PFEMElement(int, Domain *)
Constructor.
InternalStateMode
Determines the mode of internal variable.