You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: doc/smbjson.md
+10-26Lines changed: 10 additions & 26 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -51,7 +51,7 @@ The following entries are shared by several FDTD-JSON objects and have a common
51
51
52
52
+`type` followed by a string, indicates the type of JSON object that. Some examples of types are `planewave` for `sources` objects, and `polyline` for `elements`.
53
53
+`id` is a unique integer identifier for objects that belong to a list and which can be referenced by other objects. For instance, an element in the `elements` list must contain a `id` which can be referenced by a source in `sources` through its list of `elementIds`.
54
-
+`[name]` is an optional entry which is used to make the FDTD-JSON input human-readable, helping to identify inputs and outputs. Leading and trailing blank spaces are removed. Blank spaces are substituted by underscroes. The following characters are reserved and can't be used in a `name`: `@`.
54
+
+`[name]` is an optional entry which is used to make the FDTD-JSON input human-readable, helping to identify inputs and outputs. Leading and trailing blank spaces are removed. Blank spaces are substituted by underscores. The following characters are reserved and can't be used in a `name`: `@`.
55
55
56
56
### `<general>`
57
57
@@ -60,9 +60,9 @@ This object must always be present and contains general information regarding th
60
60
+`<timeStep>`: A real number indicating the time step used by the solver, in seconds.
61
61
+`<numberOfSteps>`: An integer for the number of steps which the solver will iterate.
62
62
63
-
Addtionally, it may contain the following optional entry:
63
+
Additionally, it may contain the following optional entry:
64
64
65
-
+`<mtlnProblem>` : A bool indicating whether the problem is a pure MTLN problem and will solved using only the MTLN solver. If it is not present, its default value is `false`
65
+
+`<mtlnProblem>` : A boolean indicating whether the problem is a pure MTLN problem and will solved using only the MTLN solver. If it is not present, its default value is `false`
66
66
+`<additionalArguments>` : A string with flags. Keep in mind that flags passed by console have higher priority.
67
67
68
68
**Example:**
@@ -78,7 +78,7 @@ Addtionally, it may contain the following optional entry:
78
78
### `[boundary]`
79
79
This specifies the boundaries which will be used to terminate the computational domain.
80
80
If `boundary` is not present it defaults to a `mur` absorbing condition in all bounds.
81
-
The entries within `boundary` are objects labelled with the place where they will be applied:
81
+
The entries within `boundary` are objects labeled with the place where they will be applied:
@@ -359,7 +359,7 @@ A `thinSlot` represents a gap between two conductive surfaces. Therefore it must
359
359
360
360
### `wire`
361
361
362
-
A `wire`, or *thin wire*, represents an electrically conducting wire-like structure with a radius much smaller than the surrounding cell sizes.
362
+
A `wire`, or *thin wire*, represents an electrically conducting wire-like structure with a radius much smaller than the surrounding cell sizes. Materials of type `wire` can only be defined if the compilation flag for MTLN was OFF, i.e. `SEMBA_FDTD_ENABLE_MTLN = OFF`. Otherwise, the program execution will fail at runtime.
363
363
These structures are solved by an algorithm similar to the one described in:
364
364
365
365
```
@@ -387,29 +387,14 @@ Materials of this type must contain:
387
387
}
388
388
```
389
389
390
-
A single wire might be surrounded by a dielectric material. In that case, the radius and the relative permittivity of the material are needed.
If the `dielectric` field is present but any of `radius` or `relativePermittivity` is absent, the parsing of the dielectric will fail.
405
390
406
391
### `shieldedMultiwire`
407
392
408
393
A `shieldedMultiwire`, models $N+1$ electrical wires inside a bundled. The voltages and currents on these wires are solved by a multiconductor transmission lines (MTLN) solver described in:
409
394
410
395
Paul, C. R. (2007). Analysis of multiconductor transmission lines. John Wiley & Sons.
411
396
412
-
`shieldedMultiwire` materials are assumed to be contained within a `wire` or another `shieldedMultiwire` which is the external domain and is used as voltage reference.
397
+
`shieldedMultiwire` materials are assumed to be contained within an `unshieldedMultiwire` or another `shieldedMultiwire` which is the external domain and is used as voltage reference. Materials of type `shieldedMultiwire` and `unshieldedMultiwre` can only be defined if the compilation flag for MTLN was ON, i.e. `SEMBA_FDTD_ENABLE_MTLN = ON`. Otherwise, the program execution will fail at runtime.
413
398
They must contain the following entries:
414
399
415
400
+`<inductancePerMeter>` and `<capacitancePerMeter>` which must be matrices with a size $N \times N$. If the number of wires is equal to $1$, this property must be a $1 \times 1$ matrix, e.g `[[1e-7]]`
@@ -449,7 +434,7 @@ They must contain the following entries:
449
434
450
435
A `unshieldedMultiwire`, models a bundle of $N$ electrical wires. The charges and currents on these wires are solved using the model described in:
451
436
452
-
Berenger, J. P. A Multiwire formalism for the FDTD Method. IEEE Transactions on Electromagnetic Compatability. August, 2000.
437
+
Berenger, J. P. A Multiwire formalism for the FDTD Method. IEEE Transactions on Electromagnetic Compatibility. August, 2000.
453
438
454
439
They must contain the following entries:
455
440
@@ -534,8 +519,7 @@ As with the rest of terminations, SPICE terminations have to be equivalents to 2
534
519
535
520
### `connector`
536
521
537
-
The `connector` represents the physical connection of a bundle to a structure. `connector` assigns properties to the initial or last segment of a `wire`, a `shieldedMultiwire` or an `unshieldedMultiwire`.
538
-
This `wire` can be either a single wire or the outermost conductor of a `cable` bundle. The `connector` can have the following properties:
522
+
The `connector` represents the physical connection of a bundle to a structure. `connector` assigns properties to the initial or last segment of a `wire`, a `shieldedMultiwire` or an `unshieldedMultiwire`. The `connector` can have the following properties:
539
523
540
524
+`[resistances]`, an array of real numbers which will be converted to resistances per unit length and will replace the resistancePerMeter of that segment.
541
525
+`[transferImpedancesPerMeter]`, an array of [transferImpedancePerMeter], as described in the [shieldedMultiwire](#shieldedMultiwire) section.
@@ -689,7 +673,7 @@ In this example `elementId` points to a volume element, therefore `direction` mu
689
673
}
690
674
```
691
675
692
-
One important aspect to keep in mind when working with `bulkCurrent` with `electric field type` is its natural offset. This arises from the fact that to measure the electric current it is necessary to calculate the closed path integral of the magnetic field, then, the electric current is defined on the **dual mesh** of the inserted grid—i.e., the mesh corresponding to the magnetic field. The **dual mesh** is constructed by placing a point at the center of each cell in the original (primal) mesh and connecting these points.
676
+
One important aspect to keep in mind when working with `bulkCurrent` with `electric field type` is its natural offset. This arises from the fact that to measure the electric current it is necessary to calculate the closed path integral of the magnetic field, then, the electric current is defined on the **dual mesh** of the inserted grid -- i.e., the mesh corresponding to the magnetic field. The **dual mesh** is constructed by placing a point at the center of each cell in the original (primal) mesh and connecting these points.
693
677
694
678
Because of this, the code internally shifts the `bulkCurrent` you define to align with the dual mesh, causing a **half-cell offset**. In the case of surfaces, the coordinates **perpendicular** to the current flowing through the surface experience a **negative offset**, as shown in the figure below:
695
679
@@ -719,7 +703,7 @@ A `line` probe computes the electric field line integral along a given `polyline
719
703
720
704
#### `farField`
721
705
722
-
Probes of type `farField` perform a near to far field transformation of the electric and magnetic vector fields and are typically located in the scattered field region which is defined by a total/scatterd field excitation, e.g. [a planewave](#planewave).
706
+
Probes of type `farField` perform a near to far field transformation of the electric and magnetic vector fields and are typically located in the scattered field region which is defined by a total/scattered field excitation, e.g. [a planewave](#planewave).
723
707
They must be defined with a single `cell` element which must contain a single `interval` defining a cuboid.
724
708
The direction of the radiated field $\hat{r}(\theta, \phi)$ is defined with `<theta>` and `<phi>`, which must contain `<initial>`, `<final>`, and `<step>`, expressed in degrees.
725
709
The `domain` of a `farField` probe can only be of type `frequency`.
0 commit comments