OpenFCST: The open-source Fuel Cell Simulation Toolbox
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
newton_w_line_search.h
Go to the documentation of this file.
1 //---------------------------------------------------------------------------
2 //
3 // FCST: Fuel Cell Simulation Toolbox
4 //
5 // Copyright (C) 2009-13 by Energy Systems Design Laboratory, University of Alberta
6 //
7 // This software is distributed under the MIT License.
8 // For more information, see the README file in /doc/LICENSE
9 //
10 // - Class: newton_w_line_search.h
11 // - Description: Variant of the Newton-Raphson solver
12 // - Developers: Marc Secanell
13 // - $Id: newton_w_line_search.h 2605 2014-08-15 03:36:44Z secanell $
14 //
15 //---------------------------------------------------------------------------
16 
17 #ifndef __deal2__appframe__newton_w_lines_search_h
18 #define __deal2__appframe__newton_w_lines_search_h
19 
20 #include <newton_base.h>
21 
22 namespace FuelCell
23 {
24 namespace ApplicationCore
25 {
101  {
102  public:
115 
117  virtual void declare_parameters (ParameterHandler& param);
118 
120  void _initialize (ParameterHandler& param);
121 
123  virtual void initialize (ParameterHandler& param);
124 
129  const FuelCell::ApplicationCore::FEVectors& in_vectors);
130 
131 
132  private:
133 
140  double overrelax;
144  unsigned int overrelax_steps;
149  };
150 }
151 }
152 
153 #endif
virtual void declare_parameters(ParameterHandler &param)
Declare the input parameters.
Application class performing a Newton&#39;s iteration as described in newtonBase.
Definition: newton_w_line_search.h:100
unsigned int overrelax_steps
Number of iterations to which we apply overrelax.
Definition: newton_w_line_search.h:144
static const FuelCell::ApplicationCore::Event bad_derivative
The Event set by NewtonLineSearch if convergence is becoming bad and a new matrix should be assembled...
Definition: newton_w_line_search.h:109
SmartPointer< ApplicationBase > app
Pointer to the application this one depends upon.
Definition: application_wrapper.h:107
void _initialize(ParameterHandler &param)
Read the parameters local to NewtonLineSearch.
NewtonLineSearch(ApplicationBase &app)
Constructor, receiving the application computing the residual and solving the linear problem...
Base class for applications.
Definition: application_base.h:114
Base class for all classes performing Newton&#39;s iteration.
Definition: newton_base.h:161
double overrelax
Value used to multiply , the solution update, from the Newton algorithm during the first overrelax_st...
Definition: newton_w_line_search.h:140
virtual void solve(FuelCell::ApplicationCore::FEVector &u, const FuelCell::ApplicationCore::FEVectors &in_vectors)
The actual Newton solver.
virtual void initialize(ParameterHandler &param)
Read the parameters.
Objects of this kind are used to notify interior applications of changes provoked by an outer loop...
Definition: event.h:57
BlockVector< double > FEVector
The vector class used by applications.
Definition: application_data.h:39
The data type used in function calls of Application.
Definition: fe_vectors.h:59
bool line_search
Do you want to use a line search at each step?
Definition: newton_w_line_search.h:148