#include <newtonsolver.h>
|
| NewtonSolver (INTEGRATOR &integrator, ParameterReader ¶m_reader) |
|
| ~NewtonSolver () |
|
template<typename PROBLEM > |
void | ReInit (PROBLEM &pde) |
|
template<typename PROBLEM > |
bool | NonlinearSolve (PROBLEM &pde, VECTOR &solution, bool apply_boundary_values=true, bool force_matrix_build=false, int priority=5, std::string algo_level="\t\t ") |
|
template<typename INTEGRATOR, typename LINEARSOLVER, typename VECTOR>
class DOpE::NewtonSolver< INTEGRATOR, LINEARSOLVER, VECTOR >
A nonlinear solver class to compute solutions to nonlinear (stationary) problems
- Template Parameters
-
<INTEGRATOR> | Integration routines to compute domain-, face-, and right-hand side values. |
<LINEARSOLVER> | A linear solver to solve the linear subproblems. |
<VECTOR> | A template class for arbitrary vectors which are given to the FS scheme and where the solution is stored in. |
template<typename INTEGRATOR , typename LINEARSOLVER , typename VECTOR >
template<typename INTEGRATOR , typename LINEARSOLVER , typename VECTOR >
template<typename INTEGRATOR , typename LINEARSOLVER , typename VECTOR >
template<typename INTEGRATOR , typename LINEARSOLVER , typename VECTOR >
template<typename INTEGRATOR , typename LINEARSOLVER , typename VECTOR >
template<typename PROBLEM >
bool DOpE::NewtonSolver< INTEGRATOR, LINEARSOLVER, VECTOR >::NonlinearSolve |
( |
PROBLEM & |
pde, |
|
|
VECTOR & |
solution, |
|
|
bool |
apply_boundary_values = true , |
|
|
bool |
force_matrix_build = false , |
|
|
int |
priority = 5 , |
|
|
std::string |
algo_level = "\t\t " |
|
) |
| |
Solves the nonlinear PDE described by the PROBLEM using a Newton-Method
- Template Parameters
-
<PROBLEM> | The description of the problem we want to solve. |
- Parameters
-
pde | The problem |
solution | A Vector that will store the solution upon completion Note that an initial guess for the solution may be stored in this vector as this Vector is used as starting value for the Iteration. |
apply_boundary_values | A boolean that decides whether we apply strong dirichlet boundary values to the Vector solution or not. If true (default) the Values will be applied However if it is set to false, solution will be used unchanged as initial condition. Be aware of the fact that NewtonsMethod can only converge in this case if the initial Value of solution has the correct boundary values. |
force_build_matrix | A 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. |
priority | A number that defines the offset for the priority of the output |
algo_level | A prefix string to adjust indentation of the output. |
- Returns
- a boolean, that indicates whether it should be required to build the matrix next time that this method is used, e.g. the value for force_build_matrix of the next call.
template<typename INTEGRATOR , typename LINEARSOLVER , typename VECTOR >
template<typename PROBLEM >
This Function should be called once after grid refinement, or changes in boundary values to recompute sparsity patterns, and constraint matrices.
The documentation for this class was generated from the following file:
- /afs/math.uni-hamburg.de/users/oa/fmrv001/src/DOpE/ThingsForMaintainer/Releases/tmp/dopelib-2.0/DOpEsrc/templates/newtonsolver.h