deal.II version GIT relicensing-2169-gec1b43f35b 2024-11-22 07:10:00+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
source
lac
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
21
# include <
deal.II/lac/petsc_block_sparse_matrix.h
>
22
# include <deal.II/lac/petsc_snes.templates.h>
23
24
DEAL_II_NAMESPACE_OPEN
25
26
namespace
PETScWrappers
27
{
28
void
29
NonlinearSolverData::add_parameters
(
ParameterHandler
&prm)
30
{
31
prm.
enter_subsection
(
"Running parameters"
);
32
prm.
add_parameter
(
33
"options prefix"
,
34
options_prefix
,
35
"The string indicating the options prefix for command line customization."
);
36
prm.
add_parameter
(
"solver type"
,
37
snes_type
,
38
"The string indicating the PETSc SNES type."
);
39
prm.
add_parameter
(
"linesearch type"
,
40
snes_linesearch_type
,
41
"The string indicating the PETSc linesearch type."
);
42
prm.
add_parameter
(
"absolute error tolerance"
,
43
absolute_tolerance
,
44
"Absolute error tolerance."
);
45
prm.
add_parameter
(
"relative error tolerance"
,
46
relative_tolerance
,
47
"Relative error tolerance."
);
48
prm.
add_parameter
(
"step tolerance"
,
step_tolerance
,
"Step tolerance."
);
49
prm.
add_parameter
(
"maximum iterations"
,
50
maximum_non_linear_iterations
,
51
"Maximum number of iterations allowed."
);
52
prm.
add_parameter
(
"maximum function evaluations"
,
53
max_n_function_evaluations
,
54
"Maximum number of function evaluations allowed."
);
55
prm.
leave_subsection
();
56
}
57
58
}
// namespace PETScWrappers
59
60
template
class
PETScWrappers::NonlinearSolver<>
;
61
template
class
PETScWrappers::NonlinearSolver<PETScWrappers::MPI::Vector>
;
62
template
class
PETScWrappers::NonlinearSolver<PETScWrappers::MPI::BlockVector>
;
63
template
class
PETScWrappers::NonlinearSolver
<
PETScWrappers::MPI::Vector
,
64
PETScWrappers::MPI::SparseMatrix
>;
65
template
class
PETScWrappers::NonlinearSolver
<
66
PETScWrappers::MPI::BlockVector
,
67
PETScWrappers::MPI::BlockSparseMatrix
>;
68
69
70
DEAL_II_NAMESPACE_CLOSE
71
72
# endif
// DEAL_II_WITH_PETSC
73
#endif
PETScWrappers::MPI::BlockSparseMatrix
Definition
petsc_block_sparse_matrix.h:67
PETScWrappers::MPI::BlockVector
Definition
petsc_block_vector.h:61
PETScWrappers::MPI::SparseMatrix
Definition
petsc_sparse_matrix.h:367
PETScWrappers::MPI::Vector
Definition
petsc_vector.h:158
PETScWrappers::NonlinearSolverData::options_prefix
std::string options_prefix
Definition
petsc_snes.h:103
PETScWrappers::NonlinearSolverData::max_n_function_evaluations
int max_n_function_evaluations
Definition
petsc_snes.h:155
PETScWrappers::NonlinearSolverData::step_tolerance
real_type step_tolerance
Definition
petsc_snes.h:141
PETScWrappers::NonlinearSolverData::add_parameters
void add_parameters(ParameterHandler &prm)
PETScWrappers::NonlinearSolverData::maximum_non_linear_iterations
int maximum_non_linear_iterations
Definition
petsc_snes.h:148
PETScWrappers::NonlinearSolverData::absolute_tolerance
real_type absolute_tolerance
Definition
petsc_snes.h:127
PETScWrappers::NonlinearSolverData::snes_linesearch_type
std::string snes_linesearch_type
Definition
petsc_snes.h:120
PETScWrappers::NonlinearSolverData::relative_tolerance
real_type relative_tolerance
Definition
petsc_snes.h:134
PETScWrappers::NonlinearSolverData::snes_type
std::string snes_type
Definition
petsc_snes.h:112
PETScWrappers::NonlinearSolver
Definition
petsc_snes.h:270
ParameterHandler
Definition
parameter_handler.h:855
ParameterHandler::add_parameter
void add_parameter(const std::string &entry, ParameterType ¶meter, const std::string &documentation="", const Patterns::PatternBase &pattern= *Patterns::Tools::Convert< ParameterType >::to_pattern(), const bool has_to_be_set=false)
Definition
parameter_handler.h:2368
ParameterHandler::enter_subsection
void enter_subsection(const std::string &subsection, const bool create_path_if_needed=true)
Definition
parameter_handler.cc:1068
ParameterHandler::leave_subsection
void leave_subsection()
Definition
parameter_handler.cc:1092
config.h
DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_OPEN
Definition
config.h:498
DEAL_II_NAMESPACE_CLOSE
#define DEAL_II_NAMESPACE_CLOSE
Definition
config.h:499
PETScWrappers
Definition
template_constraints.h:635
petsc_block_sparse_matrix.h
Generated by
1.9.8