# tidy3d.GaussianBeam#

class tidy3d.GaussianBeam#

Guassian distribution on finite extent plane.

Parameters
• center (Tuple[float, float, float] = (0.0, 0.0, 0.0)) – [units = um]. Center of object in x, y, and z.

• size (Tuple[NonNegativeFloat, NonNegativeFloat, NonNegativeFloat]) – [units = um]. Size in x, y, and z directions.

• source_time (Union[GaussianPulse, ContinuousWave]) – Specification of the source time-dependence.

• name (Optional[str] = None) – Optional name for the source.

• num_freqs (ConstrainedIntValue = 1) – 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 (Literal['+', '-']) – Specifies propagation in the positive or negative direction of the injection axis.

• angle_theta (float = 0.0) – [units = rad]. Polar angle of the propagation axis from the injection axis.

• angle_phi (float = 0.0) – [units = rad]. Azimuth angle of the propagation axis in the plane orthogonal to the injection axis.

• pol_angle (float = 0) – [units = rad]. 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 (PositiveFloat = 1.0) – [units = um]. Radius of the beam at the waist.

• waist_distance (float = 0.0) – [units = um]. Distance from the beam waist along the propagation direction.

Example

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

Show JSON schema
```{
"title": "GaussianBeam",
"description": "Guassian distribution on finite extent plane.\n\nParameters\n----------\ncenter : Tuple[float, float, float] = (0.0, 0.0, 0.0)\n    [units = um].  Center of object in x, y, and z.\nsize : Tuple[NonNegativeFloat, NonNegativeFloat, NonNegativeFloat]\n    [units = um].  Size in x, y, and z directions.\nsource_time : Union[GaussianPulse, ContinuousWave]\n    Specification of the source time-dependence.\nname : Optional[str] = None\n    Optional name for the source.\nnum_freqs : ConstrainedIntValue = 1\n    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.\ndirection : Literal['+', '-']\n    Specifies propagation in the positive or negative direction of the injection axis.\nangle_theta : float = 0.0\n    [units = rad].  Polar angle of the propagation axis from the injection axis.\nangle_phi : float = 0.0\n    [units = rad].  Azimuth angle of the propagation axis in the plane orthogonal to the injection axis.\npol_angle : float = 0\n    [units = rad].  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``.\nwaist_radius : PositiveFloat = 1.0\n    [units = um].  Radius of the beam at the waist.\nwaist_distance : float = 0.0\n    [units = um].  Distance from the beam waist along the propagation direction.\n\nExample\n-------\n>>> pulse = GaussianPulse(freq0=200e12, fwidth=20e12)\n>>> gauss = GaussianBeam(\n...     size=(0,3,3),\n...     source_time=pulse,\n...     pol_angle=np.pi / 2,\n...     direction='+',\n...     waist_radius=1.0)",
"type": "object",
"properties": {
"type": {
"title": "Type",
"default": "GaussianBeam",
"enum": [
"GaussianBeam"
],
"type": "string"
},
"center": {
"title": "Center",
"description": "Center of object in x, y, and z.",
"default": [
0.0,
0.0,
0.0
],
"units": "um",
"type": "array",
"minItems": 3,
"maxItems": 3,
"items": [
{
"type": "number"
},
{
"type": "number"
},
{
"type": "number"
}
]
},
"size": {
"title": "Size",
"description": "Size in x, y, and z directions.",
"units": "um",
"type": "array",
"minItems": 3,
"maxItems": 3,
"items": [
{
"type": "number",
"minimum": 0
},
{
"type": "number",
"minimum": 0
},
{
"type": "number",
"minimum": 0
}
]
},
"source_time": {
"title": "Source Time",
"description": "Specification of the source time-dependence.",
"anyOf": [
{
"\$ref": "#/definitions/GaussianPulse"
},
{
"\$ref": "#/definitions/ContinuousWave"
}
]
},
"name": {
"title": "Name",
"description": "Optional name for the source.",
"type": "string"
},
"num_freqs": {
"title": "Number of Frequency Points",
"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.",
"default": 1,
"minimum": 1,
"maximum": 99,
"type": "integer"
},
"direction": {
"title": "Direction",
"description": "Specifies propagation in the positive or negative direction of the injection axis.",
"enum": [
"+",
"-"
],
"type": "string"
},
"angle_theta": {
"title": "Polar Angle",
"description": "Polar angle of the propagation axis from the injection axis.",
"default": 0.0,
"type": "number"
},
"angle_phi": {
"title": "Azimuth Angle",
"description": "Azimuth angle of the propagation axis in the plane orthogonal to the injection axis.",
"default": 0.0,
"type": "number"
},
"pol_angle": {
"title": "Polarization Angle",
"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``.",
"default": 0,
"type": "number"
},
"description": "Radius of the beam at the waist.",
"default": 1.0,
"units": "um",
"exclusiveMinimum": 0,
"type": "number"
},
"waist_distance": {
"title": "Waist Distance",
"description": "Distance from the beam waist along the propagation direction.",
"default": 0.0,
"units": "um",
"type": "number"
}
},
"required": [
"size",
"source_time",
"direction"
],
"definitions": {
"GaussianPulse": {
"title": "GaussianPulse",
"description": "Source time dependence that describes a Gaussian pulse.\n\nParameters\n----------\namplitude : NonNegativeFloat = 1.0\n    Real-valued maximum amplitude of the time dependence.\nphase : float = 0.0\n    [units = rad].  Phase shift of the time dependence.\nfreq0 : PositiveFloat\n    [units = Hz].  Central frequency of the pulse.\nfwidth : PositiveFloat\n    [units = Hz].  Standard deviation of the frequency content of the pulse.\noffset : ConstrainedFloatValue = 5.0\n    Time delay of the maximum value of the pulse in units of 1 / (``2pi * fwidth``).\n\nExample\n-------\n>>> pulse = GaussianPulse(freq0=200e12, fwidth=20e12)",
"type": "object",
"properties": {
"amplitude": {
"title": "Amplitude",
"description": "Real-valued maximum amplitude of the time dependence.",
"default": 1.0,
"minimum": 0,
"type": "number"
},
"phase": {
"title": "Phase",
"description": "Phase shift of the time dependence.",
"default": 0.0,
"type": "number"
},
"type": {
"title": "Type",
"default": "GaussianPulse",
"enum": [
"GaussianPulse"
],
"type": "string"
},
"freq0": {
"title": "Central Frequency",
"description": "Central frequency of the pulse.",
"units": "Hz",
"exclusiveMinimum": 0,
"type": "number"
},
"fwidth": {
"title": "Fwidth",
"description": "Standard deviation of the frequency content of the pulse.",
"units": "Hz",
"exclusiveMinimum": 0,
"type": "number"
},
"offset": {
"title": "Offset",
"description": "Time delay of the maximum value of the pulse in units of 1 / (``2pi * fwidth``).",
"default": 5.0,
"minimum": 2.5,
"type": "number"
}
},
"required": [
"freq0",
"fwidth"
],
},
"ContinuousWave": {
"title": "ContinuousWave",
"description": "Source time dependence that ramps up to continuous oscillation\nand holds until end of simulation.\n\nParameters\n----------\namplitude : NonNegativeFloat = 1.0\n    Real-valued maximum amplitude of the time dependence.\nphase : float = 0.0\n    [units = rad].  Phase shift of the time dependence.\nfreq0 : PositiveFloat\n    [units = Hz].  Central frequency of the pulse.\nfwidth : PositiveFloat\n    [units = Hz].  Standard deviation of the frequency content of the pulse.\noffset : ConstrainedFloatValue = 5.0\n    Time delay of the maximum value of the pulse in units of 1 / (``2pi * fwidth``).\n\nExample\n-------\n>>> cw = ContinuousWave(freq0=200e12, fwidth=20e12)",
"type": "object",
"properties": {
"amplitude": {
"title": "Amplitude",
"description": "Real-valued maximum amplitude of the time dependence.",
"default": 1.0,
"minimum": 0,
"type": "number"
},
"phase": {
"title": "Phase",
"description": "Phase shift of the time dependence.",
"default": 0.0,
"type": "number"
},
"type": {
"title": "Type",
"default": "ContinuousWave",
"enum": [
"ContinuousWave"
],
"type": "string"
},
"freq0": {
"title": "Central Frequency",
"description": "Central frequency of the pulse.",
"units": "Hz",
"exclusiveMinimum": 0,
"type": "number"
},
"fwidth": {
"title": "Fwidth",
"description": "Standard deviation of the frequency content of the pulse.",
"units": "Hz",
"exclusiveMinimum": 0,
"type": "number"
},
"offset": {
"title": "Offset",
"description": "Time delay of the maximum value of the pulse in units of 1 / (``2pi * fwidth``).",
"default": 5.0,
"minimum": 2.5,
"type": "number"
}
},
"required": [
"freq0",
"fwidth"
],
}
}
}
```

attribute waist_distance: float = 0.0#

Distance from the beam waist along the propagation direction.