PolarFDFDGeometry#

class PolarFDFDGeometry(Nphi, Nr, Npml, dr, Npml_inner=0, r_inner=0.0, mirror=False, n_sectors=1, bloch_phase=0.0, m=3, lnR=-20.0)[source]#

Bases: GeometryHyperparameters

Polar FDFD geometry specification.

Parameters:
  • Nphi (int)

  • Nr (int)

  • Npml (int)

  • dr (float)

  • Npml_inner (int)

  • r_inner (float)

  • mirror (bool)

  • n_sectors (int)

  • bloch_phase (float)

  • m (int)

  • lnR (float)

Nphi#

Number of azimuthal grid points (in one irreducible region if using symmetry).

Type:

int

Nr#

Number of radial grid points.

Type:

int

Npml#

Width of outer radial PML layers in pixels.

Type:

int

dr#

Radial grid spacing.

Type:

float

Npml_inner#

Width of inner radial PML layers in pixels. Default: 0

Type:

int

r_inner#

Inner radius of computational domain. Default: 0

Type:

float

mirror#

Whether reflection symmetry is assumed with Neumann boundary conditions. Default: False

Type:

bool

n_sectors#

Number of rotational symmetry sectors (1 for full circle). Default: 1

Type:

int

bloch_phase#

Phase shift for Bloch-periodic boundary conditions in azimuthal direction. Default: 0.0

Type:

float

m#

PML polynomial grading order. Default: 3

Type:

int

lnR#

Logarithm of desired PML reflection coefficient. Default: -20.0

Type:

float

Attributes Summary

Nphi

Npml

Npml_inner

Nr

bloch_phase

dphi

Get the azimuthal grid spacing.

dr

lnR

m

mirror

n_sectors

nonpmlNr

Get the number of radial grid points excluding PML regions.

phi_grid

Get the azimuthal grid points.

r_grid

Get the radial grid points.

r_inner

Methods Summary

get_grid_size()

Return grid dimensions.

get_pixel_areas()

Return the area of each pixel in the grid.

Attributes Documentation

Nphi: int = <dataclasses._MISSING_TYPE object>#
Npml: int = <dataclasses._MISSING_TYPE object>#
Npml_inner: int = 0#
Nr: int = <dataclasses._MISSING_TYPE object>#
bloch_phase: float = 0.0#
dphi#

Get the azimuthal grid spacing.

dr: float = <dataclasses._MISSING_TYPE object>#
lnR: float = -20.0#
m: int = 3#
mirror: bool = False#
n_sectors: int = 1#
nonpmlNr#

Get the number of radial grid points excluding PML regions.

phi_grid#

Get the azimuthal grid points.

r_grid#

Get the radial grid points.

r_inner: float = 0.0#

Methods Documentation

get_grid_size()[source]#

Return grid dimensions.

Returns:

Grid dimensions (Nr, Nphi).

Return type:

tuple of int

get_pixel_areas()[source]#

Return the area of each pixel in the grid.

Returns:

Flattened array of pixel areas.

Return type:

ndarray of float