35 #ifndef nonstationarytransportproblem_h 36 #define nonstationarytransportproblem_h 48 #define _IFT_NonStationaryTransportProblem_Name "nonstationaryproblem" 49 #define _IFT_NonStationaryTransportProblem_initt "initt" 50 #define _IFT_NonStationaryTransportProblem_deltat "deltat" 51 #define _IFT_NonStationaryTransportProblem_deltatfunction "deltatfunction" 52 #define _IFT_NonStationaryTransportProblem_prescribedtimes "prescribedtimes" 53 #define _IFT_NonStationaryTransportProblem_alpha "alpha" 54 #define _IFT_NonStationaryTransportProblem_lumpedcapa "lumpedcapa" 55 #define _IFT_NonStationaryTransportProblem_changingproblemsize "changingproblemsize" 144 virtual void solveYourselfAt(
TimeStep *tStep);
145 virtual void updateYourself(
TimeStep *tStep);
150 virtual void updateDomainLinks();
153 virtual TimeStep *giveSolutionStepWhenIcApply(
bool force =
false);
157 virtual int checkConsistency();
161 virtual const char *
giveClassName()
const {
return "NonStationaryTransportProblem"; }
182 double giveDeltaT(
int n);
187 double giveDiscreteTime(
int n);
189 #ifdef __CEMHYD_MODULE 190 void averageOverElements(
TimeStep *tStep);
194 virtual void assembleAlgorithmicPartOfRhs(
FloatArray &rhs,
201 virtual void applyIC(
TimeStep *tStep);
225 virtual void updateInternalState(
TimeStep *tStep);
228 #endif // nonstationarytransportproblem_h LinSystSolverType
The values of this type should be related not to specific solvers, but more to specific packages that...
std::unique_ptr< SparseLinearSystemNM > linSolver
FloatArray discreteTimes
Specified times where the problem is solved.
This class represents stationary transport problem.
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.
long StateCounterType
StateCounterType type used to indicate solution state.
virtual void vectorFromElement(FloatArray &vec, Element &element, TimeStep *tStep, ValueModeType mode) const
This base class is an abstraction for numerical algorithm.
#define _IFT_NonStationaryTransportProblem_Name
Callback class for assembling element external forces:
Abstract base class for all finite elements.
virtual fMode giveFormulation()
Indicates type of non linear computation (total or updated formulation).
LinSystSolverType solverType
virtual const char * giveClassName() const
Returns class name of the receiver.
Callback class for assembling CBS pressure matrices.
bool changingProblemSize
Determines if there are change in the problem size (no application/removal of Dirichlet boundary cond...
Callback class for assembling specific types of vectors.
int dtFunction
Associated time function for time step increment.
Callback class for assembling specific types of matrices.
Abstract base class allowing to control the way, how equations are assigned to individual DOFs...
This class represents linear nonstationary transport problem.
StateCounterType internalVarUpdateStamp
Contains last time stamp of internal variable update.
double deltaT
Length of time step.
FloatArray bcRhs
Right hand side vector from boundary conditions.
int lumpedCapacityStab
If set then stabilization using lumped capacity will be used.
virtual const char * giveInputRecordName() const
Callback class for assembling mid point effective tangents.
Class representing vector of real numbers.
Implementation of matrix containing floating point numbers.
Abstract base class representing a function with vector input and output.
IRResultType
Type defining the return values of InputRecord reading operations.
virtual int requiresUnknownsDictionaryUpdate()
Allows to change number of equations during solution.
fMode
Type representing the type of formulation (total or updated) of non-linear computation.
long ContextMode
Context mode (mask), defining the type of information written/read to/from context.
virtual bool requiresEquationRenumbering(TimeStep *)
Returns true if equation renumbering is required for given solution step.
Abstract base class representing the "problem" under consideration.
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.
double initT
Initial time from which the computation runs. Default is zero.
Class representing solution step.