default_vector.py

default_vector.py

Define the default Vector class.

class openmdao.vectors.default_vector.DefaultVector(name, kind, system, root_vector=None, alloc_complex=False)[source]

Bases: openmdao.vectors.vector.Vector

Default NumPy vector.

Parameters
namestr

The name of the vector: ‘nonlinear’ or ‘linear’.

kindstr

The kind of vector, ‘input’, ‘output’, or ‘residual’.

system<System>

Pointer to the owning system.

root_vector<Vector>

Pointer to the vector owned by the root system.

alloc_complexbool

Whether to allocate any imaginary storage to perform complex step. Default is False.

TRANSFER

alias of openmdao.vectors.default_transfer.DefaultTransfer

__contains__(name)

Check if the variable is found in this vector.

Parameters
namestr

Promoted or relative variable name in the owning system’s namespace.

Returns
bool

True or False.

__getitem__(name)

Get the variable value.

Parameters
namestr

Promoted or relative variable name in the owning system’s namespace.

Returns
float or ndarray

variable value.

__init__(name, kind, system, root_vector=None, alloc_complex=False)

Initialize all attributes.

__iter__()

Return an iterator over variables involved in the current mat-vec product (relative names).

Returns
listiterator

iterator over the variable names.

__setitem__(name, value)

Set the variable value.

Parameters
namestr

Promoted or relative variable name in the owning system’s namespace.

valuefloat or list or tuple or ndarray

variable value to set

add_scal_vec(val, vec)[source]

Perform in-place addition of a vector times a scalar.

Parameters
valint or float

Scalar.

vec<Vector>

This vector times val is added to self.

asarray(copy=False)[source]

Return an array representation of this vector.

If copy is True, return a copy. Otherwise, try to avoid it.

Parameters
copybool

If True, return a copy of the array.

Returns
ndarray

Array representation of this vector.

cite = ''
distributed = False
dot(vec)[source]

Compute the dot product of the real parts of the current vec and the incoming vec.

Parameters
vec<Vector>

The incoming vector being dotted with self.

Returns
float

The computed dot product value.

get_hash(alg=<built-in function openssl_sha1>)[source]

Return a hash string for the array contained in this Vector.

Parameters
algfunction

Algorithm used to generate the hash. Default is hashlib.sha1.

Returns
str

The hash string.

get_norm()[source]

Return the norm of this vector.

Returns
float

Norm of this vector.

get_slice_dict()[source]

Return a dict of var names mapped to their slice in the local data array.

Returns
dict

Mapping of var name to slice.

iadd(val, idxs=slice(None, None, None))[source]

Add the value to the data array at the specified indices or slice(s).

Parameters
valndarray

Value to set into the data array.

idxsint or slice or tuple of ints and/or slices

The locations where the data array should be updated.

idxs2nameloc(idxs)[source]

Given some indices, return a dict mapping variable name to corresponding local indices.

This is slow and is meant to be used only for debugging or maybe error messages.

Parameters
idxslist of int

Vector indices to be converted to local indices for each corresponding variable.

Returns
dict

Mapping of variable name to a list of local indices into that variable.

imul(val, idxs=slice(None, None, None))[source]

Multiply the value to the data array at the specified indices or slice(s).

Parameters
valndarray

Value to set into the data array.

idxsint or slice or tuple of ints and/or slices

The locations where the data array should be updated.

iscomplex()[source]

Return True if this vector contains complex values.

This checks the type of the values, not whether they have a nonzero imaginary part.

Returns
bool

True if this vector contains complex values.

isub(val, idxs=slice(None, None, None))[source]

Subtract the value from the data array at the specified indices or slice(s).

Parameters
valndarray

Value to set into the data array.

idxsint or slice or tuple of ints and/or slices

The locations where the data array should be updated.

items()

Return (name, value) for variables contained in this vector.

Yields
str

Name of each variable.

ndarray or float

Value of each variable.

keys()

Return variable names of variables contained in this vector (relative names).

Returns
listiterator (Python 3.x) or list (Python 2.x)

The variable names.

nvars()

Return the number of variables in this Vector.

Returns
int

Number of variables in this Vector.

scale_to_norm(mode='fwd')[source]

Scale this vector to normalized form.

Parameters
modestr

Derivative direction.

scale_to_phys(mode='fwd')[source]

Scale this vector to physical form.

Parameters
modestr

Derivative direction.

set_complex_step_mode(active)

Turn on or off complex stepping mode.

Parameters
activebool

Complex mode flag; set to True prior to commencing complex step.

set_val(val, idxs=slice(None, None, None))[source]

Set the data array of this vector to a value, with optional indexing.

Parameters
valfloat or ndarray

Scalar or array to set data array to.

idxsint or slice or tuple of ints and/or slices

The locations where the data array should be updated.

set_vals(vals)

Set the data array of this vector using a value or iter of values, one for each variable.

The values must be in the same order as the variables appear in this Vector.

Parameters
valsndarray, float, or iter of ndarrays and/or floats

Values for each variable contained in this vector, in the proper order.

set_var(name, val, idxs=slice(None, None, None), flat=False, var_name=None)

Set the array view corresponding to the named variable, with optional indexing.

Parameters
namestr

The name of the variable.

valfloat or ndarray

Scalar or array to set data array to.

idxsint or slice or tuple of ints and/or slices

The locations where the data array should be updated.

flatbool

If True, set into flattened variable.

var_namestr or None

If specified, the variable name to use when reporting errors. This is useful when setting an AutoIVC value that the user only knows by a connected input name.

set_vec(vec)[source]

Set the value of this vector to that of the incoming vector.

Parameters
vec<Vector>

The vector whose values self is set to.

values()

Return values of variables contained in this vector.

Yields
ndarray or float

Value of each variable.