gemseo.mda.quasi_newton_settings module#
Settings for quasi-Newton MDA.
- Settings MDAQuasiNewton_Settings(*, coupling_structure=None, linear_solver=LinearSolver.DEFAULT, linear_solver_settings=None, linear_solver_tolerance=1e-12, log_convergence=False, max_mda_iter=20, max_consecutive_unsuccessful_iterations=8, name='', tolerance=1e-06, use_lu_fact=False, warm_start=False, acceleration_method=AccelerationMethod.NONE, over_relaxation_factor=1.0, execute_before_linearizing=True, n_processes=2, use_threading=True, method=QuasiNewtonMethod.HYBRID, use_gradient=False)[source]#
Bases:
BaseParallelMDASettings
The settings for
MDAQuasiNewton
.Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
self is explicitly positional-only to allow self as a field name.
- Parameters:
coupling_structure (CouplingStructure | None)
linear_solver (LinearSolver) --
By default it is set to "DEFAULT".
linear_solver_settings (Mapping[str, Any] | BaseLinearSolverSettings)
linear_solver_tolerance (Annotated[float, Ge(ge=0)]) --
By default it is set to 1e-12.
log_convergence (bool) --
By default it is set to False.
max_mda_iter (Annotated[int, Ge(ge=0)]) --
By default it is set to 20.
max_consecutive_unsuccessful_iterations (Annotated[int, Ge(ge=0)]) --
By default it is set to 8.
name (str) --
By default it is set to "".
tolerance (Annotated[float, Ge(ge=0)]) --
By default it is set to 1e-06.
use_lu_fact (bool) --
By default it is set to False.
warm_start (bool) --
By default it is set to False.
acceleration_method (AccelerationMethod) --
By default it is set to "NoTransformation".
over_relaxation_factor (Annotated[float, Le(le=2.0), Ge(ge=0)]) --
By default it is set to 1.0.
execute_before_linearizing (bool) --
By default it is set to True.
n_processes (Annotated[int, Gt(gt=0)]) --
By default it is set to 2.
use_threading (bool) --
By default it is set to True.
method (QuasiNewtonMethod) --
By default it is set to "hybr".
use_gradient (bool) --
By default it is set to False.
- Return type:
None
- method: QuasiNewtonMethod = QuasiNewtonMethod.HYBRID#
The name of the quasi-Newton method.
- class QuasiNewtonMethod(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]#
Bases:
StrEnum
A quasi-Newton method.
- ANDERSON = 'anderson'#
- BROYDEN1 = 'broyden1'#
- BROYDEN2 = 'broyden2'#
- DF_SANE = 'df-sane'#
- DIAG_BROYDEN = 'diagbroyden'#
- EXCITING_MIXING = 'excitingmixing'#
- HYBRID = 'hybr'#
- KRYLOV = 'krylov'#
- LEVENBERG_MARQUARDT = 'lm'#
- LINEAR_MIXING = 'linearmixing'#