43#define _IFT_BTamNTerm_Name "BTamNTerm"
44#define _IFT_NTamTBTerm_Name "NTamTBTerm"
45#define _IFT_NTcN_Name "NTcN"
135 MatResponseMode
aType = BiotConstant;
160 aType =
static_cast<MatResponseMode
>(value);
183 MatResponseMode
aType = BiotConstant;
209 aType =
static_cast<MatResponseMode
>(value);
261 ctype =
static_cast<MatResponseMode
>(value);
291 ValueModeType mode = VM_Total;
292 if (
load->giveFormulationType() == Load :: FT_Entity ) {
293 load->computeValues(answer, tStep, lcoords,
dofIDs, mode);
297 load->computeValues(answer, tStep, globalIPcoords,
dofIDs, mode);
303 if (
load->giveCoordSystMode() == Load :: CST_Global ) {
324 ValueModeType mode = VM_Total;
325 if (
load->giveFormulationType() == Load :: FT_Entity ) {
326 load->computeValues(answer, tStep, lcoords,
dofIDs, mode);
330 load->computeValues(answer, tStep, globalIPcoords,
dofIDs, mode);
336 if (
load->giveCoordSystMode() == Load :: CST_Global ) {
339 OOFEM_ERROR(
"Body load in local coordinate system not supported yet.")
void initializeCell(Element &cell) const override
void evaluate_lin(FloatMatrix &answer, MPElement &e, GaussPoint *gp, TimeStep *tstep) const override
Evaluates the linearization of $B^T\sigma(u)$, i.e. $B^TDBu$.
BTSigTerm(const Variable *testField, const Variable *unknownField)
void getDimensions(Element &cell) const override
void evaluate(FloatArray &, MPElement &cell, GaussPoint *gp, TimeStep *tstep) const override
Evaluates Internal forces vector, i.e. $b^T\sigma(u)$.
void grad(FloatMatrix &answer, const Variable *v, const FEInterpolation *interpol, const Element &cell, const FloatArray &coords, const MaterialMode mmode) const
Evaluates B matrix; i.e. $LN$ where $L$ is operator matrix and $N$ is interpolation matrix of unknown...
void evaluate(FloatArray &, MPElement &cell, GaussPoint *gp, TimeStep *tstep) const override
Evaluates Internal forces vector, i.e. $w^T(\grad N)^T f(p)$.
void getDimensions(Element &cell) const override
void grad(FloatMatrix &answer, const Variable *v, const FEInterpolation *interpol, const Element &cell, const FloatArray &coords, const MaterialMode mmode) const
Evaluates B matrix; i.e. $\grad N$ where $N$ is interpolation matrix of unknown (p).
void evaluate_lin(FloatMatrix &answer, MPElement &e, GaussPoint *gp, TimeStep *tstep) const override
Evaluates the linearization of receiver, i.e. the LHS term.
void initializeFrom(InputRecord &ir, EngngModel *problem) override
BodyFluxFunctor(BodyLoad *load, const IntArray &dofIDs)
void evaluate(FloatArray &answer, const FloatArray &lcoords, MPElement &cell, const Variable *testField, TimeStep *tStep) const override
void evaluate(FloatArray &answer, const FloatArray &lcoords, MPElement &cell, const Variable *testField, TimeStep *tStep) const override
BoundaryFluxFunctor(BoundaryLoad *load, int surf, const IntArray &dofIDs, char btype)
virtual void local2global(FloatArray &answer, const FloatArray &lcoords, const FEICellGeometry &cellgeo) const =0
void rotatedWith(FloatMatrix &r, char mode)
Base class for elements based on mp (multi-physics) concept.
virtual int computeFluxLBToLRotationMatrix(FloatMatrix &answer, int iSurf, const FloatArray &lc, const Variable::VariableQuantity q, char btype)
void initializeFrom(InputRecord &ir, EngngModel *problem) override
void evaluate_lin(FloatMatrix &answer, MPElement &e, GaussPoint *gp, TimeStep *tstep) const override
Evaluates the linearization of receiver, i.e. the LHS term.
void grad(FloatMatrix &answer, const Variable *v, const FEInterpolation *interpol, const Element &cell, const FloatArray &coords, const MaterialMode mmode) const
Evaluates B matrix; i.e. $\grad N$ where $N$ is interpolation matrix of unknown (p).
void getDimensions(Element &cell) const override
void evaluate(FloatArray &, MPElement &cell, GaussPoint *gp, TimeStep *tstep) const override
Evaluates Internal forces vector, i.e. $w^T(\grad N)^T f(p)$.
ValueModeType unknownFieldVMT
void initializeFrom(InputRecord &ir, EngngModel *problem) override
ValueModeType unknownFieldVMT
void evaluate_lin(FloatMatrix &answer, MPElement &e, GaussPoint *gp, TimeStep *tstep) const override
Evaluates the linearization of term (the lhs contribution).
void evaluate(FloatArray &, MPElement &cell, GaussPoint *gp, TimeStep *tstep) const override
Evaluates Internal forces vector, i.e. $w^T(\grad N)^T f(p)$.
void getDimensions(Element &cell) const override
void initializeFrom(InputRecord &ir, EngngModel *problem) override
An external flux functor.
virtual void evaluate(FloatArray &answer, const FloatArray &coords, MPElement &cell, const Variable *testField, TimeStep *tStep) const =0
void evaluate(FloatArray &, MPElement &cell, GaussPoint *gp, TimeStep *tstep) const override
Evaluates Internal forces vector, i.e. $w^T(\grad N)^T f(p)$.
void getDimensions(Element &cell) const override
void initializeCell(Element &cell) const override
NTf_Body(const Variable *testField, const NTfFunctor &f)
void evaluate_lin(FloatMatrix &answer, MPElement &e, GaussPoint *gp, TimeStep *tstep) const override
Evaluates the linearization of term (the lhs contribution).
void getDimensions(Element &cell) const override
void initializeCell(Element &cell) const override
NTf_Edge(const Variable *testField, const NTfFunctor &f, int surf)
void evaluate_lin(FloatMatrix &answer, MPElement &e, GaussPoint *gp, TimeStep *tstep) const override
Evaluates the linearization of term (the lhs contribution).
void evaluate(FloatArray &, MPElement &cell, GaussPoint *gp, TimeStep *tstep) const override
Evaluates Internal forces vector, i.e. $w^T(\grad N)^T f(p)$.
void getDimensions(Element &cell) const override
void evaluate_lin(FloatMatrix &answer, MPElement &e, GaussPoint *gp, TimeStep *tstep) const override
Evaluates the linearization of term (the lhs contribution).
void evaluate(FloatArray &, MPElement &cell, GaussPoint *gp, TimeStep *tstep) const override
Evaluates Internal forces vector, i.e. $w^T(\grad N)^T f(p)$.
NTf_Surface(const Variable *testField, const NTfFunctor &f, int surf)
void initializeCell(Element &cell) const override
const Variable * testField
const FEInterpolation * interpolation
gNTfTerm(const Variable *testField, const Variable *unknownField, MatResponseMode lhsType, MatResponseMode rhsType)
void grad(FloatMatrix &answer, const Variable *v, const FEInterpolation *interpol, const Element &cell, const FloatArray &coords) const
Evaluates B matrix; i.e. $\grad N$ where $N$ is interpolation matrix of unknown (p).
void getDimensions(Element &cell) const override
void evaluate(FloatArray &, MPElement &cell, GaussPoint *gp, TimeStep *tstep) const override
Evaluates Internal forces vector, i.e. $w^T(\grad N)^T f(p)$.
void initializeCell(Element &cell) const override
void evaluate_lin(FloatMatrix &answer, MPElement &e, GaussPoint *gp, TimeStep *tstep) const override
Evaluates $\bf{H}$ matrix, the linearization of $w^T(\grad N)^T f(p)$, i.e. $(\grad N)^T \bf{k}...