jacobian.py#
Define the base Jacobian class.
- class openmdao.jacobians.jacobian.Jacobian(system)[source]
Bases:
object
Base Jacobian class.
This class provides a dictionary interface for sub-Jacobians and performs matrix-vector products when apply_linear is called.
- Parameters:
- systemSystem
Parent system to this jacobian.
- Attributes:
- _system<System>
Pointer to the system that is currently operating on this Jacobian.
- _subjacs_infodict
Dictionary of the sub-Jacobian metadata keyed by absolute names.
- _under_complex_stepbool
When True, this Jacobian is under complex step, using a complex jacobian.
- _abs_keysdict
A cache dict for key to absolute key.
- _col_var_offsetdict
Maps column name to offset into the result array.
- _col_varnameslist
List of column var names.
- _col2name_indndarray
Array that maps jac col index to index of column name.
- __contains__(key)[source]
Return whether there is a subjac for the given promoted or relative name pair.
- Parameters:
- key(str, str)
Promoted or relative name pair of sub-Jacobian.
- Returns:
- bool
return whether sub-Jacobian has been defined.
- __getitem__(key)[source]
Get sub-Jacobian.
- Parameters:
- key(str, str)
Promoted or relative name pair of sub-Jacobian.
- Returns:
- ndarray or spmatrix or list[3]
sub-Jacobian as an array, sparse mtx, or AIJ/IJ list or tuple.
- __init__(system)[source]
Initialize all attributes.
- __iter__()[source]
Yield next name pair of sub-Jacobian.
- Yields:
- str
- __setitem__(key, subjac)[source]
Set sub-Jacobian.
- Parameters:
- key(str, str)
Promoted or relative name pair of sub-Jacobian.
- subjacint or float or ndarray or sparse matrix
sub-Jacobian as a scalar, vector, array, or AIJ list or tuple.
- get_metadata(key)[source]
Get metadata for the given key.
- Parameters:
- key(str, str)
Promoted or relative name pair of sub-Jacobian.
- Returns:
- dict
Metadata dict for the given key.
- items()[source]
Yield name pair and value of sub-Jacobian.
- Yields:
- str
- keys()[source]
Yield next name pair of sub-Jacobian.
- Yields:
- str
- property msginfo
Return info to prepend to messages.
- Returns:
- str
Info to prepend to messages.
- set_col(system, icol, column)[source]
Set a column of the jacobian.
The column is assumed to be the same size as a column of the jacobian.
This also assumes that the column does not attempt to set any nonzero values that are outside of specified sparsity patterns for any of the subjacs.
- Parameters:
- systemSystem
The system that owns this jacobian.
- icolint
Column index.
- columnndarray
Column value.
- set_complex_step_mode(active)[source]
Turn on or off complex stepping mode.
When turned on, the value in each subjac is cast as complex, and when turned off, they are returned to real values.
- Parameters:
- activebool
Complex mode flag; set to True prior to commencing complex step.
- set_dense_jac(system, jac)[source]
Assign a dense jacobian to this jacobian.
This assumes that any column does not attempt to set any nonzero values that are outside of specified sparsity patterns for any of the subjacs.
- Parameters:
- systemSystem
The system that owns this jacobian.
- jacndarray
Dense jacobian.