tidy3d.PlaneWave#
- class PlaneWave[source]#
Bases:
AngledFieldSource,PlanarSourceUniform current distribution on an infinite extent plane. One element of size must be zero.
- Parameters:
name (Attribute:
name) –TypeOptional[str]
Default= None
DescriptionOptional name for the source.
center (Attribute:
center) –TypeTuple[float, float, float]
Default= (0.0, 0.0, 0.0)
Unitsum
DescriptionCenter of object in x, y, and z.
size (Attribute:
size) –TypeTuple[NonNegativeFloat, NonNegativeFloat, NonNegativeFloat]
DefaultUnitsum
DescriptionSize in x, y, and z directions.
source_time (Attribute:
source_time) –TypeUnion[GaussianPulse, ContinuousWave, CustomSourceTime]
DefaultDescriptionSpecification of the source time-dependence.
direction (Attribute:
direction) –TypeLiteral[‘+’, ‘-‘]
DefaultDescriptionSpecifies propagation in the positive or negative direction of the injection axis.
angle_theta (Attribute:
angle_theta) –Typefloat
Default= 0.0
Unitsrad
DescriptionPolar angle of the propagation axis from the injection axis.
angle_phi (Attribute:
angle_phi) –Typefloat
Default= 0.0
Unitsrad
DescriptionAzimuth angle of the propagation axis in the plane orthogonal to the injection axis.
pol_angle (Attribute:
pol_angle) –Typefloat
Default= 0
Unitsrad
DescriptionSpecifies 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, whilepol_angle=np.pi/2specifies S polarization. At normal incidence when S and P are undefined,pol_angle=0defines: -Eypolarization for propagation alongx.-Expolarization for propagation alongy.-Expolarization for propagation alongz.
Example
>>> pulse = GaussianPulse(freq0=200e12, fwidth=20e12) >>> pw_source = PlaneWave(size=(inf,0,inf), source_time=pulse, pol_angle=0.1, direction='+')
See also
Attributes
Methods
- __hash__()#
Hash method.