Skip to content

Commit 74dc7ea

Browse files
committed
feat(rf): add a MicrowaveModeSpec for RF specific mode information
add a ImpedanceSpec for controlling how characteristic impedance is calculated from modes add MicrowaveModeMonitor and MicrowaveModeSolverMonitor that accepts the new MicrowaveModeSpec BREAKING CHANGE: changed path integral class names in plugins/microwave
1 parent 7b3c66d commit 74dc7ea

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+6107
-1477
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2828
- A new type of doping box has been introduced, `CustomDoping` which accepts a `SpatialDataArray` to define doping concentration. Unlike in the case where a `SpatialDataArray`, custom doping defined with `CustomDoping` have additive behavior, i.e., one can add other doping on top. This deprecates the `SpatialDataArray` as direct input for `N_a` and `N_d`.
2929
- Non-isothermal Charge simulations are now available. One can now run this type of simulations by using the `SteadyChargeDCAnalysis` as the `analysis_spec` of a `HeatChargeSimulation`. This type of simulations couple the heat equation with the drift-diffusion equations which allow to account for self heating behavior.
3030
- Because non-isothermal Charge simulations are now supported, new models for the effective density of states and bandgap energy have been introduced. These models are the following: `ConstantEffectiveDOS`, `IsotropicEffectiveDOS`, `MultiValleyEffectiveDOS`, `DualValleyEffectiveDOS`.
31+
- Added `MicrowaveModeSpec` for RF-specific mode information with customizable characteristic impedance calculations through `ImpedanceSpec`.
3132

3233
### Changed
3334
- `LayerRefinementSpec` defaults to assuming structures made of different materials are interior-disjoint for more efficient mesh generation.
3435
- Removal of the Adjoint plugin.
3536
- Deprecation of Python 3.9 support.
37+
- Removal of the Adjoint plugin.
38+
- All RF and microwave specific components now inherit from `MicrowaveBaseModel`.
3639

3740
### Fixed
3841
- Stricter validation for `bend_radius` in mode simulations, preventing the bend center from coinciding with the simulation boundary.

docs/api/microwave/ports/wave.rst

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -46,27 +46,27 @@ If it is desired to only solve for the 2D port mode, one can use the ``to_mode_s
4646
:toctree: ../_autosummary/
4747
:template: module.rst
4848

49-
tidy3d.plugins.microwave.VoltageIntegralAxisAligned
50-
tidy3d.plugins.microwave.CurrentIntegralAxisAligned
51-
tidy3d.plugins.microwave.CustomVoltageIntegral2D
52-
tidy3d.plugins.microwave.CustomCurrentIntegral2D
49+
tidy3d.plugins.microwave.AxisAlignedVoltageIntegral
50+
tidy3d.plugins.microwave.AxisAlignedCurrentIntegral
51+
tidy3d.plugins.microwave.Custom2DVoltageIntegral
52+
tidy3d.plugins.microwave.Custom2DCurrentIntegral
5353
tidy3d.plugins.microwave.AxisAlignedPathIntegral
54-
tidy3d.plugins.microwave.CustomPathIntegral2D
54+
tidy3d.plugins.microwave.Custom2DPathIntegral
5555
tidy3d.plugins.microwave.ImpedanceCalculator
5656

5757
The classes above are used to define the voltage/current integration paths for impedance calculation.
5858

5959
.. code-block:: python
6060
6161
# Define voltage integration line
62-
my_voltage_integral = VoltageIntegralAxisAligned(
62+
my_voltage_integral = AxisAlignedVoltageIntegral(
6363
center=(0,0,0), # center of integration line
6464
size=(5, 0, 0), # length of integration line
6565
sign='+', # sign of integral
6666
)
6767
6868
# Define current integration loop
69-
my_current_integral = CurrentIntegralAxisAligned(
69+
my_current_integral = AxisAlignedCurrentIntegral(
7070
center=(0,0,0), # center of integration loop
7171
size=(20, 20, 0), # size of integration loop
7272
sign='+', # sign of integral (should match wave port direction)

docs/api/plugins/microwave.rst

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@ Microwave
1313
:template: module.rst
1414

1515
tidy3d.plugins.microwave.AxisAlignedPathIntegral
16-
tidy3d.plugins.microwave.VoltageIntegralAxisAligned
17-
tidy3d.plugins.microwave.CurrentIntegralAxisAligned
18-
tidy3d.plugins.microwave.CustomPathIntegral2D
19-
tidy3d.plugins.microwave.CustomVoltageIntegral2D
20-
tidy3d.plugins.microwave.CustomCurrentIntegral2D
16+
tidy3d.plugins.microwave.AxisAlignedVoltageIntegral
17+
tidy3d.plugins.microwave.AxisAlignedCurrentIntegral
18+
tidy3d.plugins.microwave.Custom2DPathIntegral
19+
tidy3d.plugins.microwave.Custom2DVoltageIntegral
20+
tidy3d.plugins.microwave.Custom2DCurrentIntegral
2121
tidy3d.plugins.microwave.ImpedanceCalculator
2222
tidy3d.plugins.microwave.RectangularAntennaArrayCalculator
2323
tidy3d.plugins.microwave.LobeMeasurer

0 commit comments

Comments
 (0)