approximation_scheme.py#
Base class used to define the interface for derivative approximation schemes.
- class openmdao.approximation_schemes.approximation_scheme.ApproximationScheme[source]
Bases:
object
Base class used to define the interface for derivative approximation schemes.
- Attributes:
- _approx_groupslist
A list of approximation tuples ordered into groups of ‘of’s matching the same ‘wrt’.
- _colored_approx_groups: list
A list containing info for all colored approximation groups.
- _approx_groups_cached_under_csbool
Flag indicates whether approx_groups was generated under complex step from higher in the model hieararchy.
- _wrt_metadict
A dict that maps wrt name to its fd/cs metadata.
- _progress_outNone or file-like object
Attribute to output the progress of check_totals
- _jac_scattertuple
Data needed to scatter values from results array to a total jacobian column.
- _totals_directionsdict
If directional total derivatives are being computed, this will contain the direction keyed by mode (‘fwd’ or ‘rev’).
- _totals_directional_modestr or None
If directional total derivatives are being computed, this will contain the top level mode (‘fwd’ or ‘rev’), else None.
- __init__()[source]
Initialize the ApproximationScheme.
- add_approximation(abs_key, system, kwargs)[source]
Use this approximation scheme to approximate the derivative d(of)/d(wrt).
- Parameters:
- abs_keytuple(str,str)
Absolute name pairing of (of, wrt) for the derivative.
- systemSystem
Containing System.
- kwargsdict
Additional keyword arguments, to be interpreted by sub-classes.
- compute_approximations(system, jac=None)[source]
Execute the system to compute the approximate sub-Jacobians.
- Parameters:
- systemSystem
System on which the execution is run.
- jacNone or dict-like
If None, update system with the approximated sub-Jacobians. Otherwise, store the approximations in the given dict-like object.