A linear system assembler (residual and Jacobian) for finite volume schemes (box, tpfa, mpfa, ...) More...
#include <dumux/experimental/assembly/multistagefvassembler.hh>
| TypeTag | The TypeTag |
| diffMethod | The differentiation method to residual compute derivatives |
Public Types | |
| using | Scalar = GetPropType<TypeTag, Properties::Scalar> |
| using | StageParams = Experimental::MultiStageParams<Scalar> |
| using | JacobianMatrix = GetPropType<TypeTag, Properties::JacobianMatrix> |
| using | SolutionVector = GetPropType<TypeTag, Properties::SolutionVector> |
| using | ResidualType = typename Dumux::Detail::NativeDuneVectorType<SolutionVector>::type |
| using | GridVariables = GetPropType<TypeTag, Properties::GridVariables> |
| using | GridGeometry = GridGeo |
| using | Problem = GetPropType<TypeTag, Properties::Problem> |
Public Member Functions | |
| MultiStageFVAssembler (std::shared_ptr< const Problem > problem, std::shared_ptr< const GridGeometry > gridGeometry, std::shared_ptr< GridVariables > gridVariables, std::shared_ptr< const Experimental::MultiStageMethod< Scalar > > msMethod, const SolutionVector &prevSol) | |
| The constructor for instationary problems. | |
| template<class PartialReassembler = DefaultPartialReassembler> | |
| void | assembleJacobianAndResidual (const SolutionVector &curSol, const PartialReassembler *partialReassembler=nullptr) |
| Assembles the global Jacobian of the residual and the residual for the current solution. | |
| void | assembleResidual (const SolutionVector &curSol) |
| compute the residuals using the internal residual | |
| void | setLinearSystem () |
| The version without arguments uses the default constructor to create the jacobian and residual objects in this assembler if you don't need them outside this class. | |
| void | updateAfterGridAdaption () |
| Resizes jacobian and residual and recomputes colors. | |
| std::size_t | numDofs () const |
| Returns the number of degrees of freedom. | |
| const Problem & | problem () const |
| The problem. | |
| const GridGeometry & | gridGeometry () const |
| The global finite volume geometry. | |
| const GridView & | gridView () const |
| The gridview. | |
| GridVariables & | gridVariables () |
| The global grid variables. | |
| const GridVariables & | gridVariables () const |
| The global grid variables. | |
| JacobianMatrix & | jacobian () |
| The jacobian matrix. | |
| ResidualType & | residual () |
| The residual vector (rhs) | |
| const SolutionVector & | prevSol () const |
| The solution of the previous time step. | |
| MultiStageFVLocalOperator< LocalResidual > | localResidual () const |
| Create a local residual object (used by the local assembler) | |
| void | updateGridVariables (const SolutionVector &cursol) |
| Update the grid variables. | |
| void | resetTimeStep (const SolutionVector &cursol) |
| Reset the gridVariables. | |
| void | clearStages () |
| template<class StageParams> | |
| void | prepareStage (SolutionVector &x, StageParams params) |
| bool | isStationaryProblem () const |
| TODO get rid of this (called by Newton but shouldn't be necessary) | |
| bool | isImplicit () const |
| using Dumux::Experimental::MultiStageFVAssembler< TypeTag, diffMethod >::GridGeometry = GridGeo |
| using Dumux::Experimental::MultiStageFVAssembler< TypeTag, diffMethod >::GridVariables = GetPropType<TypeTag, Properties::GridVariables> |
| using Dumux::Experimental::MultiStageFVAssembler< TypeTag, diffMethod >::JacobianMatrix = GetPropType<TypeTag, Properties::JacobianMatrix> |
| using Dumux::Experimental::MultiStageFVAssembler< TypeTag, diffMethod >::Problem = GetPropType<TypeTag, Properties::Problem> |
| using Dumux::Experimental::MultiStageFVAssembler< TypeTag, diffMethod >::ResidualType = typename Dumux::Detail::NativeDuneVectorType<SolutionVector>::type |
| using Dumux::Experimental::MultiStageFVAssembler< TypeTag, diffMethod >::Scalar = GetPropType<TypeTag, Properties::Scalar> |
| using Dumux::Experimental::MultiStageFVAssembler< TypeTag, diffMethod >::SolutionVector = GetPropType<TypeTag, Properties::SolutionVector> |
| using Dumux::Experimental::MultiStageFVAssembler< TypeTag, diffMethod >::StageParams = Experimental::MultiStageParams<Scalar> |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |