17 #ifndef __deal2__appframe__newton_w_3pp_h
18 #define __deal2__appframe__newton_w_3pp_h
24 namespace ApplicationCore
189 const double* ref =
get_data()->scalar(
"Refinement");
213 double three_point_step (
int line_search_iterations,
double lambda_current,
double lambda_previous,
double mf_original,
double mf_current,
double mf_previous);
218 bool armijo(
double step_length,
double residual_norm,
double new_residual_norm);
double alpha
This parameter is used in order to assess when the line search should be stopped. ...
Definition: newton_w_3pp.h:256
bool armijo(double step_length, double residual_norm, double new_residual_norm)
Determines step size by three point parabolic function.
double sum_of_squares(double residual_norm)
Sum of squares.
double min_reduction_factor
min_reduction_factor corresponds to
Definition: newton_w_3pp.h:243
void initialize(ParameterHandler ¶m)
Initialize NewtonBase and any additional parameters.
bool use_predefined
Flag so that predefined parameters are used.
Definition: newton_w_3pp.h:267
bool with_prediction
Boolean variable that specifies if the three-point method is used with (true) or without (false) pred...
Definition: newton_w_3pp.h:262
void set_predefined_parameters()
Define default parameters for convergence.
Definition: newton_w_3pp.h:186
double max_reduction_factor
Convergance criterion.
Definition: newton_w_3pp.h:239
static const FuelCell::ApplicationCore::Event bad_derivative
Definition: newton_w_3pp.h:149
boost::shared_ptr< ApplicationData > get_data()
Get access to the protected variable data.
void declare_parameters(ParameterHandler ¶m)
Declare any additional parameters necessary for the solver.
SmartPointer< ApplicationBase > app
Pointer to the application this one depends upon.
Definition: application_wrapper.h:107
Application class performing Newton's iteration.
Definition: newton_w_3pp.h:145
Base class for applications.
Definition: application_base.h:114
Base class for all classes performing Newton's iteration.
Definition: newton_base.h:161
virtual void solve(FuelCell::ApplicationCore::FEVector &u, const FuelCell::ApplicationCore::FEVectors &in_vectors)
The actual Newton solver.
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
double three_point_step(int line_search_iterations, double lambda_current, double lambda_previous, double mf_original, double mf_current, double mf_previous)
Merit Function.
Newton3pp(ApplicationBase &app)
Constructor.