fmm.eigensolve_anisotropic_media
fmm.eigensolve_anisotropic_media
Performs the eigensolve for a layer with anisotropic permittivity.
This function performs either a uniform-layer or patterned-layer eigensolve,
depending on the shape of the trailing dimensions of a given layer permittivity.
When the final two dimensions have shape (1, 1)
, the layer is treated as
uniform. Otherwise, it is patterned.
Args:
- wavelength: The free space wavelength of the excitation.
- in_plane_wavevector:
(kx0, ky0)
. - primitive_lattice_vectors: The primitive vectors for the real-space lattice.
- permittivity_xx: The xx-component of the permittivity tensor, with
shape
(..., nx, ny)
. - permittivity_xy: The xy-component of the permittivity tensor.
- permittivity_yx: The yx-component of the permittivity tensor.
- permittivity_yy: The yy-component of the permittivity tensor.
- permittivity_zz: The zz-component of the permittivity tensor.
- expansion: The field expansion to be used.
- formulation: Specifies the formulation to be used, or a callable which computes the tangent vector field for a custom vector FMM formulation.
Returns:
- None: The
LayerSolveResult
.