nl_gauss_seidel.py

Gauss Seidel non-linear solver.

class openmdao.solvers.nl_gauss_seidel.NLGaussSeidel[source]

Bases: openmdao.solvers.solver_base.NonLinearSolver

Nonlinear Gauss Seidel solver. This is the default solver for a Group. If there are no cycles, then the system will solve its subsystems once and terminate. Equivalent to fixed point iteration in cases with cycles.

Options:

options[‘atol’] : float(1e-06)

Absolute convergence tolerance.

options[‘iprint’] : int(0)

Set to 0 to disable printing, set to 1 to print the residual to stdout each iteration, set to 2 to print subiteration residuals as well.

options[‘maxiter’] : int(100)

Maximum number of iterations.

options[‘rtol’] : float(1e-06)

Relative convergence tolerance.

solve(params, unknowns, resids, system, metadata=None)[source]

Solves the system using Gauss Seidel.

Args:

params : VecWrapper

VecWrapper containing parameters. (p)

unknowns : VecWrapper

VecWrapper containing outputs and states. (u)

resids : VecWrapper

VecWrapper containing residuals. (r)

system : System

Parent System object.

metadata : dict, optional

Dictionary containing execution metadata (e.g. iteration coordinate).