Skip to content

Commit 0650096

Browse files
feat(FXC-5013): Lumped element support for arbitrary RLC circuit
1 parent 73f47b9 commit 0650096

10 files changed

Lines changed: 1583 additions & 4 deletions

File tree

changelog.d/3336.added.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Added `CircuitImpedanceModel` to support arbitrary RLC circuits in `LinearLumpedElement`, with class methods `from_spice_file()` and `from_component_list()` for instantiation from a SPICE netlist or a component list.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
`RLCNetwork` (a deprecation warning is now issued). Use `CircuitImpedanceModel.from_component_list()` or `CircuitImpedanceModel.from_spice_file()` instead. `AdmittanceNetwork` may be renamed to `AdmittanceModel` in a future release.

schemas/EMESimulation.json

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1539,6 +1539,39 @@
15391539
],
15401540
"type": "object"
15411541
},
1542+
"CircuitImpedanceModel": {
1543+
"additionalProperties": false,
1544+
"properties": {
1545+
"a": {
1546+
"items": {
1547+
"minimum": 0,
1548+
"type": "number"
1549+
},
1550+
"type": "array"
1551+
},
1552+
"attrs": {
1553+
"additionalProperties": true,
1554+
"type": "object"
1555+
},
1556+
"b": {
1557+
"items": {
1558+
"minimum": 0,
1559+
"type": "number"
1560+
},
1561+
"type": "array"
1562+
},
1563+
"type": {
1564+
"const": "CircuitImpedanceModel",
1565+
"default": "CircuitImpedanceModel",
1566+
"type": "string"
1567+
}
1568+
},
1569+
"required": [
1570+
"a",
1571+
"b"
1572+
],
1573+
"type": "object"
1574+
},
15421575
"ClipOperation": {
15431576
"additionalProperties": false,
15441577
"properties": {
@@ -6797,6 +6830,7 @@
67976830
"discriminator": {
67986831
"mapping": {
67996832
"AdmittanceNetwork": "#/$defs/AdmittanceNetwork",
6833+
"CircuitImpedanceModel": "#/$defs/CircuitImpedanceModel",
68006834
"RLCNetwork": "#/$defs/RLCNetwork"
68016835
},
68026836
"propertyName": "type"
@@ -6805,6 +6839,9 @@
68056839
{
68066840
"$ref": "#/$defs/AdmittanceNetwork"
68076841
},
6842+
{
6843+
"$ref": "#/$defs/CircuitImpedanceModel"
6844+
},
68086845
{
68096846
"$ref": "#/$defs/RLCNetwork"
68106847
}

schemas/ModeSimulation.json

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1741,6 +1741,39 @@
17411741
],
17421742
"type": "object"
17431743
},
1744+
"CircuitImpedanceModel": {
1745+
"additionalProperties": false,
1746+
"properties": {
1747+
"a": {
1748+
"items": {
1749+
"minimum": 0,
1750+
"type": "number"
1751+
},
1752+
"type": "array"
1753+
},
1754+
"attrs": {
1755+
"additionalProperties": true,
1756+
"type": "object"
1757+
},
1758+
"b": {
1759+
"items": {
1760+
"minimum": 0,
1761+
"type": "number"
1762+
},
1763+
"type": "array"
1764+
},
1765+
"type": {
1766+
"const": "CircuitImpedanceModel",
1767+
"default": "CircuitImpedanceModel",
1768+
"type": "string"
1769+
}
1770+
},
1771+
"required": [
1772+
"a",
1773+
"b"
1774+
],
1775+
"type": "object"
1776+
},
17441777
"ClipOperation": {
17451778
"additionalProperties": false,
17461779
"properties": {
@@ -6284,6 +6317,7 @@
62846317
"discriminator": {
62856318
"mapping": {
62866319
"AdmittanceNetwork": "#/$defs/AdmittanceNetwork",
6320+
"CircuitImpedanceModel": "#/$defs/CircuitImpedanceModel",
62876321
"RLCNetwork": "#/$defs/RLCNetwork"
62886322
},
62896323
"propertyName": "type"
@@ -6292,6 +6326,9 @@
62926326
{
62936327
"$ref": "#/$defs/AdmittanceNetwork"
62946328
},
6329+
{
6330+
"$ref": "#/$defs/CircuitImpedanceModel"
6331+
},
62956332
{
62966333
"$ref": "#/$defs/RLCNetwork"
62976334
}

schemas/Simulation.json

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2181,6 +2181,39 @@
21812181
],
21822182
"type": "object"
21832183
},
2184+
"CircuitImpedanceModel": {
2185+
"additionalProperties": false,
2186+
"properties": {
2187+
"a": {
2188+
"items": {
2189+
"minimum": 0,
2190+
"type": "number"
2191+
},
2192+
"type": "array"
2193+
},
2194+
"attrs": {
2195+
"additionalProperties": true,
2196+
"type": "object"
2197+
},
2198+
"b": {
2199+
"items": {
2200+
"minimum": 0,
2201+
"type": "number"
2202+
},
2203+
"type": "array"
2204+
},
2205+
"type": {
2206+
"const": "CircuitImpedanceModel",
2207+
"default": "CircuitImpedanceModel",
2208+
"type": "string"
2209+
}
2210+
},
2211+
"required": [
2212+
"a",
2213+
"b"
2214+
],
2215+
"type": "object"
2216+
},
21842217
"ClipOperation": {
21852218
"additionalProperties": false,
21862219
"properties": {
@@ -9145,6 +9178,7 @@
91459178
"discriminator": {
91469179
"mapping": {
91479180
"AdmittanceNetwork": "#/$defs/AdmittanceNetwork",
9181+
"CircuitImpedanceModel": "#/$defs/CircuitImpedanceModel",
91489182
"RLCNetwork": "#/$defs/RLCNetwork"
91499183
},
91509184
"propertyName": "type"
@@ -9153,6 +9187,9 @@
91539187
{
91549188
"$ref": "#/$defs/AdmittanceNetwork"
91559189
},
9190+
{
9191+
"$ref": "#/$defs/CircuitImpedanceModel"
9192+
},
91569193
{
91579194
"$ref": "#/$defs/RLCNetwork"
91589195
}

schemas/TerminalComponentModeler.json

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2181,6 +2181,39 @@
21812181
],
21822182
"type": "object"
21832183
},
2184+
"CircuitImpedanceModel": {
2185+
"additionalProperties": false,
2186+
"properties": {
2187+
"a": {
2188+
"items": {
2189+
"minimum": 0,
2190+
"type": "number"
2191+
},
2192+
"type": "array"
2193+
},
2194+
"attrs": {
2195+
"additionalProperties": true,
2196+
"type": "object"
2197+
},
2198+
"b": {
2199+
"items": {
2200+
"minimum": 0,
2201+
"type": "number"
2202+
},
2203+
"type": "array"
2204+
},
2205+
"type": {
2206+
"const": "CircuitImpedanceModel",
2207+
"default": "CircuitImpedanceModel",
2208+
"type": "string"
2209+
}
2210+
},
2211+
"required": [
2212+
"a",
2213+
"b"
2214+
],
2215+
"type": "object"
2216+
},
21842217
"ClipOperation": {
21852218
"additionalProperties": false,
21862219
"properties": {
@@ -9319,6 +9352,7 @@
93199352
"discriminator": {
93209353
"mapping": {
93219354
"AdmittanceNetwork": "#/$defs/AdmittanceNetwork",
9355+
"CircuitImpedanceModel": "#/$defs/CircuitImpedanceModel",
93229356
"RLCNetwork": "#/$defs/RLCNetwork"
93239357
},
93249358
"propertyName": "type"
@@ -9327,6 +9361,9 @@
93279361
{
93289362
"$ref": "#/$defs/AdmittanceNetwork"
93299363
},
9364+
{
9365+
"$ref": "#/$defs/CircuitImpedanceModel"
9366+
},
93309367
{
93319368
"$ref": "#/$defs/RLCNetwork"
93329369
}

0 commit comments

Comments
 (0)