tidy3d.Boundary.bloch_from_source

tidy3d.Boundary.bloch_from_source#

class bloch_from_source#

Bases:

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

Parameters:
  • source (Union[GaussianBeam, ModeSource, PlaneWave]) – Angled source.

  • domain_size (float) – Size of the domain in the direction normal to the Bloch boundary

  • axis (int) – Axis normal to the Bloch boundary

  • medium (Medium) – Background medium associated with the Bloch vector. Default: free space.

Example

>>> from tidy3d import GaussianPulse, PlaneWave, inf
>>> pulse = GaussianPulse(freq0=200e12, fwidth=20e12)
>>> pw_source = PlaneWave(
...     size=(inf,inf,0), source_time=pulse, direction='+', angle_theta=0.2, angle_phi=0.3)
>>> bloch = Boundary.bloch_from_source(source=pw_source, domain_size=5, axis=0)

Inherited Common Usage