Reference documentation for deal.II version GIT relicensing-437-g81ec864850 2024-04-19 07:30:02+00:00
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Loading...
Searching...
No Matches
petsc_snes.cc
Go to the documentation of this file.
1// ------------------------------------------------------------------------
2//
3// SPDX-License-Identifier: LGPL-2.1-or-later
4// Copyright (C) 2023 by the deal.II authors
5//
6// This file is part of the deal.II library.
7//
8// Part of the source code is dual licensed under Apache-2.0 WITH
9// LLVM-exception OR LGPL-2.1-or-later. Detailed license information
10// governing the source code and code contributions can be found in
11// LICENSE.md and CONTRIBUTING.md at the top level directory of deal.II.
12//
13// ------------------------------------------------------------------------
14
15#ifndef DOXYGEN
16
17# include <deal.II/base/config.h>
18
19# ifdef DEAL_II_WITH_PETSC
20
22# include <deal.II/lac/petsc_snes.templates.h>
23
25
26namespace PETScWrappers
27{
28 void
30 {
31 prm.enter_subsection("Running parameters");
32 prm.add_parameter(
33 "options prefix",
35 "The string indicating the options prefix for command line customization.");
36 prm.add_parameter("solver type",
38 "The string indicating the PETSc SNES type.");
39 prm.add_parameter("linesearch type",
41 "The string indicating the PETSc linesearch type.");
42 prm.add_parameter("absolute error tolerance",
44 "Absolute error tolerance.");
45 prm.add_parameter("relative error tolerance",
47 "Relative error tolerance.");
48 prm.add_parameter("step tolerance", step_tolerance, "Step tolerance.");
49 prm.add_parameter("maximum iterations",
51 "Maximum number of iterations allowed.");
52 prm.add_parameter("maximum function evaluations",
54 "Maximum number of function evaluations allowed.");
55 prm.leave_subsection();
56 }
57
58} // namespace PETScWrappers
59
60template class PETScWrappers::NonlinearSolver<>;
61template class PETScWrappers::NonlinearSolver<PETScWrappers::MPI::Vector>;
62template class PETScWrappers::NonlinearSolver<PETScWrappers::MPI::BlockVector>;
63template class PETScWrappers::NonlinearSolver<PETScWrappers::MPI::Vector,
65template class PETScWrappers::NonlinearSolver<
68
69
71
72# endif // DEAL_II_WITH_PETSC
73#endif
void add_parameters(ParameterHandler &prm)
void add_parameter(const std::string &entry, ParameterType &parameter, const std::string &documentation="", const Patterns::PatternBase &pattern= *Patterns::Tools::Convert< ParameterType >::to_pattern(), const bool has_to_be_set=false)
void enter_subsection(const std::string &subsection, const bool create_path_if_needed=true)
#define DEAL_II_NAMESPACE_OPEN
Definition config.h:502
#define DEAL_II_NAMESPACE_CLOSE
Definition config.h:503