Skip to content

Commit 55f188e

Browse files
MediumMonitor to return both permittivity and permeability profiles
1 parent 2d3b1f4 commit 55f188e

File tree

19 files changed

+1002
-49
lines changed

19 files changed

+1002
-49
lines changed

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
99
## [Unreleased]
1010

1111
### Added
12-
12+
- New `MediumMonitor` that returns both permittivity and permeability profiles.
1313
### Changed
1414

1515
### Fixed

docs/api/monitors.rst

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@ The types of monitors in Tidy3D include:
1616
* `Mode`_: Records mode coefficient(s) of the field across a 2D plane
1717
* `Diffraction`_: Records diffraction coefficient(s) in a periodic simulation
1818
* `Far-field`_: Various monitors for calculating far-field projection and radiation characteristics
19-
* `Permittivity`_: Records material properties within a given region
19+
* `Permittivity`_: Records material permittivity properties within a given region
20+
* `Medium`_: Records material permittivity and permeability properties within a given region
2021

2122
.. seealso::
2223

@@ -255,16 +256,17 @@ Please see the learning center article below for detailed explanations on additi
255256

256257
~~~~
257258

258-
Permittivity
259-
------------
259+
Permittivity and Permeability
260+
-----------------------------
260261

261262
.. autosummary::
262263
:toctree: _autosummary/
263264
:template: module.rst
264265

265266
tidy3d.PermittivityMonitor
267+
tidy3d.MediumMonitor
266268

267-
The ``PermittivityMonitor`` is used to record local relative permittivity data in the region of interest. This data can be useful for post-simulation calculations that require permittivity values, such as mode volume and absorption density.
269+
The ``PermittivityMonitor`` is used to record local relative permittivity data in the region of interest, and the ``MediumMonitor`` can additionally record permeability data. Those data can be useful for post-simulation calculations that require permittivity or permeability values, such as mode volume and absorption density.
268270

269271
.. code-block:: python
270272

schemas/EMESimulation.json

Lines changed: 184 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6822,6 +6822,186 @@
68226822
],
68236823
"type": "object"
68246824
},
6825+
"MediumMonitor": {
6826+
"additionalProperties": false,
6827+
"properties": {
6828+
"apodization": {
6829+
"allOf": [
6830+
{
6831+
"$ref": "#/definitions/ApodizationSpec"
6832+
}
6833+
],
6834+
"default": {
6835+
"attrs": {},
6836+
"end": null,
6837+
"start": null,
6838+
"type": "ApodizationSpec",
6839+
"width": null
6840+
}
6841+
},
6842+
"attrs": {
6843+
"default": {},
6844+
"type": "object"
6845+
},
6846+
"center": {
6847+
"anyOf": [
6848+
{
6849+
"items": [
6850+
{
6851+
"anyOf": [
6852+
{
6853+
"type": "autograd.tracer.Box"
6854+
},
6855+
{
6856+
"type": "number"
6857+
}
6858+
]
6859+
},
6860+
{
6861+
"anyOf": [
6862+
{
6863+
"type": "autograd.tracer.Box"
6864+
},
6865+
{
6866+
"type": "number"
6867+
}
6868+
]
6869+
},
6870+
{
6871+
"anyOf": [
6872+
{
6873+
"type": "autograd.tracer.Box"
6874+
},
6875+
{
6876+
"type": "number"
6877+
}
6878+
]
6879+
}
6880+
],
6881+
"maxItems": 3,
6882+
"minItems": 3,
6883+
"type": "array"
6884+
},
6885+
{
6886+
"type": "autograd.tracer.Box"
6887+
}
6888+
],
6889+
"default": [
6890+
0.0,
6891+
0.0,
6892+
0.0
6893+
]
6894+
},
6895+
"colocate": {
6896+
"default": false,
6897+
"enum": [
6898+
false
6899+
],
6900+
"type": "boolean"
6901+
},
6902+
"freqs": {
6903+
"anyOf": [
6904+
{
6905+
"items": {
6906+
"type": "number"
6907+
},
6908+
"type": "array"
6909+
},
6910+
{
6911+
"type": "ArrayLike"
6912+
}
6913+
]
6914+
},
6915+
"interval_space": {
6916+
"default": [
6917+
1,
6918+
1,
6919+
1
6920+
],
6921+
"items": [
6922+
{
6923+
"exclusiveMinimum": 0,
6924+
"type": "integer"
6925+
},
6926+
{
6927+
"exclusiveMinimum": 0,
6928+
"type": "integer"
6929+
},
6930+
{
6931+
"exclusiveMinimum": 0,
6932+
"type": "integer"
6933+
}
6934+
],
6935+
"maxItems": 3,
6936+
"minItems": 3,
6937+
"type": "array"
6938+
},
6939+
"name": {
6940+
"minLength": 1,
6941+
"type": "string"
6942+
},
6943+
"size": {
6944+
"anyOf": [
6945+
{
6946+
"items": [
6947+
{
6948+
"anyOf": [
6949+
{
6950+
"minimum": 0,
6951+
"type": "number"
6952+
},
6953+
{
6954+
"type": "autograd.tracer.Box"
6955+
}
6956+
]
6957+
},
6958+
{
6959+
"anyOf": [
6960+
{
6961+
"minimum": 0,
6962+
"type": "number"
6963+
},
6964+
{
6965+
"type": "autograd.tracer.Box"
6966+
}
6967+
]
6968+
},
6969+
{
6970+
"anyOf": [
6971+
{
6972+
"minimum": 0,
6973+
"type": "number"
6974+
},
6975+
{
6976+
"type": "autograd.tracer.Box"
6977+
}
6978+
]
6979+
}
6980+
],
6981+
"maxItems": 3,
6982+
"minItems": 3,
6983+
"type": "array"
6984+
},
6985+
{
6986+
"type": "autograd.tracer.Box"
6987+
}
6988+
]
6989+
},
6990+
"type": {
6991+
"default": "MediumMonitor",
6992+
"enum": [
6993+
"MediumMonitor"
6994+
],
6995+
"type": "string"
6996+
}
6997+
},
6998+
"required": [
6999+
"freqs",
7000+
"name",
7001+
"size"
7002+
],
7003+
"type": "object"
7004+
},
68257005
"MeshOverrideStructure": {
68267006
"additionalProperties": false,
68277007
"properties": {
@@ -11209,6 +11389,7 @@
1120911389
"EMECoefficientMonitor": "#/definitions/EMECoefficientMonitor",
1121011390
"EMEFieldMonitor": "#/definitions/EMEFieldMonitor",
1121111391
"EMEModeSolverMonitor": "#/definitions/EMEModeSolverMonitor",
11392+
"MediumMonitor": "#/definitions/MediumMonitor",
1121211393
"ModeSolverMonitor": "#/definitions/ModeSolverMonitor",
1121311394
"PermittivityMonitor": "#/definitions/PermittivityMonitor"
1121411395
},
@@ -11224,6 +11405,9 @@
1122411405
{
1122511406
"$ref": "#/definitions/EMEModeSolverMonitor"
1122611407
},
11408+
{
11409+
"$ref": "#/definitions/MediumMonitor"
11410+
},
1122711411
{
1122811412
"$ref": "#/definitions/ModeSolverMonitor"
1122911413
},

0 commit comments

Comments
 (0)