48 #define _IFT_StokesFlow_Name "stokesflow" 49 #define _IFT_StokesFlow_deltat "deltat" 53 class SparseNonLinearSystemNM;
54 class MeshQualityErrorEstimator;
73 std :: unique_ptr< SparseNonLinearSystemNM >
nMethod;
124 #endif // stokesflow_h
LinSystSolverType
The values of this type should be related not to specific solvers, but more to specific packages that...
virtual double giveUnknownComponent(ValueModeType mode, TimeStep *tStep, Domain *domain, Dof *dof)
Returns requested unknown.
virtual double giveReynoldsNumber()
virtual const char * giveInputRecordName() const
ValueModeType
Type representing the mode of UnknownType or CharType, or similar types.
virtual IRResultType initializeFrom(InputRecord *ir)
Initializes receiver according to object description in input reader.
Base class for fluid problems.
This base class is an abstraction for numerical algorithm.
virtual TimeStep * giveNextStep()
Returns next time step (next to current step) of receiver.
std::unique_ptr< SparseMtrx > stiffnessMatrix
SparseMtrxType sparseMtrxType
Sparse matrix type.
double maxdef
Maximum deformation allowed.
virtual void updateComponent(TimeStep *tStep, NumericalCmpn cmpn, Domain *d)
Updates components mapped to numerical method if necessary during solution process.
StokesFlow(int i, EngngModel *_master=NULL)
LinSystSolverType solverType
Linear solver type.
NumericalCmpn
Type representing numerical component.
virtual const char * giveClassName() const
Returns class name of the receiver.
virtual int checkConsistency()
Allows programmer to test some receiver's internal data, before computation begins.
FloatArray eNorm
Element norm for nonlinear analysis (squared)
SparseMtrxType
Enumerative type used to identify the sparse matrix type.
void updateInternalState(TimeStep *tStep)
double deltaT
Time increment read from input record.
virtual int forceEquationNumbering()
Forces equation renumbering on all domains associated to engng model.
virtual NumericalMethod * giveNumericalMethod(MetaStep *mStep)
Returns reference to receiver's numerical method.
virtual void doStepOutput(TimeStep *tStep)
Prints the ouput of the solution step (using virtual this->printOutputAtservice) to the stream detemi...
Implements the engineering model to solve incompressible Stokes flow.
std::unique_ptr< SparseNonLinearSystemNM > nMethod
Numerical method.
TopologyState ts
Topology state, most notably used for determining if there is a need to remesh.
Class representing vector of real numbers.
std::unique_ptr< PrimaryField > velocityPressureField
Primary unknowns.
IRResultType
Type defining the return values of InputRecord reading operations.
FloatArray solutionVector
FloatArray internalForces
std::unique_ptr< MeshQualityErrorEstimator > meshqualityee
Used for determining if a new mesh must be created.
Abstract base class representing the "problem" under consideration.
#define _IFT_StokesFlow_Name
the oofem namespace is to define a context or scope in which all oofem names are defined.
Abstract class Dof represents Degree Of Freedom in finite element mesh.
virtual void solveYourselfAt(TimeStep *tStep)
Solves problem for given time step.
virtual void updateYourself(TimeStep *tStep)
Updates everything for the problem.
TopologyState
Determines the state of the evolving topology.
Class representing solution step.