gemseo.mda.base_mda_root_settings module#

Base settings class for MDAs based on root finding algorithms.

Settings BaseMDARootSettings(*, coupling_structure=None, linear_solver=LinearSolver.DEFAULT, linear_solver_settings=None, linear_solver_tolerance=1e-12, log_convergence=False, max_mda_iter=20, name='', tolerance=1e-06, use_lu_fact=False, warm_start=False, acceleration_method=AccelerationMethod.NONE, over_relaxation_factor=1.0, n_processes=2, use_threading=True, execute_before_linearizing=True)[source]#

Bases: BaseParallelMDASettings

The settings for MDAs based on root finding algorithms.

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.

  • 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.

  • n_processes (Annotated[int, Gt(gt=0)]) --

    By default it is set to 2.

  • use_threading (bool) --

    By default it is set to True.

  • execute_before_linearizing (bool) --

    By default it is set to True.

Return type:

None

execute_before_linearizing: bool = True#

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.