gemseo.mda.newton_raphson_settings module#
Settings for NewtonRaphson MDA.
- class LinearSolver(*values)#
Bases:
StrEnum
- BICG = 'BICG'#
- BICGSTAB = 'BICGSTAB'#
- CG = 'CG'#
- CGS = 'CGS'#
- DEFAULT = 'DEFAULT'#
- GCROT = 'GCROT'#
- GMRES = 'GMRES'#
- LGMRES = 'LGMRES'#
- PETSC_BCGS = 'PETSC_BCGS'#
- PETSC_BCGSL = 'PETSC_BCGSL'#
- PETSC_BICG = 'PETSC_BICG'#
- PETSC_CG = 'PETSC_CG'#
- PETSC_CGLS = 'PETSC_CGLS'#
- PETSC_CGNE = 'PETSC_CGNE'#
- PETSC_CGS = 'PETSC_CGS'#
- PETSC_CHEBYSHEV = 'PETSC_CHEBYSHEV'#
- PETSC_CR = 'PETSC_CR'#
- PETSC_DGMRES = 'PETSC_DGMRES'#
- PETSC_FBCGS = 'PETSC_FBCGS'#
- PETSC_FBCGSR = 'PETSC_FBCGSR'#
- PETSC_FCG = 'PETSC_FCG'#
- PETSC_FETIDP = 'PETSC_FETIDP'#
- PETSC_FGMRES = 'PETSC_FGMRES'#
- PETSC_GCR = 'PETSC_GCR'#
- PETSC_GLTR = 'PETSC_GLTR'#
- PETSC_GMRES = 'PETSC_GMRES'#
- PETSC_GROPPCG = 'PETSC_GROPPCG'#
- PETSC_HPDDM = 'PETSC_HPDDM'#
- PETSC_IBCGS = 'PETSC_IBCGS'#
- PETSC_LCD = 'PETSC_LCD'#
- PETSC_LGMRES = 'PETSC_LGMRES'#
- PETSC_LSQR = 'PETSC_LSQR'#
- PETSC_MINRES = 'PETSC_MINRES'#
- PETSC_NASH = 'PETSC_NASH'#
- PETSC_PGMRES = 'PETSC_PGMRES'#
- PETSC_PIPEBCGS = 'PETSC_PIPEBCGS'#
- PETSC_PIPECG = 'PETSC_PIPECG'#
- PETSC_PIPECG2 = 'PETSC_PIPECG2'#
- PETSC_PIPECGRR = 'PETSC_PIPECGRR'#
- PETSC_PIPECR = 'PETSC_PIPECR'#
- PETSC_PIPEFCG = 'PETSC_PIPEFCG'#
- PETSC_PIPEFGMRES = 'PETSC_PIPEFGMRES'#
- PETSC_PIPEGCR = 'PETSC_PIPEGCR'#
- PETSC_PIPELCG = 'PETSC_PIPELCG'#
- PETSC_PIPEPRCG = 'PETSC_PIPEPRCG'#
- PETSC_PREONLY = 'PETSC_PREONLY'#
- PETSC_QCG = 'PETSC_QCG'#
- PETSC_RICHARDSON = 'PETSC_RICHARDSON'#
- PETSC_STCG = 'PETSC_STCG'#
- PETSC_SYMMLQ = 'PETSC_SYMMLQ'#
- PETSC_TCQMR = 'PETSC_TCQMR'#
- PETSC_TFQMR = 'PETSC_TFQMR'#
- PETSC_TSIRM = 'PETSC_TSIRM'#
- TFQMR = 'TFQMR'#
- Settings MDANewtonRaphson_Settings(*, coupling_structure=None, linear_solver=LinearSolver.DEFAULT, linear_solver_settings=<factory>, 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=False, n_processes=2, use_threading=True, newton_linear_solver_name=LinearSolver.DEFAULT, newton_linear_solver_settings=<factory>)[source]#
Bases:
BaseParallelMDASettings
The settings for
MDANewtonRaphson
.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) --
By default it is set to <factory>.
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 False.
n_processes (Annotated[int, Ge(ge=0)]) --
By default it is set to 2.
use_threading (bool) --
By default it is set to True.
newton_linear_solver_name (LinearSolver) --
By default it is set to "DEFAULT".
newton_linear_solver_settings (Mapping[str, Any] | BaseLinearSolverSettings) --
By default it is set to <factory>.
- Return type:
None
- execute_before_linearizing: bool = False#
Whether to start by executing the disciplines before linearizing. This ensures that the discipline are executed and linearized with the same input data. It can be almost free if the corresponding output data have been stored in the
BaseMDA.cache
.
- newton_linear_solver_name: LinearSolver = LinearSolver.DEFAULT#
The name of the linear solver for the Newton method.
This field is ignored when
newton_linear_solver_settings
is a Pydantic model.
- newton_linear_solver_settings: StrKeyMapping | BaseLinearSolverSettings [Optional]#
The settings for the Newton linear solver.
- model_post_init(context, /)#
This function is meant to behave like a BaseModel method to initialise private attributes.
It takes context as an argument since that's what pydantic-core passes when calling it.
- Parameters:
self (BaseModel) -- The BaseModel instance.
context (Any) -- The context.
- Return type:
None