Reference documentation for deal.II version 9.1.1
\(\newcommand{\dealcoloneq}{\mathrel{\vcenter{:}}=}\)
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/algorithms/any_data.h>
21 #include <deal.II/algorithms/operator.h>
22 
23 #include <deal.II/base/smartpointer.h>
24 
25 #include <deal.II/lac/solver_control.h>
26 
27 DEAL_II_NAMESPACE_OPEN
28 
29 class ParameterHandler;
30 
31 namespace Algorithms
32 {
68  template <typename VectorType>
69  class Newton : public OperatorBase
70  {
71  public:
77 
81  static void
83 
87  void
89 
93  void
95 
102  virtual void
103  operator()(AnyData &out, const AnyData &in) override;
104 
105  virtual void
106  notify(const Event &) override;
107 
112  double
113  threshold(double new_value);
114 
119 
120  private:
125 
130 
136 
142 
151  unsigned int n_stepsize_iterations;
152 
166 
167  public:
177  unsigned int debug;
178  };
179 } // namespace Algorithms
180 
181 DEAL_II_NAMESPACE_CLOSE
182 
183 #endif
AnyData
Definition: any_data.h:37
Algorithms::Newton::assemble_now
bool assemble_now
Definition: newton.h:141
Algorithms::Newton::assemble_threshold
double assemble_threshold
Definition: newton.h:165
Algorithms::OperatorBase
Definition: operator.h:72
Algorithms::Event
Definition: event.h:49
Algorithms::Newton::declare_parameters
static void declare_parameters(ParameterHandler &param)
Algorithms::Newton::threshold
double threshold(double new_value)
ReductionControl
Definition: solver_control.h:425
Algorithms::Newton::control
ReductionControl control
Definition: newton.h:118
Algorithms::Newton::residual
SmartPointer< OperatorBase, Newton< VectorType > > residual
Definition: newton.h:124
Algorithms::Newton::initialize
void initialize(OutputOperator< VectorType > &output)
Algorithms::Newton::n_stepsize_iterations
unsigned int n_stepsize_iterations
Definition: newton.h:151
Algorithms
Definition: newton.h:31
Algorithms::Newton::debug
unsigned int debug
Definition: newton.h:177
Algorithms::Newton::debug_vectors
bool debug_vectors
Definition: newton.h:172
Algorithms::Newton
Definition: newton.h:69
Algorithms::Newton::inverse_derivative
SmartPointer< OperatorBase, Newton< VectorType > > inverse_derivative
Definition: newton.h:129
SmartPointer
Definition: smartpointer.h:68
Algorithms::Newton::operator()
virtual void operator()(AnyData &out, const AnyData &in) override
ParameterHandler
Definition: parameter_handler.h:844
Algorithms::Newton::notify
virtual void notify(const Event &) override
Algorithms::Newton::Newton
Newton(OperatorBase &residual, OperatorBase &inverse_derivative)
Algorithms::OutputOperator
Definition: operator.h:112
Algorithms::Newton::parse_parameters
void parse_parameters(ParameterHandler &param)
Algorithms::Newton::data_out
SmartPointer< OutputOperator< VectorType >, Newton< VectorType > > data_out
Definition: newton.h:135