DOpE
Public Member Functions | Static Public Member Functions
DOpE::RichardsonLinearSolverWithMatrix< PRECONDITIONER, SPARSITYPATTERN, MATRIX, VECTOR > Class Template Reference

#include <richardsonlinearsolver.h>

Public Member Functions

 RichardsonLinearSolverWithMatrix (ParameterReader &param_reader)
 
 ~RichardsonLinearSolverWithMatrix ()
 
template<typename PROBLEM >
void ReInit (PROBLEM &pde)
 
template<typename PROBLEM , typename INTEGRATOR >
void Solve (PROBLEM &pde, INTEGRATOR &integr, VECTOR &rhs, VECTOR &solution, bool force_matrix_build=false)
 

Static Public Member Functions

static void declare_params (ParameterReader &param_reader)
 

Detailed Description

template<typename PRECONDITIONER, typename SPARSITYPATTERN, typename MATRIX, typename VECTOR>
class DOpE::RichardsonLinearSolverWithMatrix< PRECONDITIONER, SPARSITYPATTERN, MATRIX, VECTOR >

This class provides a linear solve for the nonlinear solvers of DOpE. Here we interface to the Richardson-Solver of dealii

Template Parameters
<PRECONDITIONER>The preconditioner class to be used with the solver
<SPARSITYPATTERN>The sparsity pattern for the matrix
<MATRIX>The matrix type that is used for the storage of the system_matrix
<VECTOR>The vector type for the solution and righthandside data,

Constructor & Destructor Documentation

template<typename PRECONDITIONER , typename SPARSITYPATTERN , typename MATRIX , typename VECTOR >
DOpE::RichardsonLinearSolverWithMatrix< PRECONDITIONER, SPARSITYPATTERN, MATRIX, VECTOR >::RichardsonLinearSolverWithMatrix ( ParameterReader param_reader)
template<typename PRECONDITIONER , typename SPARSITYPATTERN , typename MATRIX , typename VECTOR >
DOpE::RichardsonLinearSolverWithMatrix< PRECONDITIONER, SPARSITYPATTERN, MATRIX, VECTOR >::~RichardsonLinearSolverWithMatrix ( )

Member Function Documentation

template<typename PRECONDITIONER , typename SPARSITYPATTERN , typename MATRIX , typename VECTOR >
void DOpE::RichardsonLinearSolverWithMatrix< PRECONDITIONER, SPARSITYPATTERN, MATRIX, VECTOR >::declare_params ( ParameterReader param_reader)
static
template<typename PRECONDITIONER , typename SPARSITYPATTERN , typename MATRIX , typename VECTOR >
template<typename PROBLEM >
void DOpE::RichardsonLinearSolverWithMatrix< PRECONDITIONER, SPARSITYPATTERN, MATRIX, VECTOR >::ReInit ( PROBLEM &  pde)

This Function should be called once after grid refinement, or changes in boundary values to recompute sparsity patterns, and constraint matrices.

template<typename PRECONDITIONER , typename SPARSITYPATTERN , typename MATRIX , typename VECTOR >
template<typename PROBLEM , typename INTEGRATOR >
void DOpE::RichardsonLinearSolverWithMatrix< PRECONDITIONER, SPARSITYPATTERN, MATRIX, VECTOR >::Solve ( PROBLEM &  pde,
INTEGRATOR &  integr,
VECTOR &  rhs,
VECTOR &  solution,
bool  force_matrix_build = false 
)

Solves the linear PDE in the form Ax = b using dealii::SolverRichardson

Template Parameters
<PROBLEM>The problem that we want to solve, this is passed on to the INTEGRATOR to calculate the matrix.
<INTEGRATOR>The integrator used to calculate the matrix A.
Parameters
rhsRight Hand Side of the Equation, i.e., the VECTOR b. Note that rhs is not const, this is because we need to apply the boundary values to this vector!
solutionThe Approximate Solution of the Linear Equation. It is assumed to be zero! Upon completion this VECTOR stores x
force_build_matrixA boolean value, that indicates whether the Matrix should be build by the linear solver in the first iteration. The default is false, meaning that if we have no idea we don't want to build a matrix.

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