Namespace for black-box FD Newton solver. More...
Typedefs | |
typedef void(* | ResidualFctPt) (const Vector< double > ¶meters, const Vector< double > &unknowns, Vector< double > &residuals) |
typedef void(* | JacobianFctPt) (const Vector< double > &, const Vector< double > &, DenseDoubleMatrix &jacobian) |
Functions | |
void | black_box_fd_newton_solve (ResidualFctPt residual_fct, const Vector< double > ¶ms, Vector< double > &unknowns, JacobianFctPt jacobian_fct) |
Black-box FD Newton solver: Calling sequence for residual function is. | |
void | line_search (const Vector< double > &x_old, const double half_residual_squared_old, const Vector< double > &gradient, ResidualFctPt residual_fct, const Vector< double > ¶ms, Vector< double > &newton_dir, Vector< double > &x, double &half_residual_squared, const double &stpmax) |
Line search helper for globally convergent Newton method. | |
Variables | |
unsigned | Max_iter = 20 |
Max. # of Newton iterations. | |
unsigned | N_iter_taken = 0 |
Number of Newton iterations taken in most recent invocation. | |
bool | Doc_Progress = false |
Flag to indicate if progress of Newton iteration is to be documented (defaults to false) | |
double | FD_step = 1.0e-8 |
FD step. | |
double | Tol = 1.0e-8 |
Tolerance. | |
bool | Use_step_length_control = false |
Use steplength control do make globally convergent (default false) | |
Namespace for black-box FD Newton solver.
typedef void(* oomph::BlackBoxFDNewtonSolver::JacobianFctPt) (const Vector< double > &, const Vector< double > &, DenseDoubleMatrix &jacobian) |
Definition at line 60 of file black_box_newton_solver.h.
typedef void(* oomph::BlackBoxFDNewtonSolver::ResidualFctPt) (const Vector< double > ¶meters, const Vector< double > &unknowns, Vector< double > &residuals) |
Definition at line 55 of file black_box_newton_solver.h.
void oomph::BlackBoxFDNewtonSolver::black_box_fd_newton_solve | ( | ResidualFctPt | residual_fct, |
const Vector< double > & | params, | ||
Vector< double > & | unknowns, | ||
JacobianFctPt | jacobian_fct | ||
) |
Black-box FD Newton solver: Calling sequence for residual function is.
where all arguments are double Vectors. unknowns.size() = residuals.size()
Reset number of Newton iterations taken in most recent invocation
Definition at line 67 of file black_box_newton_solver.cc.
References Doc_Progress, FD_step, i, line_search(), Max_iter, N_iter_taken, oomph::oomph_info, oomph::FiniteElement::size(), oomph::DoubleMatrixBase::solve(), oomph::Matrix< T, MATRIX_TYPE >::sparse_indexed_output(), oomph::OomphInfo::stream_pt(), Tol, and Use_step_length_control.
void oomph::BlackBoxFDNewtonSolver::line_search | ( | const Vector< double > & | x_old, |
const double | half_residual_squared_old, | ||
const Vector< double > & | gradient, | ||
ResidualFctPt | residual_fct, | ||
const Vector< double > & | params, | ||
Vector< double > & | newton_dir, | ||
Vector< double > & | x, | ||
double & | half_residual_squared, | ||
const double & | stpmax | ||
) |
Line search helper for globally convergent Newton method.
Definition at line 233 of file black_box_newton_solver.cc.
References i, and oomph::FiniteElement::size().
Referenced by black_box_fd_newton_solve().
Flag to indicate if progress of Newton iteration is to be documented (defaults to false)
Definition at line 51 of file black_box_newton_solver.cc.
Referenced by black_box_fd_newton_solve().
double oomph::BlackBoxFDNewtonSolver::FD_step = 1.0e-8 |
FD step.
Definition at line 54 of file black_box_newton_solver.cc.
Referenced by black_box_fd_newton_solve().
unsigned oomph::BlackBoxFDNewtonSolver::Max_iter = 20 |
Max. # of Newton iterations.
Definition at line 44 of file black_box_newton_solver.cc.
Referenced by black_box_fd_newton_solve().
unsigned oomph::BlackBoxFDNewtonSolver::N_iter_taken = 0 |
Number of Newton iterations taken in most recent invocation.
Definition at line 47 of file black_box_newton_solver.cc.
Referenced by black_box_fd_newton_solve().
double oomph::BlackBoxFDNewtonSolver::Tol = 1.0e-8 |
Tolerance.
Definition at line 57 of file black_box_newton_solver.cc.
Referenced by black_box_fd_newton_solve().
Use steplength control do make globally convergent (default false)
Definition at line 60 of file black_box_newton_solver.cc.
Referenced by black_box_fd_newton_solve().