50 #define _IFT_CBS_Name "cbs" 51 #define _IFT_CBS_deltat "deltat" 52 #define _IFT_CBS_mindeltat "mindeltat" 53 #define _IFT_CBS_cmflag "cmflag" 54 #define _IFT_CBS_theta1 "theta1" 55 #define _IFT_CBS_theta2 "theta2" 56 #define _IFT_CBS_scaleflag "scaleflag" 57 #define _IFT_CBS_lscale "lscale" 58 #define _IFT_CBS_uscale "uscale" 59 #define _IFT_CBS_dscale "dscale" 60 #define _IFT_CBS_miflag "miflag" 131 if (
id == V_u ||
id == V_v ||
id == V_w ) {
175 std :: unique_ptr< SparseLinearSystemNM >
nMethod;
180 std :: unique_ptr< SparseMtrx >
lhs;
192 std :: unique_ptr< SparseMtrx >
mss;
226 virtual void solveYourselfAt(
TimeStep *tStep);
228 virtual void updateYourself(
TimeStep *tStep);
231 virtual double giveReynoldsNumber();
234 double giveTractionPressure(
Dof *dof);
239 virtual void updateDomainLinks();
242 virtual TimeStep *giveSolutionStepWhenIcApply(
bool force =
false);
247 virtual int checkConsistency();
253 virtual void printDofOutputAt(FILE *stream,
Dof *iDof,
TimeStep *tStep);
257 virtual int giveNewEquationNumber(
int domain,
DofIDItem);
258 virtual int giveNewPrescribedEquationNumber(
int domain,
DofIDItem);
270 void updateInternalState(
TimeStep *tStep);
LinSystSolverType
The values of this type should be related not to specific solvers, but more to specific packages that...
FloatArray prescribedTractionPressure
VelocityEquationNumbering vnum
Implementation for assembling external forces vectors in standard monolithic FE-problems.
std::unique_ptr< MaterialInterface > materialInterface
Implementation for assembling external forces vectors in standard monolithic FE-problems.
Abstract class representing field of primary variables (those, which are unknown and are typically as...
PressureEquationNumbering(bool prescribed)
VelocityEquationNumbering vnumPrescribed
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.
virtual bool isDefault() const
Returns true, if receiver is the default engngModel equation numbering scheme; This is useful for som...
PrimaryField VelocityField
Velocity field.
virtual int giveRequiredNumberOfDomainEquation() const
Returns required number of domain equation.
VarScaleType
Type determining the scale corresponding to particular variable.
Base class for fluid problems.
This base class is an abstraction for numerical algorithm.
PressureEquationNumbering pnumPrescribed
double dscale
Density scale.
Abstract base class for all finite elements.
virtual int __giveEquationNumber() const =0
Returns equation number of receiver, usually assigned by emodel.
double Re
Reynolds number.
virtual bool isDefault() const
Returns true, if receiver is the default engngModel equation numbering scheme; This is useful for som...
Class implementing an array of integers.
virtual int __givePrescribedEquationNumber()=0
Returns prescribed equation number of receiver.
std::unique_ptr< SparseMtrx > lhs
virtual int giveRequiredNumberOfDomainEquation() const
Returns required number of domain equation.
double uscale
Velocity scale.
Implementation for assembling external forces vectors in standard monolithic FE-problems.
FloatArray deltaAuxVelocity
Callback class for assembling specific types of vectors.
FloatArray nodalPrescribedTractionPressureConnectivity
Callback class for assembling specific types of matrices.
virtual const char * giveInputRecordName() const
DofIDItem
Type representing particular dof type.
SparseMtrxType
Enumerative type used to identify the sparse matrix type.
virtual int giveDofEquationNumber(Dof *dof) const
Returns the equation number for corresponding DOF.
Abstract base class allowing to control the way, how equations are assigned to individual DOFs...
Specialized numbering scheme for CBS algorithm, since it needs velocities separately.
DofIDItem giveDofID() const
Returns DofID value of receiver, which determines type of of unknown connected to receiver (e...
int askNewEquationNumber()
std::unique_ptr< SparseMtrx > mss
Sparse consistent mass.
int askNewEquationNumber()
Specialized numbering scheme for CBS algorithm, since it needs pressures separately.
This class represents CBS algorithm for solving incompressible Navier-Stokes equations.
virtual void locationFromElement(IntArray &loc, Element &element, const UnknownNumberingScheme &s, IntArray *dofIds=nullptr) const
Default implementation takes all the DOF IDs.
Class representing vector of real numbers.
Callback class for assembling CBS pressure matrices.
PressureEquationNumbering pnum
Implementation of matrix containing floating point numbers.
IRResultType
Type defining the return values of InputRecord reading operations.
std::unique_ptr< SparseLinearSystemNM > nMethod
Numerical method used to solve the problem.
double lscale
Length scale.
virtual void vectorFromElement(FloatArray &vec, Element &element, TimeStep *tStep, ValueModeType mode) const
fMode
Type representing the type of formulation (total or updated) of non-linear computation.
LinSystSolverType solverType
virtual fMode giveFormulation()
Indicates type of non linear computation (total or updated formulation).
Implementation for assembling external forces vectors in standard monolithic FE-problems.
Implementation for assembling external forces vectors in standard monolithic FE-problems.
long ContextMode
Context mode (mask), defining the type of information written/read to/from context.
Abstract base class representing the "problem" under consideration.
FloatArray mm
Lumped mass matrix.
VelocityEquationNumbering(bool prescribed)
the oofem namespace is to define a context or scope in which all oofem names are defined.
virtual bool giveEquationScalingFlag()
Returns the Equation scaling flag, which is used to indicate that governing equation(s) are scaled...
Abstract class Dof represents Degree Of Freedom in finite element mesh.
int consistentMassFlag
Consistent mass flag.
PrimaryField PressureField
Pressure field.
Class representing solution step.
virtual int giveDofEquationNumber(Dof *dof) const
Returns the equation number for corresponding DOF.
virtual const char * giveClassName() const
Returns class name of the receiver.
SparseMtrxType sparseMtrxType