A toolkit for distributed mathematical modeling
INMOST::AbstractSubModel Class Referenceabstract

A class to manage a submodel within a model. More...

#include <inmost_model.h>

Public Member Functions

virtual bool PrepareEntries (Model &P)=0
 Let the submodel introduce its unknowns.
virtual bool Initialize (Model &P)=0
 Initialize coupling and dependent unknowns.
virtual bool SetupCoupling (Model &P)
 Setup coupling with unknowns of other models.
virtual bool PrepareIterations ()
 Initialize data needed for FillResidual. More...
virtual bool FillResidual (Residual &R) const =0
 Fill part of the residual related to my unknowns.
virtual bool UpdateSolution (const Sparse::Vector &sol, double alpha)=0
 Update solution.
virtual bool UpdateTimeStep ()=0
 Update time step.
virtual bool SetTimeStep (double dt)=0
 Provide time step.
virtual bool SetTime (double t)=0
 Provide current time.
virtual bool RestoreTimeStep ()=0
 Roll back to previous step.
virtual double UpdateMultiplier (const Sparse::Vector &sol) const
 Calculate multiplier for update for this model. Can simply return 1.
virtual double AdjustTimeStep (double dt) const
 Calculate time step for this model. Can simply return dt.
virtual void PrepareOutput ()
 Prepare submodel data for output.
virtual void FinishOutput ()
 Remove submodel data for output.

Detailed Description

A class to manage a submodel within a model.

Each submodel is responsible to define unknowns of the model on the mesh.

Definition at line 20 of file inmost_model.h.

Member Function Documentation

◆ PrepareIterations()

virtual bool INMOST::AbstractSubModel::PrepareIterations ( )

Initialize data needed for FillResidual.

Called once before nonlinear iterations.

Definition at line 31 of file inmost_model.h.

The documentation for this class was generated from the following file: