Janus 2.0.0
High-performance C++20 dual-mode numerical framework
Loading...
Searching...
No Matches
janus::RootFinderOptions Struct Reference

Options for root finding algorithms. More...

#include <RootFinding.hpp>

Public Attributes

double abstol = 1e-10
double abstolStep = 1e-10
int max_iter = 50
bool line_search = true
bool verbose = false
std::string linear_solver = "qr"
casadi::Dict linear_solver_options
RootSolveStrategy strategy = RootSolveStrategy::Auto
double trust_region_initial_damping = 1e-3
double trust_region_damping_increase = 4.0
double trust_region_damping_decrease = 0.25
double line_search_contraction = 0.5
double line_search_sufficient_decrease = 1e-4
int max_backtracking_steps = 12
int broyden_jacobian_refresh = 8
double pseudo_transient_dt0 = 1e-2
double pseudo_transient_dt_growth = 2.0
double pseudo_transient_dt_max = 1e6

Detailed Description

Options for root finding algorithms.

Numeric rootfinder<double>() uses Janus' own globalization stack. Symbolic rootfinder<SymbolicScalar>() and create_implicit_function() still rely on CasADi's differentiable newton rootfinder, so only the CasADi-compatible subset of options affects those paths.

Member Data Documentation

◆ abstol

double janus::RootFinderOptions::abstol = 1e-10

◆ abstolStep

double janus::RootFinderOptions::abstolStep = 1e-10

◆ broyden_jacobian_refresh

int janus::RootFinderOptions::broyden_jacobian_refresh = 8

◆ line_search

bool janus::RootFinderOptions::line_search = true

◆ line_search_contraction

double janus::RootFinderOptions::line_search_contraction = 0.5

◆ line_search_sufficient_decrease

double janus::RootFinderOptions::line_search_sufficient_decrease = 1e-4

◆ linear_solver

std::string janus::RootFinderOptions::linear_solver = "qr"

◆ linear_solver_options

casadi::Dict janus::RootFinderOptions::linear_solver_options

◆ max_backtracking_steps

int janus::RootFinderOptions::max_backtracking_steps = 12

◆ max_iter

int janus::RootFinderOptions::max_iter = 50

◆ pseudo_transient_dt0

double janus::RootFinderOptions::pseudo_transient_dt0 = 1e-2

◆ pseudo_transient_dt_growth

double janus::RootFinderOptions::pseudo_transient_dt_growth = 2.0

◆ pseudo_transient_dt_max

double janus::RootFinderOptions::pseudo_transient_dt_max = 1e6

◆ strategy

RootSolveStrategy janus::RootFinderOptions::strategy = RootSolveStrategy::Auto

◆ trust_region_damping_decrease

double janus::RootFinderOptions::trust_region_damping_decrease = 0.25

◆ trust_region_damping_increase

double janus::RootFinderOptions::trust_region_damping_increase = 4.0

◆ trust_region_initial_damping

double janus::RootFinderOptions::trust_region_initial_damping = 1e-3

◆ verbose

bool janus::RootFinderOptions::verbose = false

The documentation for this struct was generated from the following file: