A linear system assembler (residual and Jacobian) for finite volume schemes (box, tpfa, mpfa, ...) More...
#include <dumux/assembly/fvassembler.hh>
TypeTag | The TypeTag |
diffMethod | The differentiation method to residual compute derivatives |
isImplicit | Specifies whether the time discretization is implicit or not not (i.e. explicit) |
Public Types | |
using | Scalar = GetPropType< TypeTag, Properties::Scalar > |
using | JacobianMatrix = GetPropType< TypeTag, Properties::JacobianMatrix > |
using | SolutionVector = GetPropType< TypeTag, Properties::SolutionVector > |
using | ResidualType = typename Detail::NativeDuneVectorType< SolutionVector >::type |
using | GridVariables = GetPropType< TypeTag, Properties::GridVariables > |
using | GridGeometry = GridGeo |
using | Problem = GetPropType< TypeTag, Properties::Problem > |
Public Member Functions | |
FVAssembler (std::shared_ptr< const Problem > problem, std::shared_ptr< const GridGeometry > gridGeometry, std::shared_ptr< GridVariables > gridVariables) | |
The constructor for stationary problems. More... | |
FVAssembler (std::shared_ptr< const Problem > problem, std::shared_ptr< const GridGeometry > gridGeometry, std::shared_ptr< GridVariables > gridVariables, std::shared_ptr< const TimeLoop > timeLoop, const SolutionVector &prevSol) | |
The constructor for instationary problems. More... | |
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. More... | |
void | assembleJacobian (const SolutionVector &curSol) |
Assembles only the global Jacobian of the residual. More... | |
void | assembleResidual (const SolutionVector &curSol) |
compute the residuals using the internal residual More... | |
void | assembleResidual (ResidualType &r, const SolutionVector &curSol) const |
assemble a residual r More... | |
void | setLinearSystem (std::shared_ptr< JacobianMatrix > A, std::shared_ptr< ResidualType > r) |
Tells the assembler which jacobian and residual to use. This also resizes the containers to the required sizes and sets the sparsity pattern of the jacobian matrix. More... | |
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. More... | |
void | updateAfterGridAdaption () |
Resizes jacobian and residual and recomputes colors. More... | |
std::size_t | numDofs () const |
Returns the number of degrees of freedom. More... | |
const Problem & | problem () const |
The problem. More... | |
const GridGeometry & | gridGeometry () const |
The global finite volume geometry. More... | |
const GridView & | gridView () const |
The gridview. More... | |
GridVariables & | gridVariables () |
The global grid variables. More... | |
const GridVariables & | gridVariables () const |
The global grid variables. More... | |
JacobianMatrix & | jacobian () |
The jacobian matrix. More... | |
ResidualType & | residual () |
The residual vector (rhs) More... | |
const SolutionVector & | prevSol () const |
The solution of the previous time step. More... | |
void | setTimeLoop (std::shared_ptr< const TimeLoop > timeLoop) |
Set time loop for instationary problems. More... | |
void | setPreviousSolution (const SolutionVector &u) |
Sets the solution from which to start the time integration. Has to be called prior to assembly for time-dependent problems. More... | |
bool | isStationaryProblem () const |
Whether we are assembling a stationary or instationary problem. More... | |
LocalResidual | localResidual () const |
Create a local residual object (used by the local assembler) More... | |
void | updateGridVariables (const SolutionVector &cursol) |
Update the grid variables. More... | |
void | resetTimeStep (const SolutionVector &cursol) |
Reset the gridVariables. More... | |
using Dumux::FVAssembler< TypeTag, diffMethod, isImplicit >::GridGeometry = GridGeo |
using Dumux::FVAssembler< TypeTag, diffMethod, isImplicit >::GridVariables = GetPropType<TypeTag, Properties::GridVariables> |
using Dumux::FVAssembler< TypeTag, diffMethod, isImplicit >::JacobianMatrix = GetPropType<TypeTag, Properties::JacobianMatrix> |
using Dumux::FVAssembler< TypeTag, diffMethod, isImplicit >::Problem = GetPropType<TypeTag, Properties::Problem> |
using Dumux::FVAssembler< TypeTag, diffMethod, isImplicit >::ResidualType = typename Detail::NativeDuneVectorType<SolutionVector>::type |
using Dumux::FVAssembler< TypeTag, diffMethod, isImplicit >::Scalar = GetPropType<TypeTag, Properties::Scalar> |
using Dumux::FVAssembler< TypeTag, diffMethod, isImplicit >::SolutionVector = GetPropType<TypeTag, Properties::SolutionVector> |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |