Field

class simframe.frame.Field(owner, value, updater=None, differentiator=None, jacobinator=None, description='', constant=False, save=True, copy=False)[source]

Bases: numpy.ndarray, simframe.frame.abstractgroup.AbstractGroup

Class for storing simulation quantities.

In addition to Group, Field can have an differentiator for calculating its derivative and/or an jacobinator for calculating its Jacobian. The function that is calculating the derivative needs the parent Frame object as first, the integration variable of type IntVar as second, and the Field itself as third positional argument

Field behaves like numpy.ndarray and can perform the same numerical operations.

Notes

When Field.update() is called Field will be updated according return value of the updater of the Heartbeat object assigned to the Field. The function that is updating Field needs the parent Frame object as first positional argument.

Attributes
T

The transposed array.

base

Base object if memory is from some other object.

buffer

Temporary buffer that stores the new value of Field after successful integration.

constant

If True, Field is immutable.

ctypes

An object to simplify the interaction of the array with the ctypes module.

data

Python buffer object pointing to the start of the array’s data.

description

Description of the instance.

differentiator

Heartbeat object with instructions for calculating the derivative of Field

dtype

Data-type of the array’s elements.

flags

Information about the memory layout of the array.

flat

A 1-D iterator over the array.

imag

The imaginary part of the array.

itemsize

Length of one array element in bytes.

jacobinator

Heartbeat object with instructions for calculating the Jacobian of Field

nbytes

Total bytes consumed by the elements of the array.

ndim

Number of array dimensions.

real

The real part of the array.

save

If False, Field will not be stored in output files.

shape

Tuple of array dimensions.

size

Number of elements in the array.

strides

Tuple of bytes to step in each dimension when traversing an array.

updater

Heatbeat object with instructions for updating the instance.

Methods

all([axis, out, keepdims, where])

Returns True if all elements evaluate to True.

any([axis, out, keepdims, where])

Returns True if any of the elements of a evaluate to True.

argmax([axis, out])

Return indices of the maximum values along the given axis.

argmin([axis, out])

Return indices of the minimum values along the given axis.

argpartition(kth[, axis, kind, order])

Returns the indices that would partition this array.

argsort([axis, kind, order])

Returns the indices that would sort this array.

astype(dtype[, order, casting, subok, copy])

Copy of the array, cast to a specified type.

byteswap([inplace])

Swap the bytes of the array elements

choose(choices[, out, mode])

Use an index array to construct a new array from a set of choices.

clip([min, max, out])

Return an array whose values are limited to [min, max].

compress(condition[, axis, out])

Return selected slices of this array along given axis.

conj()

Complex-conjugate all elements.

conjugate()

Return the complex conjugate, element-wise.

copy([order])

Return a copy of the array.

cumprod([axis, dtype, out])

Return the cumulative product of the elements along the given axis.

cumsum([axis, dtype, out])

Return the cumulative sum of the elements along the given axis.

derivative([x, Y])

If differentiator or jacobinator is set, this returns the derivative of the Field.

diagonal([offset, axis1, axis2])

Return specified diagonals.

dot(b[, out])

Dot product of two arrays.

dump(file)

Dump a pickle of the array to the specified file.

dumps()

Returns the pickle of the array as a string.

fill(value)

Fill the array with a scalar value.

flatten([order])

Return a copy of the array collapsed into one dimension.

getfield(dtype[, offset])

Returns a field of the given array as a certain type.

item(*args)

Copy an element of an array to a standard Python scalar and return it.

itemset(*args)

Insert scalar into an array (scalar is cast to array’s dtype, if possible)

jacobian([x])

If jacobinator is set, this returns the Jacobi matrix of the Field.

max([axis, out, keepdims, initial, where])

Return the maximum along a given axis.

mean([axis, dtype, out, keepdims, where])

Returns the average of the array elements along given axis.

min([axis, out, keepdims, initial, where])

Return the minimum along a given axis.

newbyteorder([new_order])

Return the array with the same data viewed with a different byte order.

nonzero()

Return the indices of the elements that are non-zero.

partition(kth[, axis, kind, order])

Rearranges the elements in the array in such a way that the value of the element in kth position is in the position it would be in a sorted array.

prod([axis, dtype, out, keepdims, initial, …])

Return the product of the array elements over the given axis

ptp([axis, out, keepdims])

Peak to peak (maximum - minimum) value along a given axis.

put(indices, values[, mode])

Set a.flat[n] = values[n] for all n in indices.

ravel([order])

Return a flattened array.

repeat(repeats[, axis])

Repeat elements of an array.

reshape(shape[, order])

Returns an array containing the same data with a new shape.

resize(new_shape[, refcheck])

Change shape and size of array in-place.

round([decimals, out])

Return a with each element rounded to the given number of decimals.

searchsorted(v[, side, sorter])

Find indices where elements of v should be inserted in a to maintain order.

setfield(val, dtype[, offset])

Put a value into a specified place in a field defined by a data-type.

setflags([write, align, uic])

Set array flags WRITEABLE, ALIGNED, (WRITEBACKIFCOPY and UPDATEIFCOPY), respectively.

sort([axis, kind, order])

Sort an array in-place.

squeeze([axis])

Remove axes of length one from a.

std([axis, dtype, out, ddof, keepdims, where])

Returns the standard deviation of the array elements along given axis.

sum([axis, dtype, out, keepdims, initial, where])

Return the sum of the array elements over the given axis.

swapaxes(axis1, axis2)

Return a view of the array with axis1 and axis2 interchanged.

take(indices[, axis, out, mode])

Return an array formed from the elements of a at the given indices.

tobytes([order])

Construct Python bytes containing the raw data bytes in the array.

tofile(fid[, sep, format])

Write array to a file as text or binary (default).

tolist()

Return the array as an a.ndim-levels deep nested list of Python scalars.

tostring([order])

A compatibility alias for tobytes, with exactly the same behavior.

trace([offset, axis1, axis2, dtype, out])

Return the sum along diagonals of the array.

transpose(*axes)

Returns a view of the array with axes transposed.

update(*args, **kwargs)

Function to update the Field.

var([axis, dtype, out, ddof, keepdims, where])

Returns the variance of the array elements, along given axis.

view([dtype][, type])

New view of array with the same data.

Attributes Summary

buffer

Temporary buffer that stores the new value of Field after successful integration.

constant

If True, Field is immutable.

differentiator

Heartbeat object with instructions for calculating the derivative of Field

jacobinator

Heartbeat object with instructions for calculating the Jacobian of Field

save

If False, Field will not be stored in output files.

Methods Summary

derivative([x, Y])

If differentiator or jacobinator is set, this returns the derivative of the Field.

jacobian([x])

If jacobinator is set, this returns the Jacobi matrix of the Field.

update(*args, **kwargs)

Function to update the Field.

Attributes Documentation

buffer

Temporary buffer that stores the new value of Field after successful integration.

constant

If True, Field is immutable.

differentiator

Heartbeat object with instructions for calculating the derivative of Field

jacobinator

Heartbeat object with instructions for calculating the Jacobian of Field

save

If False, Field will not be stored in output files.

Methods Documentation

derivative(x=None, Y=None, *args, **kwargs)[source]

If differentiator or jacobinator is set, this returns the derivative of the Field.

Parameters
  • x (IntVar, optional, default : None) – Integration variable If None it uses the integration variable of the integrator of the parent Frame

  • Y (Field, optional, default : None) – Derivative of Y with respect to the integration variable. If None it uses the field itself

Returns

deriv

Return type

derivative of the field according the differetiator or jacobinator

Notes

The function that calculates the derivative needs the parent Frame as first positional, the integration variable IntVar as second positional, and the Field itself as third positional argument.

The differentiator is not set, it will try to calculate the derivative from the Jacobian. If jacobinator is also not set, it will return False

jacobian(x=None, *args, **kwargs)[source]

If jacobinator is set, this returns the Jacobi matrix of the Field.

Parameters

x (IntVar, optional, default : None) – Integration variable If None it uses the integration variable of the integrator of the parent Frame

Returns

  • jac (Jacobi matrix of the field according the differetiator)

  • The function that calculates the Jacobian needs the parent frame as first positional and the

  • integration variable as second positional.

update(*args, **kwargs)[source]

Function to update the Field.