Module rustencils::operator[][src]

Structs

FixedEdgeOperator

The FixedEdgeOperator struct contains vectors of rustencils::stencil::FdWeights. One vector for the left edge and one vector for the right edge. NOTE: “Fixed” refers to the fact that the bounds are NOT periodic! The boundary conditions can still be of any type and must be specified separately! The left (more negative side) and right (more positive side) edge operators will be applied from the outside-in (i.e. the first element in the vector will apply to the outermost point, and so on) and each element is only applied once. The user is responsible for ensuring adequate edge operator construction given the structure of the interior operator.

Operator1D

The full 1D operator construction with finite difference weights corresponding to the interior region, as well as those for the edges. The basis direction refers to the dimension along which the operator should be applied (e.g., [0][1][2] corresponding to [x][y][z] in Cartesian coordinates

OperatorMatrix

The OperatorMatrix struct represents the 2D matrix linear operator approximating some derivative. Holds the matrix and the shape of the matrix.

Traits

EdgeOperator

Since the edges of the grid can be defined in multiple ways (e.g., non-periodic – called “fixed” in this crate – vs periodic) the EdgeOperator trait is used to identify those structs that can be used for this purpose. The trait defines the necessary methods for a struct that specifies a type of grid edge construction. For example, this trait is implemented by the FixedEdgeOperator type. NOTE: that the boundary conditions are separate from the edge operator and are specified elsewhere.

Functions

construct_op

Constructs a new OperatorMatrix based on an Operator1D and a GridQty