49 #define _IFT_TR1_2D_SUPG_Name "tr1supg" 50 #define _IFT_Tr1SUPG_pvof "pvof" 51 #define _IFT_Tr1SUPG_vof "vof" 52 #define _IFT_Tr1SUPG2_mat0 "mat0" 53 #define _IFT_Tr1SUPG2_mat1 "mat1" 147 const FloatArray &normal,
const double p,
bool updFlag);
194 #endif // tr1_2d_supg_h InternalStateType
Type representing the physical meaning of element or constitutive model internal variable.
The element interface required by NodalAvergagingRecoveryModel.
virtual void computeAccelerationTerm_MB(FloatMatrix &answer, TimeStep *tStep)
Computes acceleration terms (generalized mass matrix with stabilization terms) for momentum balance e...
void computeNMtrx(FloatArray &answer, GaussPoint *gp)
virtual void computeDiffusionTerm_MB(FloatArray &answer, TimeStep *tStep)
Computes diffusion terms for momentum balance equations(s).
virtual int EIPrimaryFieldI_evaluateFieldVectorAt(FloatArray &answer, PrimaryField &pf, const FloatArray &coords, IntArray &dofId, ValueModeType mode, TimeStep *tStep)
Evaluates the value of field at given point of interest (should be located inside receiver's volume) ...
virtual double computeVolumeAround(GaussPoint *gp)
Returns volume related to given integration point.
The element interface required by ZZNodalRecoveryModel.
virtual void computeAdvectionTerm_MB(FloatArray &answer, TimeStep *tStep)
Computes nonlinear advection terms for momentum balance equations(s).
Element interface for LEPlic class representing Lagrangian-Eulerian (moving) material interface...
virtual void computeHomogenizedReinforceTerm_MC(FloatMatrix &answer, Load *load, TimeStep *tStep)
#define _IFT_TR1_2D_SUPG_Name
virtual void computeGaussPoints()
Initializes the array of integration rules member variable.
virtual void computeAdvectionTerm_MC(FloatArray &answer, TimeStep *tStep)
Computes advection terms for mass conservation equation.
virtual void computeLinearAdvectionTerm_MC(FloatMatrix &answer, TimeStep *tStep)
Computes the linear advection term for mass conservation equation.
The element interface required by ZZNodalRecoveryModel.
Abstract class representing field of primary variables (those, which are unknown and are typically as...
virtual void computeLoadVector(FloatArray &answer, BodyLoad *load, CharType type, ValueModeType mode, TimeStep *tStep)
Computes the contribution of the given body load (volumetric).
The purpose of DataStream abstract class is to allow to store/restore context to different streams...
ValueModeType
Type representing the mode of UnknownType or CharType, or similar types.
Class implementing element body load, acting over whole element volume (e.g., the dead weight)...
Element interface for LevelSetPCS class representing level-set like material interface.
virtual int checkConsistency()
Used to check consistency and initialize some element geometry data (area,b,c).
virtual double truncateMatVolume(const Polygon &matvolpoly, double &volume)
Truncates given material polygon to receiver.
virtual IRResultType initializeFrom(InputRecord *ir)
Initializes receiver according to object description stored in input record.
virtual void formMyVolumePoly(Polygon &myPoly, LEPlic *mat_interface, bool updFlag)
Assembles receiver volume.
oofem::oofegGraphicContext gc[OOFEG_LAST_LAYER]
Abstract base class for all finite elements.
virtual void giveLocalPressureDofMap(IntArray &map)
int giveInternalStateAtNode(FloatArray &answer, InternalStateType type, InternalStateMode mode, int node, TimeStep *tStep)
Returns internal state variable (like stress,strain) at node of element in Reduced form...
virtual void drawScalar(oofegGraphicContext &gc, TimeStep *tStep)
General stabilized SUPG/PSPG element for CFD analysis.
MaterialMode
Type representing material mode of integration point.
virtual void computeDiffusionDerivativeTerm_MC(FloatMatrix &answer, TimeStep *tStep)
Computes diffusion derivative terms for mass conservation equation.
Class implementing an array of integers.
virtual void NodalAveragingRecoveryMI_computeNodalValue(FloatArray &answer, int node, InternalStateType type, TimeStep *tStep)
Computes the element value in given node.
MatResponseMode
Describes the character of characteristic material matrix.
virtual void computeHomogenizedReinforceTerm_MB(FloatMatrix &answer, Load *load, TimeStep *tStep)
virtual void computePressureTerm_MC(FloatMatrix &answer, TimeStep *tStep)
Computes pressure terms for mass conservation equation.
virtual Interface * giveInterface(InterfaceType)
Interface requesting service.
virtual void giveElementCenter(LEPlic *mat_interface, FloatArray ¢er, bool updFlag)
Computes the receiver center (in updated Lagrangian configuration).
virtual double LS_PCS_computeVolume()
Returns receiver's volume.
Class representing a general abstraction for finite element interpolation class.
virtual const char * giveClassName() const
virtual int giveIPValue(FloatArray &answer, GaussPoint *gp, InternalStateType type, TimeStep *tStep)
Returns the integration point corresponding value in full form.
Class representing a 2d triangular linear interpolation based on area coordinates.
virtual void computeBCRhsTerm_MB(FloatArray &answer, TimeStep *tStep)
Computes Rhs terms due to boundary conditions.
virtual double computeLEPLICVolumeFraction(const FloatArray &n, const double p, LEPlic *matInterface, bool updFlag)
Computes corresponding volume fraction to given interface position.
virtual void updateStabilizationCoeffs(TimeStep *tStep)
Updates the stabilization coefficients used for CBS and SUPG algorithms.
virtual void computeAccelerationTerm_MC(FloatMatrix &answer, TimeStep *tStep)
Computes acceleration terms for mass conservation equation.
virtual void updateYourself(TimeStep *tStep)
Updates element state after equilibrium in time step has been reached.
virtual double LS_PCS_computeF(LevelSetPCS *ls, TimeStep *tStep)
Evaluates F in level set equation of the form where for interface position driven by flow with speed...
virtual void initGeometry()
virtual void computeSlipWithFrictionBCTerm_MB(FloatMatrix &answer, Load *load, int side, TimeStep *tStep)
Computes Lhs term due to applied slip with friction bc.
virtual void giveLocalVelocityDofMap(IntArray &map)
virtual void formMaterialVolumePoly(Polygon &matvolpoly, LEPlic *matInterface, const FloatArray &normal, const double p, bool updFlag)
Assembles the true element material polygon (takes receiver vof into accout).
virtual void LS_PCS_computeVOFFractions(FloatArray &answer, FloatArray &fi)
Returns VOF fractions for each material on element according to nodal values of level set function (p...
virtual void computeDiffusionTerm_MC(FloatArray &answer, TimeStep *tStep)
Computes diffusion terms for mass conservation equation.
virtual contextIOResultType saveContext(DataStream &stream, ContextMode mode, void *obj=NULL)
Stores receiver state to output stream.
virtual contextIOResultType restoreContext(DataStream &stream, ContextMode mode, void *obj=NULL)
Restores the receiver state previously written in stream.
virtual void SPRNodalRecoveryMI_giveDofMansDeterminedByPatch(IntArray &answer, int pap)
virtual void computeBCRhsTerm_MC(FloatArray &answer, TimeStep *tStep)
Computes Rhs terms due to boundary conditions.
virtual void computeAdvectionDerivativeTerm_MC(FloatMatrix &answer, TimeStep *tStep)
Computes the derivative of advection terms for mass conservation equation with respect to nodal veloc...
virtual double computeCriticalTimeStep(TimeStep *tStep)
Computes the critical time increment.
Abstract base class representing Lagrangian-Eulerian (moving) material interfaces.
virtual void drawRawGeometry(oofegGraphicContext &gc, TimeStep *tStep)
virtual void LS_PCS_computedN(FloatMatrix &answer)
Returns gradient of shape functions.
Class representing vector of real numbers.
virtual void computeDeviatoricStrain(FloatArray &answer, GaussPoint *gp, TimeStep *tStep)
Class representing 2D polygon.
Implementation of matrix containing floating point numbers.
TR1_2D_SUPG(int n, Domain *d)
virtual MaterialMode giveMaterialMode()
Returns material mode for receiver integration points.
virtual void computeAdvectionDerivativeTerm_MB(FloatMatrix &answer, TimeStep *tStep)
Computes the derivative of advection terms for momentum balance equations(s) with respect to nodal ve...
IRResultType
Type defining the return values of InputRecord reading operations.
Abstract base class representing Level Set representation of material interfaces. ...
void resize(int rows, int cols)
Checks size of receiver towards requested bounds.
virtual int computeNumberOfDofs()
Computes or simply returns total number of element's local DOFs.
void zero()
Zeroes all coefficients of receiver.
virtual double LS_PCS_computeS(LevelSetPCS *ls, TimeStep *tStep)
Evaluates S in level set equation of the form where .
virtual int SPRNodalRecoveryMI_giveNumberOfIP()
The spatial localizer element interface associated to spatial localizer.
virtual FEInterpolation * giveInterpolation() const
long ContextMode
Context mode (mask), defining the type of information written/read to/from context.
virtual double computeMyVolume(LEPlic *matInterface, bool updFlag)
Computes the volume of receiver.
void zero()
Zeroes all coefficient of receiver.
virtual SPRPatchType SPRNodalRecoveryMI_givePatchType()
virtual void computeDiffusionDerivativeTerm_MB(FloatMatrix &answer, MatResponseMode mode, TimeStep *tStep)
Computes the derivative of diffusion terms for momentum balance equations(s) with respect to nodal ve...
InterfaceType
Enumerative type, used to identify interface type.
virtual Element * giveElement()
Return number of receiver's element.
Class representing 2d linear triangular element for solving incompressible fluid with SUPG solver...
virtual void computeLSICStabilizationTerm_MB(FloatMatrix &answer, TimeStep *tStep)
Computes SLIC stabilization term for momentum balance equation(s).
virtual const char * giveInputRecordName() const
Load is base abstract class for all loads.
double p
Line constant of line segment representing interface.
the oofem namespace is to define a context or scope in which all oofem names are defined.
virtual void computePressureTerm_MB(FloatMatrix &answer, TimeStep *tStep)
Computes pressure terms for momentum balance equations(s).
Class representing integration point in finite element program.
FloatArray normal
Interface segment normal.
Class representing solution step.
virtual void formVolumeInterfacePoly(Polygon &matvolpoly, LEPlic *matInterface, const FloatArray &normal, const double p, bool updFlag)
Assembles receiver material polygon based solely on given interface line.
virtual void computePenetrationWithResistanceBCTerm_MB(FloatMatrix &answer, Load *load, int side, TimeStep *tStep)
Computes Lhs contribution due to applied Penetration bc.
InternalStateMode
Determines the mode of internal variable.
virtual void computeOutFlowBCTerm_MB(FloatMatrix &answer, int side, TimeStep *tStep)
Computes Lhs contribution due to outflow BC.
virtual void SPRNodalRecoveryMI_giveSPRAssemblyPoints(IntArray &pap)
virtual double computeCriticalLEPlicTimeStep(TimeStep *tStep)
Computes critical time step.
void resize(int s)
Resizes receiver towards requested size.
virtual void printOutputAt(FILE *file, TimeStep *tStep)
Prints output of receiver to stream, for given time step.
virtual void giveDofManDofIDMask(int inode, IntArray &answer) const
Returns dofmanager dof mask for node.
virtual void giveInputRecord(DynamicInputRecord &input)
Setups the input record string of receiver.