Skip to content

flex_rf.tidy3d.Boundary

Type: class Base(s): Tidy3dBaseModel

Boundary conditions at the minus and plus extents along a dimension.

To specify individual boundary conditions along different dimensions, instead of BoundarySpec, this class is used, which defines the plus and minus boundaries along a single dimension.

boundary = Boundary(plus = PML(), minus = PECBoundary())
plus [BoundaryEdgeType] = factory: PML

Boundary condition on the plus side along a dimension.

minus [BoundaryEdgeType] = factory: PML

Boundary condition on the minus side along a dimension.

abc(permittivity: PositiveFloat | None = None, conductivity: NonNegativeFloat | None = None)

ABC boundary specification on both sides along a dimension.

absorber(num_layers: NonNegativeInt = 40, parameters: PMLParams = DefaultAbsorberParameters)

Adiabatic absorber boundary specification on both sides along a dimension.

bloch(bloch_vec: complex)

Bloch boundary specification on both sides along a dimension.

bloch_from_source(source: BlochSourceType, domain_size: float, axis: Axis, medium: Medium | None = None)

Bloch boundary specification on both sides along a dimension based on a given source.

bloch_on_both_sides()

Error if a Bloch boundary is applied on only one side.

mode_abc(plane: Box, mode_spec: ModeSpecType = DEFAULT_MODE_SPEC_MODE_ABC, mode_index: NonNegativeInt = 0, freq_spec: PositiveFloat | BroadbandModeABCSpec | None = None)

One-way wave equation mode ABC boundary specification on both sides along a dimension.

mode_abc_from_monitor(monitor: ModeMonitor | ModeSolverMonitor, mode_index: NonNegativeInt = 0, freq_spec: PositiveFloat | BroadbandModeABCSpec | None = None)

One-way wave equation mode ABC boundary specification on both sides along a dimension constructed from a mode monitor.

mode_abc_from_source(source: ModeSource, freq_spec: PositiveFloat | BroadbandModeABCSpec | None = None)

One-way wave equation mode ABC boundary specification on both sides along a dimension constructed from a mode source.

pec()

PEC boundary specification on both sides along a dimension.

periodic()

Periodic boundary specification on both sides along a dimension.

periodic_with_pec_pmc()

If a PBC is specified along with PEC or PMC on the other side, manually set the PBC to PEC or PMC so that no special treatment of halos is required.

periodic_with_pml()

Error if PBC is specified with a PML.

pmc()

PMC boundary specification on both sides along a dimension.

pml(num_layers: NonNegativeInt = 12, parameters: PMLParams = DefaultPMLParameters)

PML boundary specification on both sides along a dimension.

stable_pml(num_layers: NonNegativeInt = 40, parameters: PMLParams = DefaultStablePMLParameters)

Stable PML boundary specification on both sides along a dimension.