35#ifndef transportelement_h
36#define transportelement_h
43#define _IFT_TransportElement_vof_function "voffunction"
46class TransportCrossSection;
97 const char *
giveClassName()
const override {
return "TransportElement"; }
146 int node,
TimeStep *tStep)
override;
214 TimeStep *tStep, ValueModeType mode,
int indx);
228 TimeStep *tStep, ValueModeType mode,
int indx);
EIPrimaryFieldInterface()
Element(int n, Domain *aDomain)
void computeTangentFromEdgeLoad(FloatMatrix &answer, BoundaryLoad *load, int boundary, MatResponseMode rmode, TimeStep *tStep) override
static ParamKey IPK_TransportElement_vof_function
virtual void computeEgdeNAt(FloatArray &answer, int iEdge, const FloatArray &lcoord)
virtual void computeInertiaForcesVector(FloatArray &answer, TimeStep *tStep)
void computeSurfaceBCSubVectorAt(FloatArray &answer, Load *load, int iSurf, TimeStep *tStep, ValueModeType mode, int indx)
TransportElement(int n, Domain *d, ElementMode em=HeatTransferEM)
virtual void computeIntSourceLHSMatrix(FloatMatrix &answer, TimeStep *tStep)
void giveDofManDofIDMask(int inode, IntArray &answer) const override
virtual void computeFlow(FloatArray &answer, GaussPoint *gp, TimeStep *tStep)
void computeBCSubVectorAt(FloatArray &answer, TimeStep *tStep, ValueModeType mode, int indx)
static const double stefanBoltzmann
Stefan–Boltzmann constant W/m2/K4.
virtual void giveSurfaceDofMapping(IntArray &mask, int iSurf)
void computeBCSubMtrxAt(FloatMatrix &answer, TimeStep *tStep, ValueModeType mode, int indx)
void computeBoundarySurfaceLoadVector(FloatArray &answer, BoundaryLoad *load, int boundary, CharType type, ValueModeType mode, TimeStep *tStep, bool global=true) override
virtual double computeEdgeVolumeAround(GaussPoint *gp, int iEdge)
virtual void computeConductivityMatrix(FloatMatrix &answer, MatResponseMode rMode, TimeStep *tStep)
void computeEdgeBCSubVectorAt(FloatArray &answer, Load *load, int iEdge, TimeStep *tStep, ValueModeType mode, int indx)
virtual void computeSurfaceNAt(FloatArray &answer, int iSurf, const FloatArray &lcoord)
virtual double computeVof(TimeStep *tStep)
Material * giveMaterial() override
virtual int EIPrimaryFieldI_evaluateFieldVectorAt(FloatArray &answer, PrimaryField &pf, const FloatArray &coords, IntArray &dofId, ValueModeType mode, TimeStep *tStep) override
virtual void computeBmatrixAt(FloatMatrix &answer, const FloatArray &lcoords)
virtual void computeExternalForcesVector(FloatArray &answer, TimeStep *tStep, ValueModeType mode)
void updateInternalState(TimeStep *tStep) override
virtual double giveThicknessAt(const FloatArray &gcoords)
int vofFunction
Fuction determining the relative volume of reference material in element.
const char * giveClassName() const override
void postInitialize() override
Performs post initialization steps.
virtual void computeNmatrixAt(FloatMatrix &answer, const FloatArray &lcoords)
virtual int giveApproxOrder(int unknownIndx)
void giveCharacteristicVector(FloatArray &answer, CharType type, ValueModeType mode, TimeStep *tStep) override
virtual void computeIntSourceLHSSubMatrix(FloatMatrix &answer, MatResponseMode rmode, int iri, TimeStep *tStep)
void giveCharacteristicMatrix(FloatMatrix &answer, CharType type, TimeStep *tStep) override
virtual void computeInternalSourceRhsVectorAt(FloatArray &answer, TimeStep *tStep, ValueModeType mode)
virtual void computeConductivitySubMatrix(FloatMatrix &answer, int iri, MatResponseMode rmode, TimeStep *tStep)
void computeBodyBCSubVectorAt(FloatArray &answer, Load *load, TimeStep *tStep, ValueModeType mode, int indx)
void initializeFrom(InputRecord &ir, int priority) override
virtual double computeSurfaceVolumeAround(GaussPoint *gp, int iSurf)
virtual void computeNAt(FloatArray &answer, const FloatArray &lcoord)
virtual void giveEdgeDofMapping(IntArray &mask, int iEdge)
virtual void computeCapacityMatrix(FloatMatrix &answer, TimeStep *tStep)
virtual void computeCapacitySubMatrix(FloatMatrix &answer, MatResponseMode rmode, int iri, TimeStep *tStep)
void computeField(ValueModeType mode, TimeStep *tStep, const FloatArray &lcoords, FloatArray &answer) override
int giveInternalStateAtNode(FloatArray &answer, InternalStateType type, InternalStateMode mode, int node, TimeStep *tStep) override
virtual void computeInternalSourceRhsSubVectorAt(FloatArray &answer, TimeStep *, ValueModeType mode, int indx)
virtual void computeGradientMatrixAt(FloatMatrix &answer, const FloatArray &lcoords)
void computeBoundaryEdgeLoadVector(FloatArray &answer, BoundaryLoad *load, int edge, CharType type, ValueModeType mode, TimeStep *tStep, bool global=true) override
virtual void computeConstitutiveMatrixAt(FloatMatrix &answer, MatResponseMode rMode, GaussPoint *gp, TimeStep *tStep)
void computeLoadVector(FloatArray &answer, BodyLoad *load, CharType type, ValueModeType mode, TimeStep *tStep) override
virtual void computeLumpedCapacityVector(FloatArray &answer, TimeStep *tStep)
virtual void computeBCMtrxAt(FloatMatrix &answer, TimeStep *tStep, ValueModeType mode)
TransportCrossSection * giveTransportCrossSection()
void assembleLocalContribution(FloatMatrix &answer, FloatMatrix &src, int ndofs, int rdof, int cdof)
int checkConsistency() override
virtual void computeBCVectorAt(FloatArray &answer, TimeStep *tStep, ValueModeType mode)
virtual void computeInternalForcesVector(FloatArray &answer, TimeStep *tStep)
void computeTangentFromSurfaceLoad(FloatMatrix &answer, BoundaryLoad *load, int boundary, MatResponseMode rmode, TimeStep *tStep) override
InternalStateMode
Determines the mode of internal variable.