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

#include <directlinearsolver.h>

Public Member Functions

 DirectLinearSolverWithMatrix (ParameterReader &param_reader)
 
 ~DirectLinearSolverWithMatrix ()
 
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 SPARSITYPATTERN, typename MATRIX, typename VECTOR>
class DOpE::DirectLinearSolverWithMatrix< SPARSITYPATTERN, MATRIX, VECTOR >

This class provides a linear solve for the nonlinear solvers of DOpE. Here we interface to the UMFPACK-Solver provided via dealii The use of this function requires that dealii is compiled with UMFPACK

Template Parameters
<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 SPARSITYPATTERN , typename MATRIX , typename VECTOR >
DOpE::DirectLinearSolverWithMatrix< SPARSITYPATTERN, MATRIX, VECTOR >::DirectLinearSolverWithMatrix ( ParameterReader param_reader)
template<typename SPARSITYPATTERN , typename MATRIX , typename VECTOR >
DOpE::DirectLinearSolverWithMatrix< SPARSITYPATTERN, MATRIX, VECTOR >::~DirectLinearSolverWithMatrix ( )

Member Function Documentation

template<typename SPARSITYPATTERN , typename MATRIX , typename VECTOR >
void DOpE::DirectLinearSolverWithMatrix< SPARSITYPATTERN, MATRIX, VECTOR >::declare_params ( ParameterReader param_reader)
static
template<typename SPARSITYPATTERN , typename MATRIX , typename VECTOR >
template<typename PROBLEM >
void DOpE::DirectLinearSolverWithMatrix< 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 SPARSITYPATTERN , typename MATRIX , typename VECTOR >
template<typename PROBLEM , typename INTEGRATOR >
void DOpE::DirectLinearSolverWithMatrix< 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::SparseDirectUMFPACK

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: