Skip to content
Closed
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: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Added `smoothed_projection` for topology optimization of completely binarized designs.
- Added more RF-specific mode characteristics to `MicrowaveModeData`, including propagation constants (alpha, beta, gamma), phase/group velocities, wave impedance, and automatic mode classification with configurable polarization thresholds in `MicrowaveModeSpec`.
- Introduce `tidy3d.rf` namespace to consolidate all RF classes.
- Added `EMEInterfaceSMatrixMonitor` to record the cell-interface s matrices used in the EME solver.

### Breaking Changes
- Edge singularity correction at PEC and lossy metal edges defaults to `True`.
Expand Down Expand Up @@ -71,6 +72,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Port names in `ModalComponentModeler` and `TerminalComponentModeler` can no longer include the `@` symbol.
- Improved speed of convolutions for large inputs.
- Default value of `EMEModeSpec.interp_spec` is `ModeInterpSpec.cheb(num_points=3, reduce_data=True)` for faster multi-frequency EME simulations.
- Default value of `num_sweep` in `EMECoefficientMonitor` is now `None`, recording all sweep indices.

### Fixed
- Ensured the legacy `Env` proxy mirrors `config.web` profile switches and preserves API URL.
Expand Down
189 changes: 188 additions & 1 deletion schemas/EMESimulation.json
Original file line number Diff line number Diff line change
Expand Up @@ -4718,7 +4718,6 @@
"type": "integer"
},
"num_sweep": {
"default": 1,
"minimum": 0,
"type": "integer"
},
Expand Down Expand Up @@ -5092,6 +5091,190 @@
],
"type": "object"
},
"EMEInterfaceSMatrixMonitor": {
"additionalProperties": false,
"properties": {
"attrs": {
"default": {},
"type": "object"
},
"center": {
"anyOf": [
{
"items": [
{
"anyOf": [
{
"type": "autograd.tracer.Box"
},
{
"type": "number"
}
]
},
{
"anyOf": [
{
"type": "autograd.tracer.Box"
},
{
"type": "number"
}
]
},
{
"anyOf": [
{
"type": "autograd.tracer.Box"
},
{
"type": "number"
}
]
}
],
"maxItems": 3,
"minItems": 3,
"type": "array"
},
{
"type": "autograd.tracer.Box"
}
],
"default": [
0.0,
0.0,
0.0
]
},
"colocate": {
"default": true,
"enum": [
true
],
"type": "boolean"
},
"eme_cell_interval_space": {
"default": 1,
"exclusiveMinimum": 0,
"type": "integer"
},
"freqs": {
"anyOf": [
{
"items": {
"type": "number"
},
"type": "array"
},
{
"type": "ArrayLike"
}
]
},
"interval_space": {
"default": [
1,
1,
1
],
"items": [
{
"enum": [
1
],
"type": "integer"
},
{
"enum": [
1
],
"type": "integer"
},
{
"enum": [
1
],
"type": "integer"
}
],
"maxItems": 3,
"minItems": 3,
"type": "array"
},
"name": {
"minLength": 1,
"type": "string"
},
"num_modes": {
"minimum": 0,
"type": "integer"
},
"num_sweep": {
"minimum": 0,
"type": "integer"
},
"size": {
"anyOf": [
{
"items": [
{
"anyOf": [
{
"minimum": 0,
"type": "number"
},
{
"type": "autograd.tracer.Box"
}
]
},
{
"anyOf": [
{
"minimum": 0,
"type": "number"
},
{
"type": "autograd.tracer.Box"
}
]
},
{
"anyOf": [
{
"minimum": 0,
"type": "number"
},
{
"type": "autograd.tracer.Box"
}
]
}
],
"maxItems": 3,
"minItems": 3,
"type": "array"
},
{
"type": "autograd.tracer.Box"
}
]
},
"type": {
"default": "EMEInterfaceSMatrixMonitor",
"enum": [
"EMEInterfaceSMatrixMonitor"
],
"type": "string"
}
},
"required": [
"name",
"size"
],
"type": "object"
},
"EMELengthSweep": {
"additionalProperties": false,
"properties": {
Expand Down Expand Up @@ -12731,6 +12914,7 @@
"mapping": {
"EMECoefficientMonitor": "#/definitions/EMECoefficientMonitor",
"EMEFieldMonitor": "#/definitions/EMEFieldMonitor",
"EMEInterfaceSMatrixMonitor": "#/definitions/EMEInterfaceSMatrixMonitor",
"EMEModeSolverMonitor": "#/definitions/EMEModeSolverMonitor",
"MediumMonitor": "#/definitions/MediumMonitor",
"ModeSolverMonitor": "#/definitions/ModeSolverMonitor",
Expand All @@ -12745,6 +12929,9 @@
{
"$ref": "#/definitions/EMEFieldMonitor"
},
{
"$ref": "#/definitions/EMEInterfaceSMatrixMonitor"
},
{
"$ref": "#/definitions/EMEModeSolverMonitor"
},
Expand Down
Binary file modified tests/sims/full_fdtd.h5
Binary file not shown.
33 changes: 23 additions & 10 deletions tests/sims/full_fdtd.json
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,7 @@
"type": "CustomMedium",
"interp_method": "nearest",
"subpixel": false,
"derived_from": null,
"eps_dataset": null,
"permittivity": "SpatialDataArray",
"conductivity": null
Expand Down Expand Up @@ -988,6 +989,7 @@
"type": "CustomMedium",
"interp_method": "nearest",
"subpixel": false,
"derived_from": null,
"eps_dataset": null,
"permittivity": "SpatialDataArray",
"conductivity": null
Expand Down Expand Up @@ -1032,7 +1034,8 @@
]
],
"interp_method": "nearest",
"subpixel": false
"subpixel": false,
"derived_from": null
}
},
{
Expand Down Expand Up @@ -1075,7 +1078,8 @@
]
],
"interp_method": "nearest",
"subpixel": false
"subpixel": false,
"derived_from": null
}
},
{
Expand Down Expand Up @@ -1117,7 +1121,8 @@
]
],
"interp_method": "nearest",
"subpixel": false
"subpixel": false,
"derived_from": null
}
},
{
Expand Down Expand Up @@ -1159,7 +1164,8 @@
]
],
"interp_method": "nearest",
"subpixel": false
"subpixel": false,
"derived_from": null
}
},
{
Expand Down Expand Up @@ -1200,7 +1206,8 @@
]
],
"interp_method": "nearest",
"subpixel": false
"subpixel": false,
"derived_from": null
}
},
{
Expand Down Expand Up @@ -1236,6 +1243,7 @@
"type": "CustomMedium",
"interp_method": "nearest",
"subpixel": false,
"derived_from": null,
"eps_dataset": null,
"permittivity": {
"attrs": {},
Expand Down Expand Up @@ -1304,7 +1312,8 @@
]
],
"interp_method": "nearest",
"subpixel": false
"subpixel": false,
"derived_from": null
}
},
{
Expand Down Expand Up @@ -1371,7 +1380,8 @@
]
],
"interp_method": "nearest",
"subpixel": false
"subpixel": false,
"derived_from": null
}
},
{
Expand Down Expand Up @@ -1431,7 +1441,8 @@
]
],
"interp_method": "nearest",
"subpixel": false
"subpixel": false,
"derived_from": null
}
},
{
Expand Down Expand Up @@ -1491,7 +1502,8 @@
]
],
"interp_method": "nearest",
"subpixel": false
"subpixel": false,
"derived_from": null
}
},
{
Expand Down Expand Up @@ -1544,7 +1556,8 @@
]
],
"interp_method": "nearest",
"subpixel": false
"subpixel": false,
"derived_from": null
}
},
{
Expand Down
Loading
Loading