OGS 6.3.0-179-g962fdcd4e.dirty.20200403132553
NumLib::InternalMatrixStorage Class Referenceabstract

Detailed Description

Interface that allows managing an additional internal state as required by certain time discretization schemes.

Definition at line 26 of file TimeDiscretization.h.

#include <TimeDiscretization.h>

Inheritance diagram for NumLib::InternalMatrixStorage:

Public Member Functions

virtual void pushMatrices () const =0
virtual ~InternalMatrixStorage ()=default

Constructor & Destructor Documentation

◆ ~InternalMatrixStorage()

virtual NumLib::InternalMatrixStorage::~InternalMatrixStorage ( )

Member Function Documentation

◆ pushMatrices()

virtual void NumLib::InternalMatrixStorage::pushMatrices ( ) const
pure virtual

Triggers a refresh of the internal matrix/vector storage.

This method is needed in particular to fully implement the interaction of the CrankNicolson scheme with other classes.
This method must be called (if it is called) from within TimeDiscretization::pushState() after the internal state of the TimeDiscretization has been set to the new solution. Otherwise the pushMatrices() method of MatrixTranslator's will break!

Implemented in NumLib::TimeDiscretizedODESystem< ODESystemTag::FirstOrderImplicitQuasilinear, NonlinearSolverTag::Picard >, and NumLib::TimeDiscretizedODESystem< ODESystemTag::FirstOrderImplicitQuasilinear, NonlinearSolverTag::Newton >.

Referenced by NumLib::CrankNicolson::pushState().

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