parallel_group.py

Defines the base class for a ParallelGroup in OpenMDAO. ParallelGroup is used for systems of Components or Groups that can be run in parallel.

class openmdao.core.parallel_group.ParallelGroup[source]

Bases: openmdao.core.group.Group

ParallelGroup is used for systems of Components or Groups that can be run in parallel.

Options:

fd_options[‘force_fd’] : bool(False)

Set to True to finite difference this system.

fd_options[‘form’] : str(‘forward’)

Finite difference mode. (forward, backward, central) You can also set to ‘complex_step’ to peform the complex step method if your components support it.

fd_options[‘step_size’] : float(1e-06)

Default finite difference stepsize

fd_options[‘step_type’] : str(‘absolute’)

Set to absolute, relative

fd_options[‘extra_check_partials_form’] : None or str

Finite difference mode: (“forward”, “backward”, “central”, “complex_step”) During check_partial_derivatives, you can optionally do a second finite difference with a different mode.

fd_options[‘linearize’] : bool(False)

Set to True if you want linearize to be called even though you are using FD.

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

Evaluates the residuals of our children systems.

Args:

params : VecWrapper

VecWrapper containing parameters. (p)

unknowns : VecWrapper

VecWrapper containing outputs and states. (u)

resids : VecWrapper

VecWrapper containing residuals. (r)

metadata : dict, optional

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

children_solve_nonlinear(metadata)[source]

Loops over our children systems and asks them to solve.

get_req_procs()[source]
Returns:

tuple

A tuple of the form (min_procs, max_procs), indicating the min and max processors usable by this ParallelGroup.

list_auto_order()[source]
Returns:

list of str

Names of subsystems listed in their current order, since order is irrelevant in a ParallelGroup.

list of str

This will always be an empty list.