Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion tidy3d/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -63,4 +63,4 @@

# make all stdout and errors pretty
pretty.install()
traceback.install(suppress=[ProcessPoolExecutor])
# traceback.install(suppress=[ProcessPoolExecutor])
2 changes: 1 addition & 1 deletion tidy3d/components/data.py
Original file line number Diff line number Diff line change
Expand Up @@ -658,7 +658,7 @@ def __getitem__(self, monitor_name: str) -> Union[Tidy3dDataArray, xr.Dataset]:
"""
monitor_data = self.monitor_data.get(monitor_name)
if not monitor_data:
raise DataError(f"monitor {monitor_name} not found")
raise DataError(f"monitor '{monitor_name}' not found")
if isinstance(monitor_data, MonitorData):
return monitor_data.data
return monitor_data
Expand Down
8 changes: 6 additions & 2 deletions tidy3d/components/source.py
Original file line number Diff line number Diff line change
Expand Up @@ -434,9 +434,12 @@ class GaussianBeam(DirectionalSource):
Specifies the sign of propagation.
Must be in ``{'+', '-'}``.
Note: propagation occurs along dimension normal to plane.
waist_radius: float
waist_radius: float = 1.0
Radius of the beam at the waist (um).
Must be positive.
waist_distance: float = 0.0
Distance (um) from the beam waist along the propagation direction.
Must be non-negative.
angle_theta: float = 0.0
Angle of propagation of the beam with respect to the normal axis (rad).
angle_phi: float = 0.0
Expand All @@ -457,7 +460,8 @@ class GaussianBeam(DirectionalSource):
... waist_radius=1.0)
"""

waist_radius: pydantic.PositiveFloat
waist_radius: pydantic.PositiveFloat = 1.0
waist_distance: pydantic.NonNegativeFloat = 0.0
angle_theta: float = 0.0
angle_phi: float = 0.0
pol_angle: float = 0.0
Expand Down
38 changes: 20 additions & 18 deletions tidy3d/convert.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
from tidy3d import Box, Sphere, Cylinder, PolySlab
from tidy3d import Medium, AnisotropicMedium
from tidy3d.components.medium import DispersiveMedium, PECMedium
from tidy3d import VolumeSource, ModeSource, PlaneWave
from tidy3d import VolumeSource, ModeSource, PlaneWave, GaussianBeam
from tidy3d import GaussianPulse
from tidy3d import PML, Absorber, StablePML
from tidy3d import FieldMonitor, FieldTimeMonitor, FluxMonitor, FluxTimeMonitor
Expand Down Expand Up @@ -279,26 +279,28 @@ def old_json_sources(sim: Simulation) -> List[Dict]:
"polarization": source.polarization[1],
"amplitude": source.source_time.amplitude,
}
elif isinstance(source, GaussianBeam):
normal_index = [s == 0 for s in source.size].index(True)
injection_axis = source.direction + "xyz"[normal_index]
direction = "forward" if source.direction == "+" else "backward"
src = {
"name": name,
"type": "GaussianBeam",
"source_time": src_time,
"center": list(source.center),
"normal": "xyz"[normal_index],
"direction": direction,
"angle_theta": float(source.angle_theta),
"angle_phi": float(source.angle_phi),
"waist_radius": float(source.waist_radius),
"waist_distance": float(source.waist_distance),
"pol_angle": float(source.pol_angle),
"amplitude": source.source_time.amplitude
}

if src:
src_list.append(src)

# """ TODO: Support GaussianBeam """
# elif isinstance(source, GaussianBeam):
# src = {
# "name": src_data.name,
# "type": "GaussianBeam",
# "source_time": src_time,
# "position": source.position,
# "normal": source.normal,
# "direction": source.direction,
# "angle_theta": float(source.angle_theta),
# "angle_phi": float(source.angle_phi),
# "waist_radius": float(source.waist_radius),
# "waist_distance": float(source.waist_distance),
# "pol_angle": float(source.pol_angle),
# "amplitude": float(source.amplitude)
# }

return src_list


Expand Down
2 changes: 1 addition & 1 deletion tidy3d/web/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
from dataclasses import dataclass

# automate this later?
SOLVER_VERSION = "release-21.4.0"
SOLVER_VERSION = "release-21.4.2"


@dataclass
Expand Down