Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Data Structures | Namespaces | Variables
MathUtils_Config.hxx File Reference
#include <limits>

Data Structures

struct  MathUtils::Config
 Configuration for iterative solvers. Provides common settings for convergence criteria and iteration limits. More...
 
struct  MathUtils::BoundedConfig
 Configuration for bounded 1D optimization and root finding. Extends Config with interval bounds. More...
 
struct  MathUtils::NDimConfig
 Configuration for N-dimensional optimization with optional bounds. Bounds are passed separately as math_Vector for flexibility. More...
 
struct  MathUtils::IntegConfig
 Configuration for numerical integration. Provides settings for quadrature order and adaptive refinement. More...
 
struct  MathUtils::LinConfig
 Configuration for linear algebra solvers. Provides settings for singularity detection and pivoting. More...
 

Namespaces

namespace  MathUtils
 Modern math solver types and result structures.
 

Variables

constexpr double MathUtils::THE_NEWTON_FTOL_SQ = 1.0e-32
 Squared function tolerance for Newton iterations (matching math_FunctionSetRoot Eps).
 
constexpr double MathUtils::THE_NEWTON_STEP_TOL_FACTOR = 1.0e-16
 Relative parametric step tolerance factor for Newton iterations.
 
constexpr size_t MathUtils::THE_NEWTON_MAX_ITER = 100
 Default maximum iterations for Newton solvers.
 
Newton 2D Solver Constants

Constants for 2D Newton-Raphson solver (MathSys_Newton2D).

constexpr double MathUtils::THE_NEWTON2D_SINGULAR_DET = 1.0e-25
 Determinant threshold below which 2x2 Jacobian matrix is considered singular. When |det(J)| < threshold, falls back to SVD or gradient descent.
 
constexpr double MathUtils::THE_NEWTON2D_CRITICAL_GRAD_SQ = 1.0e-60
 Squared gradient threshold below which point is considered a critical point. When |grad|^2 < threshold, Newton iteration is at a stationary point.
 
constexpr double MathUtils::THE_NEWTON2D_MAX_STEP_RATIO = 0.5
 Maximum step size as fraction of domain size for bounded Newton iterations.
 
constexpr double MathUtils::THE_NEWTON2D_DOMAIN_EXT = 1.0e-4
 Domain extension factor for soft boundary handling. Solutions slightly outside domain (by this fraction) are allowed if converged. Reduced to 1e-4 to closely match old algorithm behavior.
 
constexpr double MathUtils::THE_NEWTON2D_STAGNATION_RATIO = 0.999
 Stagnation progress ratio - improvement required each iteration to avoid stagnation. Value of 0.999 means at least 0.1% improvement required.
 
constexpr int MathUtils::THE_NEWTON2D_STAGNATION_COUNT = 3
 Number of iterations without progress before declaring stagnation.
 
constexpr int MathUtils::THE_NEWTON2D_LINE_SEARCH_MAX = 8
 Maximum line search backtracking iterations.
 
constexpr double MathUtils::THE_NEWTON2D_SKIP_LINESEARCH_SQ = 0.01
 Relative step threshold below which line search is skipped. If step^2 / domain^2 < threshold, Newton is converging well.
 
constexpr double MathUtils::THE_NEWTON2D_STAGNATION_RELAX = 10.0
 Tolerance relaxation factor for accepting stagnated solutions. Stagnated solution accepted if |F| < tolerance * factor.
 
constexpr double MathUtils::THE_NEWTON2D_BACKTRACK_TRIGGER = 1.5
 Function increase threshold triggering line search backtracking. If f(new) > f(old) * threshold, backtracking is triggered.
 
constexpr double MathUtils::THE_NEWTON2D_BACKTRACK_ACCEPT = 1.2
 Backtracking acceptance ratio for line search. Step accepted if f(new) < f(old) * ratio.
 
constexpr double MathUtils::THE_NEWTON2D_MAXITER_RELAX = 10.0
 Maximum relaxation factor for solutions at max iterations.
 
Hessian Classification Constants

Constants for extremum classification using second derivatives.

constexpr double MathUtils::THE_HESSIAN_DEGENERACY_REL = 1.0e-8
 Relative tolerance for Hessian degeneracy detection. If |det(H)| < threshold * |H_ii| * |H_jj|, Hessian is considered degenerate.
 
constexpr double MathUtils::THE_HESSIAN_DEGENERACY_ABS = 1.0e-20
 Absolute tolerance for Hessian degeneracy detection. Minimum threshold for determinant comparison.
 
Line Search Constants

Constants for line search acceptance conditions.

constexpr double MathUtils::THE_ARMIJO_C1 = 1.0e-4
 Armijo condition constant (sufficient decrease). Step accepted if: f(x + alpha*d) <= f(x) + c1 * alpha * grad_f . d.