linear_block_gs.py

linear_block_gs.py

Define the LinearBlockGS class.

class openmdao.solvers.linear.linear_block_gs.LinearBlockGS(**kwargs)[source]

Bases: openmdao.solvers.solver.BlockLinearSolver

Linear block Gauss-Seidel solver.

Parameters
**kwargsdict

Options dictionary.

Attributes
_delta_d_n_1ndarray

Cached change in the d_output vectors for the previous iteration. Only used if the aitken acceleration option is turned on.

_theta_n_1float

Cached relaxation factor from previous iteration. Only used if the aitken acceleration option is turned on.

SOLVER = 'LN: LNBGS'
__init__(**kwargs)[source]

Initialize all attributes.

add_recorder(recorder)

Add a recorder to the solver’s RecordingManager.

Parameters
recorder<CaseRecorder>

A recorder instance to be added to RecManager.

cleanup()

Clean up resources prior to exit.

does_recursive_applies()

Return True.

Block linear solvers make recursive apply_linear calls.

Returns
bool

True if solver makes recursive apply_linear calls on its subsystems.

get_reports_dir()

Get the path to the directory where the report files should go.

If it doesn’t exist, it will be created.

Returns
str

The path to the directory where reports should be written.

property msginfo

Return info to prepend to messages.

Returns
str

Info to prepend to messages.

record_iteration(**kwargs)

Record an iteration of the current Solver.

Parameters
**kwargsdict

Keyword arguments (used for abs and rel error).

solve(mode, rel_systems=None)

Run the solver.

Parameters
modestr

‘fwd’ or ‘rev’.

rel_systemsset of str

Set of names of relevant systems based on the current linear solve.