Reference documentation for deal.II version Git 32d6d15a92 2020-01-28 17:18:58 -0700
\(\newcommand{\vcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\vcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
newton.h
1 // ---------------------------------------------------------------------
2 //
3 // Copyright (C) 2010 - 2018 by the deal.II authors
4 //
5 // This file is part of the deal.II library.
6 //
7 // The deal.II library is free software; you can use it, redistribute
8 // it, and/or modify it under the terms of the GNU Lesser General
9 // Public License as published by the Free Software Foundation; either
10 // version 2.1 of the License, or (at your option) any later version.
11 // The full text of the license can be found in the file LICENSE.md at
12 // the top level directory of deal.II.
13 //
14 // ---------------------------------------------------------------------
15 
16 
17 #ifndef dealii_newton_h
18 #define dealii_newton_h
19 
20 #include <deal.II/base/config.h>
21 
22 #include <deal.II/algorithms/any_data.h>
23 #include <deal.II/algorithms/operator.h>
24 
25 #include <deal.II/base/smartpointer.h>
26 
27 #include <deal.II/lac/solver_control.h>
28 
29 DEAL_II_NAMESPACE_OPEN
30 
31 // Forward declaration
32 #ifndef DOXYGEN
33 class ParameterHandler;
34 #endif
35 
36 namespace Algorithms
37 {
73  template <typename VectorType>
74  class Newton : public OperatorBase
75  {
76  public:
82 
86  static void
88 
92  void
94 
98  void
100 
107  virtual void
108  operator()(AnyData &out, const AnyData &in) override;
109 
110  virtual void
111  notify(const Event &) override;
112 
117  double
118  threshold(double new_value);
119 
124 
125  private:
130 
135 
141 
147 
156  unsigned int n_stepsize_iterations;
157 
171 
172  public:
182  unsigned int debug;
183  };
184 } // namespace Algorithms
185 
186 DEAL_II_NAMESPACE_CLOSE
187 
188 #endif
bool debug_vectors
Definition: newton.h:177
void initialize(OutputOperator< VectorType > &output)
virtual void operator()(AnyData &out, const AnyData &in) override
Newton(OperatorBase &residual, OperatorBase &inverse_derivative)
unsigned int debug
Definition: newton.h:182
static void declare_parameters(ParameterHandler &param)
SmartPointer< OperatorBase, Newton< VectorType > > residual
Definition: newton.h:129
double threshold(double new_value)
virtual void notify(const Event &) override
void parse_parameters(ParameterHandler &param)
unsigned int n_stepsize_iterations
Definition: newton.h:156
SmartPointer< OutputOperator< VectorType >, Newton< VectorType > > data_out
Definition: newton.h:140
double assemble_threshold
Definition: newton.h:170
SmartPointer< OperatorBase, Newton< VectorType > > inverse_derivative
Definition: newton.h:134
ReductionControl control
Definition: newton.h:123