parallelgroup.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.parallelgroup.ParallelGroup[source]

Bases: openmdao.core.group.Group

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

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.