tidy3d.GaussianBeam#

class GaussianBeam[source]#

Bases: AngledFieldSource, PlanarSource, BroadbandSource

Gaussian distribution on finite extent plane.

Parameters:
  • name (Attribute: name) –

    Type

    Optional[str]

    Default

    = None

    Description

    Optional name for the source.

  • center (Attribute: center) –

    Type

    Tuple[float, float, float]

    Default

    = (0.0, 0.0, 0.0)

    Units

    um

    Description

    Center of object in x, y, and z.

  • size (Attribute: size) –

    Type

    Tuple[NonNegativeFloat, NonNegativeFloat, NonNegativeFloat]

    Default

    Units

    um

    Description

    Size in x, y, and z directions.

  • source_time (Attribute: source_time) –

    Type

    Union[GaussianPulse, ContinuousWave, CustomSourceTime]

    Default

    Description

    Specification of the source time-dependence.

  • num_freqs (Attribute: num_freqs) –

    Type

    ConstrainedIntValue

    Default

    = 1

    Description

    Number of points used to approximate the frequency dependence of injected field. A Chebyshev interpolation is used, thus, only a small number of points, i.e., less than 20, is typically sufficient to obtain converged results.

  • direction (Attribute: direction) –

    Type

    Literal[‘+’, ‘-‘]

    Default

    Description

    Specifies propagation in the positive or negative direction of the injection axis.

  • angle_theta (Attribute: angle_theta) –

    Type

    float

    Default

    = 0.0

    Units

    rad

    Description

    Polar angle of the propagation axis from the injection axis.

  • angle_phi (Attribute: angle_phi) –

    Type

    float

    Default

    = 0.0

    Units

    rad

    Description

    Azimuth angle of the propagation axis in the plane orthogonal to the injection axis.

  • pol_angle (Attribute: pol_angle) –

    Type

    float

    Default

    = 0

    Units

    rad

    Description

    Specifies the angle between the electric field polarization of the source and the plane defined by the injection axis and the propagation axis (rad). pol_angle=0 (default) specifies P polarization, while pol_angle=np.pi/2 specifies S polarization. At normal incidence when S and P are undefined, pol_angle=0 defines: - Ey polarization for propagation along x.- Ex polarization for propagation along y.- Ex polarization for propagation along z.

  • waist_radius (Attribute: waist_radius) –

    Type

    PositiveFloat

    Default

    = 1.0

    Units

    um

    Description

    Radius of the beam at the waist.

  • waist_distance (Attribute: waist_distance) –

    Type

    float

    Default

    = 0.0

    Units

    um

    Description

    Distance from the beam waist along the propagation direction. When direction is + and waist_distance is positive, the waist is on the - side (behind) the source plane. When direction is + and waist_distance``is negative, the waist is on the ``+ side (in front) of the source plane.

Example

>>> pulse = GaussianPulse(freq0=200e12, fwidth=20e12)
>>> gauss = GaussianBeam(
...     size=(0,3,3),
...     source_time=pulse,
...     pol_angle=np.pi / 2,
...     direction='+',
...     waist_radius=1.0)

See also

Notebooks:

Attributes

Methods

waist_radius#
waist_distance#
__hash__()#

Hash method.