45#define _IFT_TR1_2D_SUPG2_Name "tr1supg2"
163 int node,
TimeStep *tStep)
override;
Domain * domain
Link to domain object, useful for communicating with other FEM components.
void zero()
Zeroes all coefficients of receiver.
void resize(Index rows, Index cols)
void zero()
Zeroes all coefficient of receiver.
FloatArray normal
Interface segment normal.
double p
Line constant of line segment representing interface.
double computeVolumeAroundID(GaussPoint *gp, integrationDomain id, const std::vector< FloatArray > &idpoly)
void updateVolumePolygons(Polygon &referenceFluidPoly, Polygon &secondFluidPoly, int &rfPoints, int &sfPoints, const FloatArray &normal, const double p, bool updFlag)
Interface * giveInterface(InterfaceType) override
void computeAccelerationTerm_MC(FloatMatrix &answer, TimeStep *tStep) override
void computeBCRhsTerm_MC(FloatArray &answer, TimeStep *tStep) override
double computeLEPLICVolumeFraction(const FloatArray &n, const double p, LEPlic *matInterface, bool updFlag) override
Computes corresponding volume fraction to given interface position.
int EIPrimaryFieldI_evaluateFieldVectorAt(FloatArray &answer, PrimaryField &pf, const FloatArray &coords, IntArray &dofId, ValueModeType mode, TimeStep *tStep) override
void computeLinearAdvectionTerm_MC(FloatMatrix &answer, TimeStep *tStep) override
int giveInternalStateAtNode(FloatArray &answer, InternalStateType type, InternalStateMode mode, int node, TimeStep *tStep) override
void printOutputAt(FILE *file, TimeStep *tStep) override
void saveContext(DataStream &stream, ContextMode mode) override
void computeDeviatoricStress(FloatArray &answer, const FloatArray &eps, GaussPoint *gp, TimeStep *tStep) override
void initializeFrom(InputRecord &ir, int priority) override
int SPRNodalRecoveryMI_giveNumberOfIP() override
void computeDiffusionTerm_MC(FloatArray &answer, TimeStep *tStep) override
void formMyVolumePoly(Polygon &myPoly, LEPlic *mat_interface, bool updFlag) override
Assembles receiver volume.
void updateYourself(TimeStep *tStep) override
void drawScalar(oofegGraphicContext &gc, TimeStep *tStep) override
void computeDiffusionTerm_MB(FloatArray &answer, TimeStep *tStep) override
double truncateMatVolume(const Polygon &matvolpoly, double &volume) override
Truncates given material polygon to receiver.
void computeLSICStabilizationTerm_MB(FloatMatrix &answer, TimeStep *tStep) override
void computePressureTerm_MC(FloatMatrix &answer, TimeStep *tStep) override
void updateIntegrationRules()
std ::unique_ptr< IntegrationRule > defaultIRule
void computeAccelerationTerm_MB(FloatMatrix &answer, TimeStep *tStep) override
std::vector< FloatArray > vcoords[2]
int computeNumberOfDofs() override
void SPRNodalRecoveryMI_giveDofMansDeterminedByPatch(IntArray &answer, int pap) override
void updateElementForNewInterfacePosition(TimeStep *tStep) override
Element * giveElement() override
Return number of receiver's element.
const char * giveInputRecordName() const override
const char * giveClassName() const override
void restoreContext(DataStream &stream, ContextMode mode) override
double computeMyVolume(LEPlic *matInterface, bool updFlag) override
Computes the volume of receiver.
void computeAdvectionTerm_MB(FloatArray &answer, TimeStep *tStep) override
void computeAdvectionDerivativeTerm_MC(FloatMatrix &answer, TimeStep *tStep) override
void updateStabilizationCoeffs(TimeStep *tStep) override
void formVolumeInterfacePoly(Polygon &matvolpoly, LEPlic *matInterface, const FloatArray &normal, const double p, bool updFlag) override
Assembles receiver material polygon based solely on given interface line.
void giveElementCenter(LEPlic *mat_interface, FloatArray ¢er, bool updFlag) override
Computes the receiver center (in updated Lagrangian configuration).
void computePressureTerm_MB(FloatMatrix &answer, TimeStep *tStep) override
void computeAdvectionTerm_MC(FloatArray &answer, TimeStep *tStep) override
Material * _giveMaterial(int indx)
void giveInputRecord(DynamicInputRecord &input) override
void formMaterialVolumePoly(Polygon &matvolpoly, LEPlic *matInterface, const FloatArray &normal, const double p, bool updFlag) override
Assembles the true element material polygon (takes receiver vof into accout).
void SPRNodalRecoveryMI_giveSPRAssemblyPoints(IntArray &pap) override
void postInitialize() override
Performs post initialization steps.
IntegrationRule * giveDefaultIntegrationRulePtr() override
void giveDofManDofIDMask(int inode, IntArray &answer) const override
void drawRawGeometry(oofegGraphicContext &gc, TimeStep *tStep) override
void computeAdvectionDerivativeTerm_MB(FloatMatrix &answer, TimeStep *tStep) override
TR1_2D_SUPG2(int n, Domain *d)
int giveIPValue(FloatArray &answer, GaussPoint *gp, InternalStateType type, TimeStep *tStep) override
void computeNVector(FloatArray &answer, GaussPoint *gp)
void computeDiffusionDerivativeTerm_MB(FloatMatrix &answer, MatResponseMode mode, TimeStep *tStep) override
void computeGaussPoints() override
void computeDiffusionDerivativeTerm_MC(FloatMatrix &answer, TimeStep *tStep) override
void NodalAveragingRecoveryMI_computeNodalValue(FloatArray &answer, int node, InternalStateType type, TimeStep *tStep) override
int giveDefaultIntegrationRule() const override
void computeBCRhsTerm_MB(FloatArray &answer, TimeStep *tStep) override
SPRPatchType SPRNodalRecoveryMI_givePatchType() override
void computeTangent(FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep) override
double computeCriticalTimeStep(TimeStep *tStep) override
Computes the critical time increment.
TR1_2D_SUPG(int n, Domain *d)
InternalStateMode
Determines the mode of internal variable.
oofem::oofegGraphicContext gc[OOFEG_LAST_LAYER]
#define _IFT_TR1_2D_SUPG2_Name