treams._operators#

Operators for common transformations including different types of waves.

treams relies heavily on the concept of discretized operators, that can be applied to coefficient vectors expressing fields in certain truncated basis. Conceptually these operators are introduced in the tutorial on Operators. Here, you’ll find the implementation details.

Abstract Classes#

providing the scaffold for the implementation of various operators.

Operator(*args[, isinv])

Operator base class.

OperatorAttribute(op)

Attach an operator to an object as attribute.

FieldOperator(r)

Field evaluation operator.

Rotations + Translations#

rotate(phi[, theta, psi, where])

Rotation matrix.

Rotate(phi[, theta, psi, isinv])

Rotation matrix.

translate(r, *, basis[, k0, material, ...])

Translation matrix.

Translate(r, *[, isinv])

Translation matrix.

Change of Basis#

changepoltype([poltype, where])

Matrix to change polarization types.

ChangePoltype([poltype, isinv])

Matrix to change polarization types.

expand(basis[, modetype, k0, material, ...])

Expansion matrix.

Expand(basis[, modetype, isinv])

Expansion matrix.

expandlattice([lattice, kpar, basis, ...])

Expansion matrix in lattices.

ExpandLattice([lattice, kpar, basis, ...])

Expansion matrix in a lattice.

permute([n, k0, material, modetype, poltype])

Permutation matrix.

Permute([n, isinv])

Axes permutation matrix.

Field Evaluations#

efield(r, *, basis, k0[, material, ...])

Electric field.

EField(r)

Electric field evaluation matrix.

hfield(r, *, basis, k0[, material, ...])

Magnetic field.

HField(r)

Magnetic field evaluation matrix.

dfield(r, *, basis, k0[, material, ...])

Displacement field.

DField(r)

Displacement field evaluation matrix.

bfield(r, *, basis[, k0, material, ...])

Magnetic flux density.

BField(r)

Magnetic flux density evaluation matrix.

ffield(pol, r, *, basis, k0[, material, ...])

Riemann-Silberstein field F.

FField(r)

Riemann-Silberstein field F evaluation matrix.

gfield(pol, r, *, basis, k0[, material, ...])

Riemann-Silberstein field G.

GField(r)

Riemann-Silberstein field G evaluation matrix.

Functions

bfield(r, *, basis[, k0, material, ...])

Magnetic flux density.

changepoltype([poltype, where])

Matrix to change polarization types.

dfield(r, *, basis, k0[, material, ...])

Displacement field.

efield(r, *, basis, k0[, material, ...])

Electric field.

expand(basis[, modetype, k0, material, ...])

Expansion matrix.

expandlattice([lattice, kpar, basis, ...])

Expansion matrix in lattices.

ffield(pol, r, *, basis, k0[, material, ...])

Riemann-Silberstein field F.

gfield(pol, r, *, basis, k0[, material, ...])

Riemann-Silberstein field G.

hfield(r, *, basis, k0[, material, ...])

Magnetic field.

permute([n, k0, material, modetype, poltype])

Permutation matrix.

rotate(phi[, theta, psi, where])

Rotation matrix.

translate(r, *, basis[, k0, material, ...])

Translation matrix.

Classes

BField(r)

Magnetic flux density evaluation matrix.

ChangePoltype([poltype, isinv])

Matrix to change polarization types.

DField(r)

Displacement field evaluation matrix.

EField(r)

Electric field evaluation matrix.

Expand(basis[, modetype, isinv])

Expansion matrix.

ExpandLattice([lattice, kpar, basis, ...])

Expansion matrix in a lattice.

FField(r)

Riemann-Silberstein field F evaluation matrix.

FieldOperator(r)

Field evaluation operator.

GField(r)

Riemann-Silberstein field G evaluation matrix.

HField(r)

Magnetic field evaluation matrix.

Operator(*args[, isinv])

Operator base class.

OperatorAttribute(op)

Attach an operator to an object as attribute.

Permute([n, isinv])

Axes permutation matrix.

Rotate(phi[, theta, psi, isinv])

Rotation matrix.

Translate(r, *[, isinv])

Translation matrix.