Skip to content

Commit 4969e99

Browse files
feat(rf): FXC 1604 add api for automatic extrusion of boundary structures into pml
1 parent 3037d0f commit 4969e99

File tree

7 files changed

+132
-0
lines changed

7 files changed

+132
-0
lines changed

CHANGELOG.md

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

1111
### Added
12+
- Added optional automatic extrusion of structures at the simulation boundaries into/through PML/Absorber layers via `enable_extrusion` field in class `AbsorberSpec`.
1213
- Added S-parameter de-embedding to `TerminalComponentModelerData`, enabling recalculation with shifted reference planes.
1314
- Added optional automatic extrusion of structures intersecting with a `WavePort` via the new `extrude_structures` field, ensuring mode sources, absorbers, and PEC frames are fully contained.
1415
- Added support for `tidy3d-extras`, an optional plugin that enables more accurate local mode solving via subpixel averaging.

schemas/EMESimulation.json

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,10 @@
3636
"default": {},
3737
"type": "object"
3838
},
39+
"enable_extrusion": {
40+
"default": false,
41+
"type": "boolean"
42+
},
3943
"name": {
4044
"type": "string"
4145
},
@@ -1008,6 +1012,7 @@
10081012
"minus": {
10091013
"default": {
10101014
"attrs": {},
1015+
"enable_extrusion": false,
10111016
"name": null,
10121017
"num_layers": 12,
10131018
"parameters": {
@@ -1072,6 +1077,7 @@
10721077
"plus": {
10731078
"default": {
10741079
"attrs": {},
1080+
"enable_extrusion": false,
10751081
"name": null,
10761082
"num_layers": 12,
10771083
"parameters": {
@@ -1167,6 +1173,7 @@
11671173
"attrs": {},
11681174
"minus": {
11691175
"attrs": {},
1176+
"enable_extrusion": false,
11701177
"name": null,
11711178
"num_layers": 12,
11721179
"parameters": {
@@ -1186,6 +1193,7 @@
11861193
},
11871194
"plus": {
11881195
"attrs": {},
1196+
"enable_extrusion": false,
11891197
"name": null,
11901198
"num_layers": 12,
11911199
"parameters": {
@@ -1216,6 +1224,7 @@
12161224
"attrs": {},
12171225
"minus": {
12181226
"attrs": {},
1227+
"enable_extrusion": false,
12191228
"name": null,
12201229
"num_layers": 12,
12211230
"parameters": {
@@ -1235,6 +1244,7 @@
12351244
},
12361245
"plus": {
12371246
"attrs": {},
1247+
"enable_extrusion": false,
12381248
"name": null,
12391249
"num_layers": 12,
12401250
"parameters": {
@@ -1265,6 +1275,7 @@
12651275
"attrs": {},
12661276
"minus": {
12671277
"attrs": {},
1278+
"enable_extrusion": false,
12681279
"name": null,
12691280
"num_layers": 12,
12701281
"parameters": {
@@ -1284,6 +1295,7 @@
12841295
},
12851296
"plus": {
12861297
"attrs": {},
1298+
"enable_extrusion": false,
12871299
"name": null,
12881300
"num_layers": 12,
12891301
"parameters": {
@@ -9353,6 +9365,10 @@
93539365
"default": {},
93549366
"type": "object"
93559367
},
9368+
"enable_extrusion": {
9369+
"default": false,
9370+
"type": "boolean"
9371+
},
93569372
"name": {
93579373
"type": "string"
93589374
},
@@ -11287,6 +11303,10 @@
1128711303
"default": {},
1128811304
"type": "object"
1128911305
},
11306+
"enable_extrusion": {
11307+
"default": false,
11308+
"type": "boolean"
11309+
},
1129011310
"name": {
1129111311
"type": "string"
1129211312
},

schemas/ModeSimulation.json

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,10 @@
3636
"default": {},
3737
"type": "object"
3838
},
39+
"enable_extrusion": {
40+
"default": false,
41+
"type": "boolean"
42+
},
3943
"name": {
4044
"type": "string"
4145
},
@@ -1008,6 +1012,7 @@
10081012
"minus": {
10091013
"default": {
10101014
"attrs": {},
1015+
"enable_extrusion": false,
10111016
"name": null,
10121017
"num_layers": 12,
10131018
"parameters": {
@@ -1072,6 +1077,7 @@
10721077
"plus": {
10731078
"default": {
10741079
"attrs": {},
1080+
"enable_extrusion": false,
10751081
"name": null,
10761082
"num_layers": 12,
10771083
"parameters": {
@@ -1167,6 +1173,7 @@
11671173
"attrs": {},
11681174
"minus": {
11691175
"attrs": {},
1176+
"enable_extrusion": false,
11701177
"name": null,
11711178
"num_layers": 12,
11721179
"parameters": {
@@ -1186,6 +1193,7 @@
11861193
},
11871194
"plus": {
11881195
"attrs": {},
1196+
"enable_extrusion": false,
11891197
"name": null,
11901198
"num_layers": 12,
11911199
"parameters": {
@@ -1216,6 +1224,7 @@
12161224
"attrs": {},
12171225
"minus": {
12181226
"attrs": {},
1227+
"enable_extrusion": false,
12191228
"name": null,
12201229
"num_layers": 12,
12211230
"parameters": {
@@ -1235,6 +1244,7 @@
12351244
},
12361245
"plus": {
12371246
"attrs": {},
1247+
"enable_extrusion": false,
12381248
"name": null,
12391249
"num_layers": 12,
12401250
"parameters": {
@@ -1265,6 +1275,7 @@
12651275
"attrs": {},
12661276
"minus": {
12671277
"attrs": {},
1278+
"enable_extrusion": false,
12681279
"name": null,
12691280
"num_layers": 12,
12701281
"parameters": {
@@ -1284,6 +1295,7 @@
12841295
},
12851296
"plus": {
12861297
"attrs": {},
1298+
"enable_extrusion": false,
12871299
"name": null,
12881300
"num_layers": 12,
12891301
"parameters": {
@@ -9073,6 +9085,10 @@
90739085
"default": {},
90749086
"type": "object"
90759087
},
9088+
"enable_extrusion": {
9089+
"default": false,
9090+
"type": "boolean"
9091+
},
90769092
"name": {
90779093
"type": "string"
90789094
},
@@ -11007,6 +11023,10 @@
1100711023
"default": {},
1100811024
"type": "object"
1100911025
},
11026+
"enable_extrusion": {
11027+
"default": false,
11028+
"type": "boolean"
11029+
},
1101011030
"name": {
1101111031
"type": "string"
1101211032
},
@@ -12159,6 +12179,7 @@
1215912179
"attrs": {},
1216012180
"minus": {
1216112181
"attrs": {},
12182+
"enable_extrusion": false,
1216212183
"name": null,
1216312184
"num_layers": 12,
1216412185
"parameters": {
@@ -12178,6 +12199,7 @@
1217812199
},
1217912200
"plus": {
1218012201
"attrs": {},
12202+
"enable_extrusion": false,
1218112203
"name": null,
1218212204
"num_layers": 12,
1218312205
"parameters": {
@@ -12201,6 +12223,7 @@
1220112223
"attrs": {},
1220212224
"minus": {
1220312225
"attrs": {},
12226+
"enable_extrusion": false,
1220412227
"name": null,
1220512228
"num_layers": 12,
1220612229
"parameters": {
@@ -12220,6 +12243,7 @@
1222012243
},
1222112244
"plus": {
1222212245
"attrs": {},
12246+
"enable_extrusion": false,
1222312247
"name": null,
1222412248
"num_layers": 12,
1222512249
"parameters": {
@@ -12243,6 +12267,7 @@
1224312267
"attrs": {},
1224412268
"minus": {
1224512269
"attrs": {},
12270+
"enable_extrusion": false,
1224612271
"name": null,
1224712272
"num_layers": 12,
1224812273
"parameters": {
@@ -12262,6 +12287,7 @@
1226212287
},
1226312288
"plus": {
1226412289
"attrs": {},
12290+
"enable_extrusion": false,
1226512291
"name": null,
1226612292
"num_layers": 12,
1226712293
"parameters": {

schemas/Simulation.json

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,10 @@
3636
"default": {},
3737
"type": "object"
3838
},
39+
"enable_extrusion": {
40+
"default": false,
41+
"type": "boolean"
42+
},
3943
"name": {
4044
"type": "string"
4145
},
@@ -1389,6 +1393,7 @@
13891393
"minus": {
13901394
"default": {
13911395
"attrs": {},
1396+
"enable_extrusion": false,
13921397
"name": null,
13931398
"num_layers": 12,
13941399
"parameters": {
@@ -1453,6 +1458,7 @@
14531458
"plus": {
14541459
"default": {
14551460
"attrs": {},
1461+
"enable_extrusion": false,
14561462
"name": null,
14571463
"num_layers": 12,
14581464
"parameters": {
@@ -1548,6 +1554,7 @@
15481554
"attrs": {},
15491555
"minus": {
15501556
"attrs": {},
1557+
"enable_extrusion": false,
15511558
"name": null,
15521559
"num_layers": 12,
15531560
"parameters": {
@@ -1567,6 +1574,7 @@
15671574
},
15681575
"plus": {
15691576
"attrs": {},
1577+
"enable_extrusion": false,
15701578
"name": null,
15711579
"num_layers": 12,
15721580
"parameters": {
@@ -1597,6 +1605,7 @@
15971605
"attrs": {},
15981606
"minus": {
15991607
"attrs": {},
1608+
"enable_extrusion": false,
16001609
"name": null,
16011610
"num_layers": 12,
16021611
"parameters": {
@@ -1616,6 +1625,7 @@
16161625
},
16171626
"plus": {
16181627
"attrs": {},
1628+
"enable_extrusion": false,
16191629
"name": null,
16201630
"num_layers": 12,
16211631
"parameters": {
@@ -1646,6 +1656,7 @@
16461656
"attrs": {},
16471657
"minus": {
16481658
"attrs": {},
1659+
"enable_extrusion": false,
16491660
"name": null,
16501661
"num_layers": 12,
16511662
"parameters": {
@@ -1665,6 +1676,7 @@
16651676
},
16661677
"plus": {
16671678
"attrs": {},
1679+
"enable_extrusion": false,
16681680
"name": null,
16691681
"num_layers": 12,
16701682
"parameters": {
@@ -13055,6 +13067,10 @@
1305513067
"default": {},
1305613068
"type": "object"
1305713069
},
13070+
"enable_extrusion": {
13071+
"default": false,
13072+
"type": "boolean"
13073+
},
1305813074
"name": {
1305913075
"type": "string"
1306013076
},
@@ -15357,6 +15373,10 @@
1535715373
"default": {},
1535815374
"type": "object"
1535915375
},
15376+
"enable_extrusion": {
15377+
"default": false,
15378+
"type": "boolean"
15379+
},
1536015380
"name": {
1536115381
"type": "string"
1536215382
},
@@ -16854,6 +16874,7 @@
1685416874
"attrs": {},
1685516875
"minus": {
1685616876
"attrs": {},
16877+
"enable_extrusion": false,
1685716878
"name": null,
1685816879
"num_layers": 12,
1685916880
"parameters": {
@@ -16873,6 +16894,7 @@
1687316894
},
1687416895
"plus": {
1687516896
"attrs": {},
16897+
"enable_extrusion": false,
1687616898
"name": null,
1687716899
"num_layers": 12,
1687816900
"parameters": {
@@ -16896,6 +16918,7 @@
1689616918
"attrs": {},
1689716919
"minus": {
1689816920
"attrs": {},
16921+
"enable_extrusion": false,
1689916922
"name": null,
1690016923
"num_layers": 12,
1690116924
"parameters": {
@@ -16915,6 +16938,7 @@
1691516938
},
1691616939
"plus": {
1691716940
"attrs": {},
16941+
"enable_extrusion": false,
1691816942
"name": null,
1691916943
"num_layers": 12,
1692016944
"parameters": {
@@ -16938,6 +16962,7 @@
1693816962
"attrs": {},
1693916963
"minus": {
1694016964
"attrs": {},
16965+
"enable_extrusion": false,
1694116966
"name": null,
1694216967
"num_layers": 12,
1694316968
"parameters": {
@@ -16957,6 +16982,7 @@
1695716982
},
1695816983
"plus": {
1695916984
"attrs": {},
16985+
"enable_extrusion": false,
1696016986
"name": null,
1696116987
"num_layers": 12,
1696216988
"parameters": {

0 commit comments

Comments
 (0)