gemseo.mda.base_mda_solver_settings module#

Settings for MDA algorithms.

Settings BaseMDASolverSettings(*, 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)[source]#

Bases: BaseMDASettings

The base settings class for MDA 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) --

    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.

Return type:

None

acceleration_method: AccelerationMethod = AccelerationMethod.NONE#

The acceleration method used within the fixed point iterations.

over_relaxation_factor: NonNegativeFloat = 1.0#

The over-relaxation factor.

Constraints:
  • le = 2.0

  • ge = 0

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'#