35 #ifndef stationarytransportproblem_h 36 #define stationarytransportproblem_h 45 #define _IFT_StationaryTransportProblem_Name "stationaryproblem" 46 #define _IFT_StationaryTransportProblem_exportfields "exportfields" 47 #define _IFT_StationaryTransportProblem_keepTangent "keeptangent" 51 class SparseNonLinearSystemNM;
98 virtual const char *
giveClassName()
const {
return "StationaryTransportProblem"; }
109 #endif // stationarytransportproblem_h virtual void updateInternalState(TimeStep *tStep)
Updates IP values on elements.
std::shared_ptr< Field > FieldPtr
SparseNonLinearSystemNM * nMethod
Numerical method used to solve the problem.
FloatArray internalForces
FieldType
Physical type of field.
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.
This base class is an abstraction for numerical algorithm.
StationaryTransportProblem(int i, EngngModel *_master)
Constructor.
virtual int checkConsistency()
Allows programmer to test some receiver's internal data, before computation begins.
virtual void solveYourselfAt(TimeStep *tStep)
Solves problem for given time step.
#define _IFT_StationaryTransportProblem_Name
virtual ~StationaryTransportProblem()
Destructor.
std::unique_ptr< SparseMtrx > conductivityMatrix
virtual void updateComponent(TimeStep *tStep, NumericalCmpn cmpn, Domain *d)
Updates components mapped to numerical method if necessary during solution process.
virtual contextIOResultType saveContext(DataStream &stream, ContextMode mode)
Stores the state of model to output stream.
NumericalCmpn
Type representing numerical component.
virtual contextIOResultType restoreContext(DataStream &stream, ContextMode mode)
Restores the state of model from output stream.
virtual NumericalMethod * giveNumericalMethod(MetaStep *mStep)
Returns reference to receiver's numerical method.
SparseMtrxType
Enumerative type used to identify the sparse matrix type.
virtual IRResultType initializeFrom(InputRecord *ir)
Initializes receiver according to object description in input reader.
virtual const char * giveInputRecordName() const
std::unique_ptr< PrimaryField > UnknownsField
This field stores solution vector. For fixed size of problem, the PrimaryField is used...
SparseMtrxType sparseMtrxType
Class representing vector of real numbers.
virtual TimeStep * giveNextStep()
Returns next time step (next to current step) of receiver.
IRResultType
Type defining the return values of InputRecord reading operations.
virtual fMode giveFormulation()
Indicates type of non linear computation (total or updated formulation).
fMode
Type representing the type of formulation (total or updated) of non-linear computation.
virtual void updateDomainLinks()
Updates domain links after the domains of receiver have changed.
virtual double giveUnknownComponent(ValueModeType mode, TimeStep *tStep, Domain *d, Dof *dof)
Returns requested unknown.
long ContextMode
Context mode (mask), defining the type of information written/read to/from context.
virtual void updateYourself(TimeStep *tStep)
Updates internal state after finishing time step.
virtual FieldPtr giveField(FieldType key, TimeStep *)
Returns the smart pointer to requested field, Null otherwise.
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.
virtual const char * giveClassName() const
Returns class name of the receiver.
Class representing solution step.
This base class is an abstraction for all numerical methods solving sparse nonlinear system of equati...