verification: activate the two shell benchmark cases (#106)

The Scordelis-Lo roof and the pinched cylinder had their published
references cited but no recipe, because mesh.block's 2D form is planar
and cannot build a curved patch. Both are now active: the mesh is
written node by node (mesh.node.add / mesh.element.add, the route
docs/verification.md allows), the same cylinder patch the solver's own
benchmarks.rs builds in code, with the quarter/eighth symmetry planes,
the rigid diaphragm and the published load.

- scordelis-lo-roof-shell: 16x16 flat quad4 (MITC4) shells, R = 25,
  t = 0.25, self-weight 90 per area; u_z at the free-edge mid-span
  -0.3024 within 2% (ours -0.29901009815961804, 1.12% low).
- pinched-cylinder: 32x32 flat quad4 shells, R = 300, t = 3, a quarter
  of the unit pinch; u under the load -1.8248e-5 within 2% (ours
  -1.803845342860719e-05, 1.15% low).

Each README carries the generator (so the recipe is reproducible), the
refinement study the tolerance reason cites, and how the reference was
cited before. pinched-hemisphere and mh-twisted-beam now say what they
actually wait for: a doubly curved or helical shell mesh written node
by node, not missing shell elements.
This commit is contained in:
Erkin Alp Güney authored and Irakli Kourtis committed 2026-10-17 07:25:44 -04:00
1 parent a0c7d6ce9d
commit 18be60672b
12 files changed
+2973 -18

No files matched your search

+1 -1
View File
@@ -3,7 +3,7 @@
"kind": "benchmark",
"source": "MacNeal and Harder, 'A proposed standard set of problems to test finite element accuracy', Finite Elements in Analysis and Design 1 (1985) 3–20, Fig. 6 (p. 8), Table 3 (p. 10)",
"status": "pending",
"requires": "shell elements (M8) or mapped blocks with helical edges",
"requires": "a helical shell mesh: mesh.block's 2D form is planar and takes z = 0, so the twisted strip must be written node by node (as scordelis-lo-roof-shell and pinched-cylinder are), or mapped blocks must gain helical edges",
"quantities": [
{
"id": "in_plane",
+113 -1
View File
@@ -1,3 +1,115 @@
# Pinched cylinder with rigid diaphragms
Radius 300, length 600, thickness 3, E = 3 × 10⁶, ν = 0.3, rigid end diaphragms, two opposite unit loads at mid-length.
Our model of the published problem: a cylinder of radius 300, length 600 and thickness 3,
E = 3 × 10⁶, ν = 0.3, capped by rigid diaphragms (u_y = u_z = rot_x = 0 at the ends) and pinched by
two opposite unit forces at mid-length, one on each of two diametrically opposite generators.
Reference: 1.8248 × 10⁻⁵ radial displacement under the load (Belytschko, Stolarski, Liu, Carpenter
and Ong, *Stress projection for membrane and shear locking in shell finite elements*, CMAME 51
(1985) 221–258, the shell obstacle course) — the value the case already cited.
The eighth model: x from the loaded section (x = 0, symmetry in x) to the diaphragm (x = 300), φ
from the loaded generator (φ = 0, symmetry in y) to the side (φ = 90°, symmetry in z), with
R sin φ = y and R cos φ = z on the mid-surface R = 300. A quarter of the unit force, −0.25 in z,
acts on the single loaded node (0, 0, 300) — the model the solver's own pinched-cylinder benchmark
builds in code.
## The mesh
`mesh.block`'s 2D form takes its four corners at z = 0, so it cannot mesh a patch on a cylindrical
surface (it can be curved in its own plane, but it is planar): the recipe writes the 1089 nodes and
1024 quad4 elements one by one with `mesh.node.add` and `mesh.element.add`, the route
[docs/verification.md](../../../docs/verification.md) allows ("nodes and elements written one
by one"). Node 1 + i + 33 j lies at
(300 i/32, 300 sin(90° j/32), 300 cos(90° j/32)); element 1 + i + 32 j is
[node(i, j), node(i + 1, j), node(i + 1, j + 1), node(i, j + 1)], counter-clockwise seen from
outside, so its normal points away from the axis — the same mesh the solver's own pinched-cylinder
benchmark builds in code
([crates/solver/tests/benchmarks.rs](../../../crates/solver/tests/benchmarks.rs)).
The recipe was generated with the same script as `scordelis-lo-roof-shell`
(`python3 cylinder_recipe.py pinched-cylinder 32`):
```python
import json, math
def pinched_cylinder(n):
label = lambda i, j: 1 + i + (n + 1) * j
commands = []
for j in range(n + 1):
for i in range(n + 1):
x, phi = 300.0 * i / n, (math.pi / 2) * j / n
commands.append({"command": "mesh.node.add",
"params": {"label": label(i, j),
"xyz": [x, 300.0 * math.sin(phi), 300.0 * math.cos(phi)]}})
for j in range(n):
for i in range(n):
nodes = [label(i, j), label(i + 1, j), label(i + 1, j + 1), label(i, j + 1)]
commands.append({"command": "mesh.element.add",
"params": {"label": 1 + i + n * j, "kind": "quad4", "nodes": nodes}})
return commands + [
{"command": "model.set.create", "params": {"name": "shell", "elements": list(range(1, n * n + 1))}},
{"command": "model.set.create", "params": {"name": "diaphragm", "nodes": [label(n, j) for j in range(n + 1)]}},
{"command": "model.set.create", "params": {"name": "middle", "nodes": [label(0, j) for j in range(n + 1)]}},
{"command": "model.set.create", "params": {"name": "top", "nodes": [label(i, 0) for i in range(n + 1)]}},
{"command": "model.set.create", "params": {"name": "side", "nodes": [label(i, n) for i in range(n + 1)]}},
{"command": "model.set.create", "params": {"name": "pinch", "nodes": [label(0, 0)]}},
{"command": "model.material.create", "params": {"name": "Mat", "elastic": {"type": "isotropic", "young": 3e6, "poisson": 0.3}}},
{"command": "model.section.create", "params": {"name": "shell", "set": "shell", "material": "Mat", "kind": {"type": "shell", "thickness": 3.0}}},
{"command": "model.boundary_condition.create", "params": {"name": "diaphragm", "type": "displacement", "target": {"set": "diaphragm"}, "values": [None, 0, 0, 0, None, None]}},
{"command": "model.boundary_condition.create", "params": {"name": "middle", "type": "symmetry", "target": {"set": "middle"}, "plane": "x"}},
{"command": "model.boundary_condition.create", "params": {"name": "top", "type": "symmetry", "target": {"set": "top"}, "plane": "y"}},
{"command": "model.boundary_condition.create", "params": {"name": "side", "type": "symmetry", "target": {"set": "side"}, "plane": "z"}},
{"command": "model.load.create", "params": {"name": "pinch", "type": "force", "target": {"set": "pinch"}, "vector": [0, 0, -0.25]}},
{"command": "model.step.create", "params": {"name": "Load", "procedure": {"type": "static"}, "boundary_conditions": ["diaphragm", "middle", "top", "side"], "loads": ["pinch"]}},
{"command": "solve.static", "params": {}, "id": "solve"},
]
print("[\n " + ",\n ".join(json.dumps(c) for c in pinched_cylinder(32)) + "\n]")
```
## A fixed-mesh benchmark, not a convergence study
The quantity is the deflection *under a point load*, and there a Reissner–Mindlin (MITC4) shell
carries an unbounded transverse shear force: the deflection under the load keeps growing with
refinement instead of converging. The published 1.8248 × 10⁻⁵ is a thin-shell value, and this case
compares against it on the conventional 32 × 32 eighth mesh — the mesh the solver's own
pinched-cylinder benchmark uses — not as a limit. The table shows what refinement actually does
(each row is the listing above with the `32` in its last line replaced by the row's divisions and
run through `cargo xtask oracle` as a scratch case):
| cells | u | vs reference |
|---|---|---|
| 8 × 8 | −1.3559 × 10⁻⁵ | −25.7% |
| 16 × 16 | −1.6942 × 10⁻⁵ | −7.2% |
| 24 × 24 | −1.7735 × 10⁻⁵ | −2.8% |
| 32 × 32 (this case) | −1.803845342860719 × 10⁻⁵ | −1.15% |
| 48 × 48 | −1.8275 × 10⁻⁵ | +0.15% |
| 64 × 64 | −1.8369 × 10⁻⁵ | +0.66% |
The sequence rises through the reference between 32 × 32 and 48 × 48 and keeps rising at the two
finer meshes, which is what a shear-deformable shell under a point load must do.
The solver's in-code benchmark of the same problem shows the same ascent on its 8 × 8, 16 × 16 and
32 × 32 eighth meshes (it gates 32 × 32 within 2%), so the command route and the in-code route
agree on the fixed-mesh comparison.
## Tolerance
2% covers the agreement with the thin-shell reference at the 32 × 32 eighth mesh (1.15% low), the
conventional mesh of the shell obstacle course and the one the solver's own pinched-cylinder
benchmark gates at 2%, so the command route and the in-code route are compared on equal terms. The
reference itself is quoted by Belytschko et al. to four figures (1.8248 × 10⁻⁵). Because the point
load makes the deflection mesh-dependent rather than convergent (above), this is a fixed-mesh
tolerance and not a convergence statement: the two finer meshes sit 0.15% and 0.66% above the
reference and stay inside it. The mesh is not marked `slow`: the case solves in about 0.15 s.
`fixture.json` is the accepted value at 32 × 32 (−1.803845342860719 × 10⁻⁵) with the runner's
default band: the mesh is written by the recipe, not generated from geometry, so it is bit-identical
on every platform and the result is frozen.
## Running it
```sh
cargo xtask oracle --case pinched-cylinder
cargo xtask oracle --bless pinched-cylinder # only after the case passes
```
+20 -4
View File
@@ -2,13 +2,29 @@
"title": "Pinched cylinder with rigid diaphragms",
"kind": "benchmark",
"source": "Belytschko, Stolarski, Liu, Carpenter and Ong, 'Stress projection for membrane and shear locking in shell finite elements', Computer Methods in Applied Mechanics and Engineering 51 (1985) 221–258 (the shell obstacle course); reference 1.8248 × 10⁻⁵ under the load",
"status": "pending",
"requires": "shell elements (M8)",
"quantities": [
{
"id": "u",
"quantity": "radial displacement under the load",
"value": -1.8248e-05
"quantity": "radial displacement under the load, mid-surface",
"measure": {
"command": "solve.probe",
"params": {
"step": "Load",
"at": [
[
0,
0,
300
]
]
},
"pointer": "/nodes/0/displacement/2"
},
"value": -1.8248e-05,
"tolerance": {
"relative": 0.02
},
"reason": "a fixed-mesh comparison at the conventional 32 × 32 eighth mesh, the mesh the solver's own in-code benchmark uses: the reference is the thin-shell value Belytschko et al. quote to four figures (1.8248 × 10⁻⁵), while the deflection under a point load has no mesh-converged limit in a Reissner–Mindlin (MITC4) shell, whose transverse shear force is unbounded at the load, so the value keeps rising with refinement (8 × 8, 16 × 16, 24 × 24, 32 × 32, 48 × 48 and 64 × 64 give 1.3559, 1.6942, 1.7735, 1.8038, 1.8275 and 1.8369 × 10⁻⁵, crossing the reference between 32 × 32 and 48 × 48 and staying above it); 2% is the margin the in-code benchmark gates 32 × 32 with, applied here to the same mesh (crates/solver/tests/benchmarks.rs, README)"
}
]
}
@@ -0,0 +1,9 @@
{
"note": "FieldCraft's accepted results for this case, written by `cargo xtask oracle --bless`. A result outside its band fails CI.",
"values": {
"u": {
"band": 1.8247999999999998e-14,
"value": -0.00001803845342860719
}
}
}
File diff suppressed because it is too large. Load diff
@@ -3,7 +3,7 @@
"kind": "benchmark",
"source": "MacNeal and Harder, 'A proposed standard set of problems to test finite element accuracy', Finite Elements in Analysis and Design 1 (1985) 3–20, Fig. 9 (p. 9), Table 5(b) (p. 11): 0.0940 (lower bound 0.0924 from their [7])",
"status": "pending",
"requires": "shell elements (M8), or mapped blocks that follow doubly curved faces",
"requires": "a doubly curved shell mesh: mesh.block's 2D form is planar and takes z = 0, so the quarter hemisphere with its 18° polar hole must be written node by node (as scordelis-lo-roof-shell and pinched-cylinder are), or a new patch command must mesh a doubly curved face",
"quantities": [
{
"id": "u",
+103 -1
View File
@@ -1,3 +1,105 @@
# Scordelis–Lo roof with shell elements
The roof of `scordelis-lo-roof-solid` meshed with shells.
Our model of the published problem: a cylindrical roof of radius 25, length 50 and thickness 0.25,
spanning ±40°, E = 4.32 × 10⁸, ν = 0, carrying its own weight (90 per area, a body force 90/t = 360
per volume), supported by rigid diaphragms at its curved ends and free along its straight edges.
This is `scordelis-lo-roof-solid` with flat quad4 (MITC4) shells in place of the hex20 layer, so the
same reference is checked by two element routes; the reference value, 0.3024 for the vertical
deflection at the middle of a free edge, is the one the case already cited (MacNeal and Harder,
*A proposed standard set of problems to test finite element accuracy*, FEAD 1 (1985) 3–20, Fig. 8,
Table 5(a); Belytschko et al., CMAME 51 (1985) 221–258).
The quarter model: x from the mid-span (x = 0, symmetry in x) to the diaphragm (x = 25,
u_y = u_z = rot_x = 0), φ from the crown (φ = 0, symmetry in y) to the free edge at 40°, with
R sin φ = y and R cos φ = z on the mid-surface R = 25. The measured node is the free-edge mid-span
node (0, 16.0697, 19.1511), the node the solid case measures too.
## The mesh
`mesh.block`'s 2D form takes its four corners at z = 0, so it cannot mesh a patch on a cylindrical
surface (it can be curved in its own plane, but it is planar): the recipe writes the 289 nodes and
256 quad4 elements one by one with `mesh.node.add` and `mesh.element.add`, the route
[docs/verification.md](../../../docs/verification.md) allows ("nodes and elements written one
by one"). Node 1 + i + 17 j lies at
(25 i/16, 25 sin(40° j/16), 25 cos(40° j/16)); element 1 + i + 16 j is
[node(i, j), node(i + 1, j), node(i + 1, j + 1), node(i, j + 1)], counter-clockwise seen from
outside, so its normal points away from the axis — the same mesh the solver's own Scordelis–Lo
benchmark builds in code
([crates/solver/tests/benchmarks.rs](../../../crates/solver/tests/benchmarks.rs)), so the command
route and the in-code route are comparable.
The recipe was generated with this script (`python3 cylinder_recipe.py scordelis-lo 16`):
```python
import json, math
def scordelis_lo(n):
label = lambda i, j: 1 + i + (n + 1) * j
commands = []
for j in range(n + 1):
for i in range(n + 1):
x, phi = 25.0 * i / n, math.radians(40.0) * j / n
commands.append({"command": "mesh.node.add",
"params": {"label": label(i, j),
"xyz": [x, 25.0 * math.sin(phi), 25.0 * math.cos(phi)]}})
for j in range(n):
for i in range(n):
nodes = [label(i, j), label(i + 1, j), label(i + 1, j + 1), label(i, j + 1)]
commands.append({"command": "mesh.element.add",
"params": {"label": 1 + i + n * j, "kind": "quad4", "nodes": nodes}})
return commands + [
{"command": "model.set.create", "params": {"name": "shell", "elements": list(range(1, n * n + 1))}},
{"command": "model.set.create", "params": {"name": "diaphragm", "nodes": [label(n, j) for j in range(n + 1)]}},
{"command": "model.set.create", "params": {"name": "midspan", "nodes": [label(0, j) for j in range(n + 1)]}},
{"command": "model.set.create", "params": {"name": "crown", "nodes": [label(i, 0) for i in range(n + 1)]}},
{"command": "model.material.create", "params": {"name": "Mat", "elastic": {"type": "isotropic", "young": 4.32e8, "poisson": 0.0}}},
{"command": "model.section.create", "params": {"name": "shell", "set": "shell", "material": "Mat", "kind": {"type": "shell", "thickness": 0.25}}},
{"command": "model.boundary_condition.create", "params": {"name": "diaphragm", "type": "displacement", "target": {"set": "diaphragm"}, "values": [None, 0, 0, 0, None, None]}},
{"command": "model.boundary_condition.create", "params": {"name": "midspan", "type": "symmetry", "target": {"set": "midspan"}, "plane": "x"}},
{"command": "model.boundary_condition.create", "params": {"name": "crown", "type": "symmetry", "target": {"set": "crown"}, "plane": "y"}},
{"command": "model.load.create", "params": {"name": "weight", "type": "body_force", "set": "shell", "vector": [0, 0, -360.0]}},
{"command": "model.step.create", "params": {"name": "Load", "procedure": {"type": "static"}, "boundary_conditions": ["diaphragm", "midspan", "crown"], "loads": ["weight"]}},
{"command": "solve.static", "params": {}, "id": "solve"},
]
print("[\n " + ",\n ".join(json.dumps(c) for c in scordelis_lo(16)) + "\n]")
```
## Refinement
The flat MITC4 shell approaches the reference from below and keeps closing the gap, so the mesh
error is inside the tolerance and shrinking. Every row is the listing above with the `16` in its
last line replaced by the row's divisions and run through `cargo xtask oracle` as a scratch case;
the case mesh is 16 × 16:
| cells | u_z | error |
|---|---|---|
| 4 × 4 | −0.28459 | −5.89% |
| 8 × 8 | −0.29401 | −2.77% |
| 16 × 16 (this case) | −0.29901009815961804 | −1.12% |
| 32 × 32 | −0.30060 | −0.60% |
| 64 × 64 | −0.30118 | −0.40% |
| 128 × 128 | −0.30143 | −0.32% |
The solid case of the same roof reports −0.3014 on its 16 × 16 × 1 hex20 mesh, i.e. 0.33% low: two
element formulations, two meshes, one reference.
## Tolerance
2%, the grading the sibling solid case already records for this problem from MacNeal and Harder (an
element is graded within 2% of the theoretical value on a prescribed coarse mesh, and their
normalised target is 0.3024). 16 × 16 is our choice of mesh — the one the solver's in-code gate test
uses — and it is 1.12% low; its own next refinement (32 × 32) moves the value by 0.53% of the
reference, a quarter of the tolerance, on a mesh error that falls monotonically. The tolerance is
the source's grading, not a cover for the discretisation error.
`fixture.json` is the accepted value at 16 × 16 (−0.29901009815961804) with the runner's default
band: the mesh is written by the recipe, not generated from geometry, so it is bit-identical on
every platform and the result is frozen.
## Running it
```sh
cargo xtask oracle --case scordelis-lo-roof-shell
cargo xtask oracle --bless scordelis-lo-roof-shell # only after the case passes
```
@@ -2,13 +2,29 @@
"title": "Scordelis–Lo roof with shell elements",
"kind": "benchmark",
"source": "MacNeal and Harder, 'A proposed standard set of problems to test finite element accuracy', Finite Elements in Analysis and Design 1 (1985) 3–20, Fig. 8 (p. 8), Table 5(a) (p. 11); Belytschko, Stolarski, Liu, Carpenter and Ong, 'Stress projection for membrane and shear locking in shell finite elements', Computer Methods in Applied Mechanics and Engineering 51 (1985) 221–258 (the shell obstacle course)",
"status": "pending",
"requires": "shell elements (MITC4, M8)",
"quantities": [
{
"id": "uz",
"quantity": "vertical displacement at the midpoint of the free edge",
"value": -0.3024
"quantity": "vertical displacement at the midpoint of the free edge, mid-surface",
"measure": {
"command": "solve.probe",
"params": {
"step": "Load",
"at": [
[
0,
16.069690242163,
19.151111077974
]
]
},
"pointer": "/nodes/0/displacement/2"
},
"value": -0.3024,
"tolerance": {
"relative": 0.02
},
"reason": "MacNeal and Harder grade a thin-shell element within 2% of the theoretical value on a prescribed coarse mesh, the grading the sibling case scordelis-lo-roof-solid records (p. 14); this case uses 16 × 16, the mesh the solver's in-code gate test uses, and the flat MITC4 shell converges from below to the reference: 4 × 4, 8 × 8, 16 × 16, 32 × 32, 64 × 64 and 128 × 128 give 0.28459, 0.29401, 0.29901, 0.30060, 0.30118 and 0.30143, so 16 × 16 is 1.12% low and the mesh error shrinks monotonically inside the tolerance (README)"
}
]
}
@@ -0,0 +1,9 @@
{
"note": "FieldCraft's accepted results for this case, written by `cargo xtask oracle --bless`. A result outside its band fails CI.",
"values": {
"uz": {
"band": 3.024e-10,
"value": -0.29901009815961804
}
}
}
@@ -0,0 +1,559 @@
[
{"command": "mesh.node.add", "params": {"label": 1, "xyz": [0.0, 0.0, 25.0]}},
{"command": "mesh.node.add", "params": {"label": 2, "xyz": [1.5625, 0.0, 25.0]}},
{"command": "mesh.node.add", "params": {"label": 3, "xyz": [3.125, 0.0, 25.0]}},
{"command": "mesh.node.add", "params": {"label": 4, "xyz": [4.6875, 0.0, 25.0]}},
{"command": "mesh.node.add", "params": {"label": 5, "xyz": [6.25, 0.0, 25.0]}},
{"command": "mesh.node.add", "params": {"label": 6, "xyz": [7.8125, 0.0, 25.0]}},
{"command": "mesh.node.add", "params": {"label": 7, "xyz": [9.375, 0.0, 25.0]}},
{"command": "mesh.node.add", "params": {"label": 8, "xyz": [10.9375, 0.0, 25.0]}},
{"command": "mesh.node.add", "params": {"label": 9, "xyz": [12.5, 0.0, 25.0]}},
{"command": "mesh.node.add", "params": {"label": 10, "xyz": [14.0625, 0.0, 25.0]}},
{"command": "mesh.node.add", "params": {"label": 11, "xyz": [15.625, 0.0, 25.0]}},
{"command": "mesh.node.add", "params": {"label": 12, "xyz": [17.1875, 0.0, 25.0]}},
{"command": "mesh.node.add", "params": {"label": 13, "xyz": [18.75, 0.0, 25.0]}},
{"command": "mesh.node.add", "params": {"label": 14, "xyz": [20.3125, 0.0, 25.0]}},
{"command": "mesh.node.add", "params": {"label": 15, "xyz": [21.875, 0.0, 25.0]}},
{"command": "mesh.node.add", "params": {"label": 16, "xyz": [23.4375, 0.0, 25.0]}},
{"command": "mesh.node.add", "params": {"label": 17, "xyz": [25.0, 0.0, 25.0]}},
{"command": "mesh.node.add", "params": {"label": 18, "xyz": [0.0, 1.0904846841334, 24.976205539546445]}},
{"command": "mesh.node.add", "params": {"label": 19, "xyz": [1.5625, 1.0904846841334, 24.976205539546445]}},
{"command": "mesh.node.add", "params": {"label": 20, "xyz": [3.125, 1.0904846841334, 24.976205539546445]}},
{"command": "mesh.node.add", "params": {"label": 21, "xyz": [4.6875, 1.0904846841334, 24.976205539546445]}},
{"command": "mesh.node.add", "params": {"label": 22, "xyz": [6.25, 1.0904846841334, 24.976205539546445]}},
{"command": "mesh.node.add", "params": {"label": 23, "xyz": [7.8125, 1.0904846841334, 24.976205539546445]}},
{"command": "mesh.node.add", "params": {"label": 24, "xyz": [9.375, 1.0904846841334, 24.976205539546445]}},
{"command": "mesh.node.add", "params": {"label": 25, "xyz": [10.9375, 1.0904846841334, 24.976205539546445]}},
{"command": "mesh.node.add", "params": {"label": 26, "xyz": [12.5, 1.0904846841334, 24.976205539546445]}},
{"command": "mesh.node.add", "params": {"label": 27, "xyz": [14.0625, 1.0904846841334, 24.976205539546445]}},
{"command": "mesh.node.add", "params": {"label": 28, "xyz": [15.625, 1.0904846841334, 24.976205539546445]}},
{"command": "mesh.node.add", "params": {"label": 29, "xyz": [17.1875, 1.0904846841334, 24.976205539546445]}},
{"command": "mesh.node.add", "params": {"label": 30, "xyz": [18.75, 1.0904846841334, 24.976205539546445]}},
{"command": "mesh.node.add", "params": {"label": 31, "xyz": [20.3125, 1.0904846841334, 24.976205539546445]}},
{"command": "mesh.node.add", "params": {"label": 32, "xyz": [21.875, 1.0904846841334, 24.976205539546445]}},
{"command": "mesh.node.add", "params": {"label": 33, "xyz": [23.4375, 1.0904846841334, 24.976205539546445]}},
{"command": "mesh.node.add", "params": {"label": 34, "xyz": [25.0, 1.0904846841334, 24.976205539546445]}},
{"command": "mesh.node.add", "params": {"label": 35, "xyz": [0.0, 2.1788935686914543, 24.90486745229364]}},
{"command": "mesh.node.add", "params": {"label": 36, "xyz": [1.5625, 2.1788935686914543, 24.90486745229364]}},
{"command": "mesh.node.add", "params": {"label": 37, "xyz": [3.125, 2.1788935686914543, 24.90486745229364]}},
{"command": "mesh.node.add", "params": {"label": 38, "xyz": [4.6875, 2.1788935686914543, 24.90486745229364]}},
{"command": "mesh.node.add", "params": {"label": 39, "xyz": [6.25, 2.1788935686914543, 24.90486745229364]}},
{"command": "mesh.node.add", "params": {"label": 40, "xyz": [7.8125, 2.1788935686914543, 24.90486745229364]}},
{"command": "mesh.node.add", "params": {"label": 41, "xyz": [9.375, 2.1788935686914543, 24.90486745229364]}},
{"command": "mesh.node.add", "params": {"label": 42, "xyz": [10.9375, 2.1788935686914543, 24.90486745229364]}},
{"command": "mesh.node.add", "params": {"label": 43, "xyz": [12.5, 2.1788935686914543, 24.90486745229364]}},
{"command": "mesh.node.add", "params": {"label": 44, "xyz": [14.0625, 2.1788935686914543, 24.90486745229364]}},
{"command": "mesh.node.add", "params": {"label": 45, "xyz": [15.625, 2.1788935686914543, 24.90486745229364]}},
{"command": "mesh.node.add", "params": {"label": 46, "xyz": [17.1875, 2.1788935686914543, 24.90486745229364]}},
{"command": "mesh.node.add", "params": {"label": 47, "xyz": [18.75, 2.1788935686914543, 24.90486745229364]}},
{"command": "mesh.node.add", "params": {"label": 48, "xyz": [20.3125, 2.1788935686914543, 24.90486745229364]}},
{"command": "mesh.node.add", "params": {"label": 49, "xyz": [21.875, 2.1788935686914543, 24.90486745229364]}},
{"command": "mesh.node.add", "params": {"label": 50, "xyz": [23.4375, 2.1788935686914543, 24.90486745229364]}},
{"command": "mesh.node.add", "params": {"label": 51, "xyz": [25.0, 2.1788935686914543, 24.90486745229364]}},
{"command": "mesh.node.add", "params": {"label": 52, "xyz": [0.0, 3.2631548055012893, 24.78612153434526]}},
{"command": "mesh.node.add", "params": {"label": 53, "xyz": [1.5625, 3.2631548055012893, 24.78612153434526]}},
{"command": "mesh.node.add", "params": {"label": 54, "xyz": [3.125, 3.2631548055012893, 24.78612153434526]}},
{"command": "mesh.node.add", "params": {"label": 55, "xyz": [4.6875, 3.2631548055012893, 24.78612153434526]}},
{"command": "mesh.node.add", "params": {"label": 56, "xyz": [6.25, 3.2631548055012893, 24.78612153434526]}},
{"command": "mesh.node.add", "params": {"label": 57, "xyz": [7.8125, 3.2631548055012893, 24.78612153434526]}},
{"command": "mesh.node.add", "params": {"label": 58, "xyz": [9.375, 3.2631548055012893, 24.78612153434526]}},
{"command": "mesh.node.add", "params": {"label": 59, "xyz": [10.9375, 3.2631548055012893, 24.78612153434526]}},
{"command": "mesh.node.add", "params": {"label": 60, "xyz": [12.5, 3.2631548055012893, 24.78612153434526]}},
{"command": "mesh.node.add", "params": {"label": 61, "xyz": [14.0625, 3.2631548055012893, 24.78612153434526]}},
{"command": "mesh.node.add", "params": {"label": 62, "xyz": [15.625, 3.2631548055012893, 24.78612153434526]}},
{"command": "mesh.node.add", "params": {"label": 63, "xyz": [17.1875, 3.2631548055012893, 24.78612153434526]}},
{"command": "mesh.node.add", "params": {"label": 64, "xyz": [18.75, 3.2631548055012893, 24.78612153434526]}},
{"command": "mesh.node.add", "params": {"label": 65, "xyz": [20.3125, 3.2631548055012893, 24.78612153434526]}},
{"command": "mesh.node.add", "params": {"label": 66, "xyz": [21.875, 3.2631548055012893, 24.78612153434526]}},
{"command": "mesh.node.add", "params": {"label": 67, "xyz": [23.4375, 3.2631548055012893, 24.78612153434526]}},
{"command": "mesh.node.add", "params": {"label": 68, "xyz": [25.0, 3.2631548055012893, 24.78612153434526]}},
{"command": "mesh.node.add", "params": {"label": 69, "xyz": [0.0, 4.341204441673258, 24.6201938253052]}},
{"command": "mesh.node.add", "params": {"label": 70, "xyz": [1.5625, 4.341204441673258, 24.6201938253052]}},
{"command": "mesh.node.add", "params": {"label": 71, "xyz": [3.125, 4.341204441673258, 24.6201938253052]}},
{"command": "mesh.node.add", "params": {"label": 72, "xyz": [4.6875, 4.341204441673258, 24.6201938253052]}},
{"command": "mesh.node.add", "params": {"label": 73, "xyz": [6.25, 4.341204441673258, 24.6201938253052]}},
{"command": "mesh.node.add", "params": {"label": 74, "xyz": [7.8125, 4.341204441673258, 24.6201938253052]}},
{"command": "mesh.node.add", "params": {"label": 75, "xyz": [9.375, 4.341204441673258, 24.6201938253052]}},
{"command": "mesh.node.add", "params": {"label": 76, "xyz": [10.9375, 4.341204441673258, 24.6201938253052]}},
{"command": "mesh.node.add", "params": {"label": 77, "xyz": [12.5, 4.341204441673258, 24.6201938253052]}},
{"command": "mesh.node.add", "params": {"label": 78, "xyz": [14.0625, 4.341204441673258, 24.6201938253052]}},
{"command": "mesh.node.add", "params": {"label": 79, "xyz": [15.625, 4.341204441673258, 24.6201938253052]}},
{"command": "mesh.node.add", "params": {"label": 80, "xyz": [17.1875, 4.341204441673258, 24.6201938253052]}},
{"command": "mesh.node.add", "params": {"label": 81, "xyz": [18.75, 4.341204441673258, 24.6201938253052]}},
{"command": "mesh.node.add", "params": {"label": 82, "xyz": [20.3125, 4.341204441673258, 24.6201938253052]}},
{"command": "mesh.node.add", "params": {"label": 83, "xyz": [21.875, 4.341204441673258, 24.6201938253052]}},
{"command": "mesh.node.add", "params": {"label": 84, "xyz": [23.4375, 4.341204441673258, 24.6201938253052]}},
{"command": "mesh.node.add", "params": {"label": 85, "xyz": [25.0, 4.341204441673258, 24.6201938253052]}},
{"command": "mesh.node.add", "params": {"label": 86, "xyz": [0.0, 5.410990348452572, 24.407400177998333]}},
{"command": "mesh.node.add", "params": {"label": 87, "xyz": [1.5625, 5.410990348452572, 24.407400177998333]}},
{"command": "mesh.node.add", "params": {"label": 88, "xyz": [3.125, 5.410990348452572, 24.407400177998333]}},
{"command": "mesh.node.add", "params": {"label": 89, "xyz": [4.6875, 5.410990348452572, 24.407400177998333]}},
{"command": "mesh.node.add", "params": {"label": 90, "xyz": [6.25, 5.410990348452572, 24.407400177998333]}},
{"command": "mesh.node.add", "params": {"label": 91, "xyz": [7.8125, 5.410990348452572, 24.407400177998333]}},
{"command": "mesh.node.add", "params": {"label": 92, "xyz": [9.375, 5.410990348452572, 24.407400177998333]}},
{"command": "mesh.node.add", "params": {"label": 93, "xyz": [10.9375, 5.410990348452572, 24.407400177998333]}},
{"command": "mesh.node.add", "params": {"label": 94, "xyz": [12.5, 5.410990348452572, 24.407400177998333]}},
{"command": "mesh.node.add", "params": {"label": 95, "xyz": [14.0625, 5.410990348452572, 24.407400177998333]}},
{"command": "mesh.node.add", "params": {"label": 96, "xyz": [15.625, 5.410990348452572, 24.407400177998333]}},
{"command": "mesh.node.add", "params": {"label": 97, "xyz": [17.1875, 5.410990348452572, 24.407400177998333]}},
{"command": "mesh.node.add", "params": {"label": 98, "xyz": [18.75, 5.410990348452572, 24.407400177998333]}},
{"command": "mesh.node.add", "params": {"label": 99, "xyz": [20.3125, 5.410990348452572, 24.407400177998333]}},
{"command": "mesh.node.add", "params": {"label": 100, "xyz": [21.875, 5.410990348452572, 24.407400177998333]}},
{"command": "mesh.node.add", "params": {"label": 101, "xyz": [23.4375, 5.410990348452572, 24.407400177998333]}},
{"command": "mesh.node.add", "params": {"label": 102, "xyz": [25.0, 5.410990348452572, 24.407400177998333]}},
{"command": "mesh.node.add", "params": {"label": 103, "xyz": [0.0, 6.4704761275630185, 24.148145657226706]}},
{"command": "mesh.node.add", "params": {"label": 104, "xyz": [1.5625, 6.4704761275630185, 24.148145657226706]}},
{"command": "mesh.node.add", "params": {"label": 105, "xyz": [3.125, 6.4704761275630185, 24.148145657226706]}},
{"command": "mesh.node.add", "params": {"label": 106, "xyz": [4.6875, 6.4704761275630185, 24.148145657226706]}},
{"command": "mesh.node.add", "params": {"label": 107, "xyz": [6.25, 6.4704761275630185, 24.148145657226706]}},
{"command": "mesh.node.add", "params": {"label": 108, "xyz": [7.8125, 6.4704761275630185, 24.148145657226706]}},
{"command": "mesh.node.add", "params": {"label": 109, "xyz": [9.375, 6.4704761275630185, 24.148145657226706]}},
{"command": "mesh.node.add", "params": {"label": 110, "xyz": [10.9375, 6.4704761275630185, 24.148145657226706]}},
{"command": "mesh.node.add", "params": {"label": 111, "xyz": [12.5, 6.4704761275630185, 24.148145657226706]}},
{"command": "mesh.node.add", "params": {"label": 112, "xyz": [14.0625, 6.4704761275630185, 24.148145657226706]}},
{"command": "mesh.node.add", "params": {"label": 113, "xyz": [15.625, 6.4704761275630185, 24.148145657226706]}},
{"command": "mesh.node.add", "params": {"label": 114, "xyz": [17.1875, 6.4704761275630185, 24.148145657226706]}},
{"command": "mesh.node.add", "params": {"label": 115, "xyz": [18.75, 6.4704761275630185, 24.148145657226706]}},
{"command": "mesh.node.add", "params": {"label": 116, "xyz": [20.3125, 6.4704761275630185, 24.148145657226706]}},
{"command": "mesh.node.add", "params": {"label": 117, "xyz": [21.875, 6.4704761275630185, 24.148145657226706]}},
{"command": "mesh.node.add", "params": {"label": 118, "xyz": [23.4375, 6.4704761275630185, 24.148145657226706]}},
{"command": "mesh.node.add", "params": {"label": 119, "xyz": [25.0, 6.4704761275630185, 24.148145657226706]}},
{"command": "mesh.node.add", "params": {"label": 120, "xyz": [0.0, 7.517644987606828, 23.842923768705674]}},
{"command": "mesh.node.add", "params": {"label": 121, "xyz": [1.5625, 7.517644987606828, 23.842923768705674]}},
{"command": "mesh.node.add", "params": {"label": 122, "xyz": [3.125, 7.517644987606828, 23.842923768705674]}},
{"command": "mesh.node.add", "params": {"label": 123, "xyz": [4.6875, 7.517644987606828, 23.842923768705674]}},
{"command": "mesh.node.add", "params": {"label": 124, "xyz": [6.25, 7.517644987606828, 23.842923768705674]}},
{"command": "mesh.node.add", "params": {"label": 125, "xyz": [7.8125, 7.517644987606828, 23.842923768705674]}},
{"command": "mesh.node.add", "params": {"label": 126, "xyz": [9.375, 7.517644987606828, 23.842923768705674]}},
{"command": "mesh.node.add", "params": {"label": 127, "xyz": [10.9375, 7.517644987606828, 23.842923768705674]}},
{"command": "mesh.node.add", "params": {"label": 128, "xyz": [12.5, 7.517644987606828, 23.842923768705674]}},
{"command": "mesh.node.add", "params": {"label": 129, "xyz": [14.0625, 7.517644987606828, 23.842923768705674]}},
{"command": "mesh.node.add", "params": {"label": 130, "xyz": [15.625, 7.517644987606828, 23.842923768705674]}},
{"command": "mesh.node.add", "params": {"label": 131, "xyz": [17.1875, 7.517644987606828, 23.842923768705674]}},
{"command": "mesh.node.add", "params": {"label": 132, "xyz": [18.75, 7.517644987606828, 23.842923768705674]}},
{"command": "mesh.node.add", "params": {"label": 133, "xyz": [20.3125, 7.517644987606828, 23.842923768705674]}},
{"command": "mesh.node.add", "params": {"label": 134, "xyz": [21.875, 7.517644987606828, 23.842923768705674]}},
{"command": "mesh.node.add", "params": {"label": 135, "xyz": [23.4375, 7.517644987606828, 23.842923768705674]}},
{"command": "mesh.node.add", "params": {"label": 136, "xyz": [25.0, 7.517644987606828, 23.842923768705674]}},
{"command": "mesh.node.add", "params": {"label": 137, "xyz": [0.0, 8.550503583141717, 23.49231551964771]}},
{"command": "mesh.node.add", "params": {"label": 138, "xyz": [1.5625, 8.550503583141717, 23.49231551964771]}},
{"command": "mesh.node.add", "params": {"label": 139, "xyz": [3.125, 8.550503583141717, 23.49231551964771]}},
{"command": "mesh.node.add", "params": {"label": 140, "xyz": [4.6875, 8.550503583141717, 23.49231551964771]}},
{"command": "mesh.node.add", "params": {"label": 141, "xyz": [6.25, 8.550503583141717, 23.49231551964771]}},
{"command": "mesh.node.add", "params": {"label": 142, "xyz": [7.8125, 8.550503583141717, 23.49231551964771]}},
{"command": "mesh.node.add", "params": {"label": 143, "xyz": [9.375, 8.550503583141717, 23.49231551964771]}},
{"command": "mesh.node.add", "params": {"label": 144, "xyz": [10.9375, 8.550503583141717, 23.49231551964771]}},
{"command": "mesh.node.add", "params": {"label": 145, "xyz": [12.5, 8.550503583141717, 23.49231551964771]}},
{"command": "mesh.node.add", "params": {"label": 146, "xyz": [14.0625, 8.550503583141717, 23.49231551964771]}},
{"command": "mesh.node.add", "params": {"label": 147, "xyz": [15.625, 8.550503583141717, 23.49231551964771]}},
{"command": "mesh.node.add", "params": {"label": 148, "xyz": [17.1875, 8.550503583141717, 23.49231551964771]}},
{"command": "mesh.node.add", "params": {"label": 149, "xyz": [18.75, 8.550503583141717, 23.49231551964771]}},
{"command": "mesh.node.add", "params": {"label": 150, "xyz": [20.3125, 8.550503583141717, 23.49231551964771]}},
{"command": "mesh.node.add", "params": {"label": 151, "xyz": [21.875, 8.550503583141717, 23.49231551964771]}},
{"command": "mesh.node.add", "params": {"label": 152, "xyz": [23.4375, 8.550503583141717, 23.49231551964771]}},
{"command": "mesh.node.add", "params": {"label": 153, "xyz": [25.0, 8.550503583141717, 23.49231551964771]}},
{"command": "mesh.node.add", "params": {"label": 154, "xyz": [0.0, 9.567085809127244, 23.09698831278217]}},
{"command": "mesh.node.add", "params": {"label": 155, "xyz": [1.5625, 9.567085809127244, 23.09698831278217]}},
{"command": "mesh.node.add", "params": {"label": 156, "xyz": [3.125, 9.567085809127244, 23.09698831278217]}},
{"command": "mesh.node.add", "params": {"label": 157, "xyz": [4.6875, 9.567085809127244, 23.09698831278217]}},
{"command": "mesh.node.add", "params": {"label": 158, "xyz": [6.25, 9.567085809127244, 23.09698831278217]}},
{"command": "mesh.node.add", "params": {"label": 159, "xyz": [7.8125, 9.567085809127244, 23.09698831278217]}},
{"command": "mesh.node.add", "params": {"label": 160, "xyz": [9.375, 9.567085809127244, 23.09698831278217]}},
{"command": "mesh.node.add", "params": {"label": 161, "xyz": [10.9375, 9.567085809127244, 23.09698831278217]}},
{"command": "mesh.node.add", "params": {"label": 162, "xyz": [12.5, 9.567085809127244, 23.09698831278217]}},
{"command": "mesh.node.add", "params": {"label": 163, "xyz": [14.0625, 9.567085809127244, 23.09698831278217]}},
{"command": "mesh.node.add", "params": {"label": 164, "xyz": [15.625, 9.567085809127244, 23.09698831278217]}},
{"command": "mesh.node.add", "params": {"label": 165, "xyz": [17.1875, 9.567085809127244, 23.09698831278217]}},
{"command": "mesh.node.add", "params": {"label": 166, "xyz": [18.75, 9.567085809127244, 23.09698831278217]}},
{"command": "mesh.node.add", "params": {"label": 167, "xyz": [20.3125, 9.567085809127244, 23.09698831278217]}},
{"command": "mesh.node.add", "params": {"label": 168, "xyz": [21.875, 9.567085809127244, 23.09698831278217]}},
{"command": "mesh.node.add", "params": {"label": 169, "xyz": [23.4375, 9.567085809127244, 23.09698831278217]}},
{"command": "mesh.node.add", "params": {"label": 170, "xyz": [25.0, 9.567085809127244, 23.09698831278217]}},
{"command": "mesh.node.add", "params": {"label": 171, "xyz": [0.0, 10.565456543517486, 22.657694675916247]}},
{"command": "mesh.node.add", "params": {"label": 172, "xyz": [1.5625, 10.565456543517486, 22.657694675916247]}},
{"command": "mesh.node.add", "params": {"label": 173, "xyz": [3.125, 10.565456543517486, 22.657694675916247]}},
{"command": "mesh.node.add", "params": {"label": 174, "xyz": [4.6875, 10.565456543517486, 22.657694675916247]}},
{"command": "mesh.node.add", "params": {"label": 175, "xyz": [6.25, 10.565456543517486, 22.657694675916247]}},
{"command": "mesh.node.add", "params": {"label": 176, "xyz": [7.8125, 10.565456543517486, 22.657694675916247]}},
{"command": "mesh.node.add", "params": {"label": 177, "xyz": [9.375, 10.565456543517486, 22.657694675916247]}},
{"command": "mesh.node.add", "params": {"label": 178, "xyz": [10.9375, 10.565456543517486, 22.657694675916247]}},
{"command": "mesh.node.add", "params": {"label": 179, "xyz": [12.5, 10.565456543517486, 22.657694675916247]}},
{"command": "mesh.node.add", "params": {"label": 180, "xyz": [14.0625, 10.565456543517486, 22.657694675916247]}},
{"command": "mesh.node.add", "params": {"label": 181, "xyz": [15.625, 10.565456543517486, 22.657694675916247]}},
{"command": "mesh.node.add", "params": {"label": 182, "xyz": [17.1875, 10.565456543517486, 22.657694675916247]}},
{"command": "mesh.node.add", "params": {"label": 183, "xyz": [18.75, 10.565456543517486, 22.657694675916247]}},
{"command": "mesh.node.add", "params": {"label": 184, "xyz": [20.3125, 10.565456543517486, 22.657694675916247]}},
{"command": "mesh.node.add", "params": {"label": 185, "xyz": [21.875, 10.565456543517486, 22.657694675916247]}},
{"command": "mesh.node.add", "params": {"label": 186, "xyz": [23.4375, 10.565456543517486, 22.657694675916247]}},
{"command": "mesh.node.add", "params": {"label": 187, "xyz": [25.0, 10.565456543517486, 22.657694675916247]}},
{"command": "mesh.node.add", "params": {"label": 188, "xyz": [0.0, 11.543715330875848, 22.175270829455542]}},
{"command": "mesh.node.add", "params": {"label": 189, "xyz": [1.5625, 11.543715330875848, 22.175270829455542]}},
{"command": "mesh.node.add", "params": {"label": 190, "xyz": [3.125, 11.543715330875848, 22.175270829455542]}},
{"command": "mesh.node.add", "params": {"label": 191, "xyz": [4.6875, 11.543715330875848, 22.175270829455542]}},
{"command": "mesh.node.add", "params": {"label": 192, "xyz": [6.25, 11.543715330875848, 22.175270829455542]}},
{"command": "mesh.node.add", "params": {"label": 193, "xyz": [7.8125, 11.543715330875848, 22.175270829455542]}},
{"command": "mesh.node.add", "params": {"label": 194, "xyz": [9.375, 11.543715330875848, 22.175270829455542]}},
{"command": "mesh.node.add", "params": {"label": 195, "xyz": [10.9375, 11.543715330875848, 22.175270829455542]}},
{"command": "mesh.node.add", "params": {"label": 196, "xyz": [12.5, 11.543715330875848, 22.175270829455542]}},
{"command": "mesh.node.add", "params": {"label": 197, "xyz": [14.0625, 11.543715330875848, 22.175270829455542]}},
{"command": "mesh.node.add", "params": {"label": 198, "xyz": [15.625, 11.543715330875848, 22.175270829455542]}},
{"command": "mesh.node.add", "params": {"label": 199, "xyz": [17.1875, 11.543715330875848, 22.175270829455542]}},
{"command": "mesh.node.add", "params": {"label": 200, "xyz": [18.75, 11.543715330875848, 22.175270829455542]}},
{"command": "mesh.node.add", "params": {"label": 201, "xyz": [20.3125, 11.543715330875848, 22.175270829455542]}},
{"command": "mesh.node.add", "params": {"label": 202, "xyz": [21.875, 11.543715330875848, 22.175270829455542]}},
{"command": "mesh.node.add", "params": {"label": 203, "xyz": [23.4375, 11.543715330875848, 22.175270829455542]}},
{"command": "mesh.node.add", "params": {"label": 204, "xyz": [25.0, 11.543715330875848, 22.175270829455542]}},
{"command": "mesh.node.add", "params": {"label": 205, "xyz": [0.0, 12.499999999999998, 21.65063509461097]}},
{"command": "mesh.node.add", "params": {"label": 206, "xyz": [1.5625, 12.499999999999998, 21.65063509461097]}},
{"command": "mesh.node.add", "params": {"label": 207, "xyz": [3.125, 12.499999999999998, 21.65063509461097]}},
{"command": "mesh.node.add", "params": {"label": 208, "xyz": [4.6875, 12.499999999999998, 21.65063509461097]}},
{"command": "mesh.node.add", "params": {"label": 209, "xyz": [6.25, 12.499999999999998, 21.65063509461097]}},
{"command": "mesh.node.add", "params": {"label": 210, "xyz": [7.8125, 12.499999999999998, 21.65063509461097]}},
{"command": "mesh.node.add", "params": {"label": 211, "xyz": [9.375, 12.499999999999998, 21.65063509461097]}},
{"command": "mesh.node.add", "params": {"label": 212, "xyz": [10.9375, 12.499999999999998, 21.65063509461097]}},
{"command": "mesh.node.add", "params": {"label": 213, "xyz": [12.5, 12.499999999999998, 21.65063509461097]}},
{"command": "mesh.node.add", "params": {"label": 214, "xyz": [14.0625, 12.499999999999998, 21.65063509461097]}},
{"command": "mesh.node.add", "params": {"label": 215, "xyz": [15.625, 12.499999999999998, 21.65063509461097]}},
{"command": "mesh.node.add", "params": {"label": 216, "xyz": [17.1875, 12.499999999999998, 21.65063509461097]}},
{"command": "mesh.node.add", "params": {"label": 217, "xyz": [18.75, 12.499999999999998, 21.65063509461097]}},
{"command": "mesh.node.add", "params": {"label": 218, "xyz": [20.3125, 12.499999999999998, 21.65063509461097]}},
{"command": "mesh.node.add", "params": {"label": 219, "xyz": [21.875, 12.499999999999998, 21.65063509461097]}},
{"command": "mesh.node.add", "params": {"label": 220, "xyz": [23.4375, 12.499999999999998, 21.65063509461097]}},
{"command": "mesh.node.add", "params": {"label": 221, "xyz": [25.0, 12.499999999999998, 21.65063509461097]}},
{"command": "mesh.node.add", "params": {"label": 222, "xyz": [0.0, 13.432490208670597, 21.08478614532214]}},
{"command": "mesh.node.add", "params": {"label": 223, "xyz": [1.5625, 13.432490208670597, 21.08478614532214]}},
{"command": "mesh.node.add", "params": {"label": 224, "xyz": [3.125, 13.432490208670597, 21.08478614532214]}},
{"command": "mesh.node.add", "params": {"label": 225, "xyz": [4.6875, 13.432490208670597, 21.08478614532214]}},
{"command": "mesh.node.add", "params": {"label": 226, "xyz": [6.25, 13.432490208670597, 21.08478614532214]}},
{"command": "mesh.node.add", "params": {"label": 227, "xyz": [7.8125, 13.432490208670597, 21.08478614532214]}},
{"command": "mesh.node.add", "params": {"label": 228, "xyz": [9.375, 13.432490208670597, 21.08478614532214]}},
{"command": "mesh.node.add", "params": {"label": 229, "xyz": [10.9375, 13.432490208670597, 21.08478614532214]}},
{"command": "mesh.node.add", "params": {"label": 230, "xyz": [12.5, 13.432490208670597, 21.08478614532214]}},
{"command": "mesh.node.add", "params": {"label": 231, "xyz": [14.0625, 13.432490208670597, 21.08478614532214]}},
{"command": "mesh.node.add", "params": {"label": 232, "xyz": [15.625, 13.432490208670597, 21.08478614532214]}},
{"command": "mesh.node.add", "params": {"label": 233, "xyz": [17.1875, 13.432490208670597, 21.08478614532214]}},
{"command": "mesh.node.add", "params": {"label": 234, "xyz": [18.75, 13.432490208670597, 21.08478614532214]}},
{"command": "mesh.node.add", "params": {"label": 235, "xyz": [20.3125, 13.432490208670597, 21.08478614532214]}},
{"command": "mesh.node.add", "params": {"label": 236, "xyz": [21.875, 13.432490208670597, 21.08478614532214]}},
{"command": "mesh.node.add", "params": {"label": 237, "xyz": [23.4375, 13.432490208670597, 21.08478614532214]}},
{"command": "mesh.node.add", "params": {"label": 238, "xyz": [25.0, 13.432490208670597, 21.08478614532214]}},
{"command": "mesh.node.add", "params": {"label": 239, "xyz": [0.0, 14.339410908776152, 20.478801107224793]}},
{"command": "mesh.node.add", "params": {"label": 240, "xyz": [1.5625, 14.339410908776152, 20.478801107224793]}},
{"command": "mesh.node.add", "params": {"label": 241, "xyz": [3.125, 14.339410908776152, 20.478801107224793]}},
{"command": "mesh.node.add", "params": {"label": 242, "xyz": [4.6875, 14.339410908776152, 20.478801107224793]}},
{"command": "mesh.node.add", "params": {"label": 243, "xyz": [6.25, 14.339410908776152, 20.478801107224793]}},
{"command": "mesh.node.add", "params": {"label": 244, "xyz": [7.8125, 14.339410908776152, 20.478801107224793]}},
{"command": "mesh.node.add", "params": {"label": 245, "xyz": [9.375, 14.339410908776152, 20.478801107224793]}},
{"command": "mesh.node.add", "params": {"label": 246, "xyz": [10.9375, 14.339410908776152, 20.478801107224793]}},
{"command": "mesh.node.add", "params": {"label": 247, "xyz": [12.5, 14.339410908776152, 20.478801107224793]}},
{"command": "mesh.node.add", "params": {"label": 248, "xyz": [14.0625, 14.339410908776152, 20.478801107224793]}},
{"command": "mesh.node.add", "params": {"label": 249, "xyz": [15.625, 14.339410908776152, 20.478801107224793]}},
{"command": "mesh.node.add", "params": {"label": 250, "xyz": [17.1875, 14.339410908776152, 20.478801107224793]}},
{"command": "mesh.node.add", "params": {"label": 251, "xyz": [18.75, 14.339410908776152, 20.478801107224793]}},
{"command": "mesh.node.add", "params": {"label": 252, "xyz": [20.3125, 14.339410908776152, 20.478801107224793]}},
{"command": "mesh.node.add", "params": {"label": 253, "xyz": [21.875, 14.339410908776152, 20.478801107224793]}},
{"command": "mesh.node.add", "params": {"label": 254, "xyz": [23.4375, 14.339410908776152, 20.478801107224793]}},
{"command": "mesh.node.add", "params": {"label": 255, "xyz": [25.0, 14.339410908776152, 20.478801107224793]}},
{"command": "mesh.node.add", "params": {"label": 256, "xyz": [0.0, 15.219035725218017, 19.83383350728088]}},
{"command": "mesh.node.add", "params": {"label": 257, "xyz": [1.5625, 15.219035725218017, 19.83383350728088]}},
{"command": "mesh.node.add", "params": {"label": 258, "xyz": [3.125, 15.219035725218017, 19.83383350728088]}},
{"command": "mesh.node.add", "params": {"label": 259, "xyz": [4.6875, 15.219035725218017, 19.83383350728088]}},
{"command": "mesh.node.add", "params": {"label": 260, "xyz": [6.25, 15.219035725218017, 19.83383350728088]}},
{"command": "mesh.node.add", "params": {"label": 261, "xyz": [7.8125, 15.219035725218017, 19.83383350728088]}},
{"command": "mesh.node.add", "params": {"label": 262, "xyz": [9.375, 15.219035725218017, 19.83383350728088]}},
{"command": "mesh.node.add", "params": {"label": 263, "xyz": [10.9375, 15.219035725218017, 19.83383350728088]}},
{"command": "mesh.node.add", "params": {"label": 264, "xyz": [12.5, 15.219035725218017, 19.83383350728088]}},
{"command": "mesh.node.add", "params": {"label": 265, "xyz": [14.0625, 15.219035725218017, 19.83383350728088]}},
{"command": "mesh.node.add", "params": {"label": 266, "xyz": [15.625, 15.219035725218017, 19.83383350728088]}},
{"command": "mesh.node.add", "params": {"label": 267, "xyz": [17.1875, 15.219035725218017, 19.83383350728088]}},
{"command": "mesh.node.add", "params": {"label": 268, "xyz": [18.75, 15.219035725218017, 19.83383350728088]}},
{"command": "mesh.node.add", "params": {"label": 269, "xyz": [20.3125, 15.219035725218017, 19.83383350728088]}},
{"command": "mesh.node.add", "params": {"label": 270, "xyz": [21.875, 15.219035725218017, 19.83383350728088]}},
{"command": "mesh.node.add", "params": {"label": 271, "xyz": [23.4375, 15.219035725218017, 19.83383350728088]}},
{"command": "mesh.node.add", "params": {"label": 272, "xyz": [25.0, 15.219035725218017, 19.83383350728088]}},
{"command": "mesh.node.add", "params": {"label": 273, "xyz": [0.0, 16.06969024216348, 19.151111077974452]}},
{"command": "mesh.node.add", "params": {"label": 274, "xyz": [1.5625, 16.06969024216348, 19.151111077974452]}},
{"command": "mesh.node.add", "params": {"label": 275, "xyz": [3.125, 16.06969024216348, 19.151111077974452]}},
{"command": "mesh.node.add", "params": {"label": 276, "xyz": [4.6875, 16.06969024216348, 19.151111077974452]}},
{"command": "mesh.node.add", "params": {"label": 277, "xyz": [6.25, 16.06969024216348, 19.151111077974452]}},
{"command": "mesh.node.add", "params": {"label": 278, "xyz": [7.8125, 16.06969024216348, 19.151111077974452]}},
{"command": "mesh.node.add", "params": {"label": 279, "xyz": [9.375, 16.06969024216348, 19.151111077974452]}},
{"command": "mesh.node.add", "params": {"label": 280, "xyz": [10.9375, 16.06969024216348, 19.151111077974452]}},
{"command": "mesh.node.add", "params": {"label": 281, "xyz": [12.5, 16.06969024216348, 19.151111077974452]}},
{"command": "mesh.node.add", "params": {"label": 282, "xyz": [14.0625, 16.06969024216348, 19.151111077974452]}},
{"command": "mesh.node.add", "params": {"label": 283, "xyz": [15.625, 16.06969024216348, 19.151111077974452]}},
{"command": "mesh.node.add", "params": {"label": 284, "xyz": [17.1875, 16.06969024216348, 19.151111077974452]}},
{"command": "mesh.node.add", "params": {"label": 285, "xyz": [18.75, 16.06969024216348, 19.151111077974452]}},
{"command": "mesh.node.add", "params": {"label": 286, "xyz": [20.3125, 16.06969024216348, 19.151111077974452]}},
{"command": "mesh.node.add", "params": {"label": 287, "xyz": [21.875, 16.06969024216348, 19.151111077974452]}},
{"command": "mesh.node.add", "params": {"label": 288, "xyz": [23.4375, 16.06969024216348, 19.151111077974452]}},
{"command": "mesh.node.add", "params": {"label": 289, "xyz": [25.0, 16.06969024216348, 19.151111077974452]}},
{"command": "mesh.element.add", "params": {"label": 1, "kind": "quad4", "nodes": [1, 2, 19, 18]}},
{"command": "mesh.element.add", "params": {"label": 2, "kind": "quad4", "nodes": [2, 3, 20, 19]}},
{"command": "mesh.element.add", "params": {"label": 3, "kind": "quad4", "nodes": [3, 4, 21, 20]}},
{"command": "mesh.element.add", "params": {"label": 4, "kind": "quad4", "nodes": [4, 5, 22, 21]}},
{"command": "mesh.element.add", "params": {"label": 5, "kind": "quad4", "nodes": [5, 6, 23, 22]}},
{"command": "mesh.element.add", "params": {"label": 6, "kind": "quad4", "nodes": [6, 7, 24, 23]}},
{"command": "mesh.element.add", "params": {"label": 7, "kind": "quad4", "nodes": [7, 8, 25, 24]}},
{"command": "mesh.element.add", "params": {"label": 8, "kind": "quad4", "nodes": [8, 9, 26, 25]}},
{"command": "mesh.element.add", "params": {"label": 9, "kind": "quad4", "nodes": [9, 10, 27, 26]}},
{"command": "mesh.element.add", "params": {"label": 10, "kind": "quad4", "nodes": [10, 11, 28, 27]}},
{"command": "mesh.element.add", "params": {"label": 11, "kind": "quad4", "nodes": [11, 12, 29, 28]}},
{"command": "mesh.element.add", "params": {"label": 12, "kind": "quad4", "nodes": [12, 13, 30, 29]}},
{"command": "mesh.element.add", "params": {"label": 13, "kind": "quad4", "nodes": [13, 14, 31, 30]}},
{"command": "mesh.element.add", "params": {"label": 14, "kind": "quad4", "nodes": [14, 15, 32, 31]}},
{"command": "mesh.element.add", "params": {"label": 15, "kind": "quad4", "nodes": [15, 16, 33, 32]}},
{"command": "mesh.element.add", "params": {"label": 16, "kind": "quad4", "nodes": [16, 17, 34, 33]}},
{"command": "mesh.element.add", "params": {"label": 17, "kind": "quad4", "nodes": [18, 19, 36, 35]}},
{"command": "mesh.element.add", "params": {"label": 18, "kind": "quad4", "nodes": [19, 20, 37, 36]}},
{"command": "mesh.element.add", "params": {"label": 19, "kind": "quad4", "nodes": [20, 21, 38, 37]}},
{"command": "mesh.element.add", "params": {"label": 20, "kind": "quad4", "nodes": [21, 22, 39, 38]}},
{"command": "mesh.element.add", "params": {"label": 21, "kind": "quad4", "nodes": [22, 23, 40, 39]}},
{"command": "mesh.element.add", "params": {"label": 22, "kind": "quad4", "nodes": [23, 24, 41, 40]}},
{"command": "mesh.element.add", "params": {"label": 23, "kind": "quad4", "nodes": [24, 25, 42, 41]}},
{"command": "mesh.element.add", "params": {"label": 24, "kind": "quad4", "nodes": [25, 26, 43, 42]}},
{"command": "mesh.element.add", "params": {"label": 25, "kind": "quad4", "nodes": [26, 27, 44, 43]}},
{"command": "mesh.element.add", "params": {"label": 26, "kind": "quad4", "nodes": [27, 28, 45, 44]}},
{"command": "mesh.element.add", "params": {"label": 27, "kind": "quad4", "nodes": [28, 29, 46, 45]}},
{"command": "mesh.element.add", "params": {"label": 28, "kind": "quad4", "nodes": [29, 30, 47, 46]}},
{"command": "mesh.element.add", "params": {"label": 29, "kind": "quad4", "nodes": [30, 31, 48, 47]}},
{"command": "mesh.element.add", "params": {"label": 30, "kind": "quad4", "nodes": [31, 32, 49, 48]}},
{"command": "mesh.element.add", "params": {"label": 31, "kind": "quad4", "nodes": [32, 33, 50, 49]}},
{"command": "mesh.element.add", "params": {"label": 32, "kind": "quad4", "nodes": [33, 34, 51, 50]}},
{"command": "mesh.element.add", "params": {"label": 33, "kind": "quad4", "nodes": [35, 36, 53, 52]}},
{"command": "mesh.element.add", "params": {"label": 34, "kind": "quad4", "nodes": [36, 37, 54, 53]}},
{"command": "mesh.element.add", "params": {"label": 35, "kind": "quad4", "nodes": [37, 38, 55, 54]}},
{"command": "mesh.element.add", "params": {"label": 36, "kind": "quad4", "nodes": [38, 39, 56, 55]}},
{"command": "mesh.element.add", "params": {"label": 37, "kind": "quad4", "nodes": [39, 40, 57, 56]}},
{"command": "mesh.element.add", "params": {"label": 38, "kind": "quad4", "nodes": [40, 41, 58, 57]}},
{"command": "mesh.element.add", "params": {"label": 39, "kind": "quad4", "nodes": [41, 42, 59, 58]}},
{"command": "mesh.element.add", "params": {"label": 40, "kind": "quad4", "nodes": [42, 43, 60, 59]}},
{"command": "mesh.element.add", "params": {"label": 41, "kind": "quad4", "nodes": [43, 44, 61, 60]}},
{"command": "mesh.element.add", "params": {"label": 42, "kind": "quad4", "nodes": [44, 45, 62, 61]}},
{"command": "mesh.element.add", "params": {"label": 43, "kind": "quad4", "nodes": [45, 46, 63, 62]}},
{"command": "mesh.element.add", "params": {"label": 44, "kind": "quad4", "nodes": [46, 47, 64, 63]}},
{"command": "mesh.element.add", "params": {"label": 45, "kind": "quad4", "nodes": [47, 48, 65, 64]}},
{"command": "mesh.element.add", "params": {"label": 46, "kind": "quad4", "nodes": [48, 49, 66, 65]}},
{"command": "mesh.element.add", "params": {"label": 47, "kind": "quad4", "nodes": [49, 50, 67, 66]}},
{"command": "mesh.element.add", "params": {"label": 48, "kind": "quad4", "nodes": [50, 51, 68, 67]}},
{"command": "mesh.element.add", "params": {"label": 49, "kind": "quad4", "nodes": [52, 53, 70, 69]}},
{"command": "mesh.element.add", "params": {"label": 50, "kind": "quad4", "nodes": [53, 54, 71, 70]}},
{"command": "mesh.element.add", "params": {"label": 51, "kind": "quad4", "nodes": [54, 55, 72, 71]}},
{"command": "mesh.element.add", "params": {"label": 52, "kind": "quad4", "nodes": [55, 56, 73, 72]}},
{"command": "mesh.element.add", "params": {"label": 53, "kind": "quad4", "nodes": [56, 57, 74, 73]}},
{"command": "mesh.element.add", "params": {"label": 54, "kind": "quad4", "nodes": [57, 58, 75, 74]}},
{"command": "mesh.element.add", "params": {"label": 55, "kind": "quad4", "nodes": [58, 59, 76, 75]}},
{"command": "mesh.element.add", "params": {"label": 56, "kind": "quad4", "nodes": [59, 60, 77, 76]}},
{"command": "mesh.element.add", "params": {"label": 57, "kind": "quad4", "nodes": [60, 61, 78, 77]}},
{"command": "mesh.element.add", "params": {"label": 58, "kind": "quad4", "nodes": [61, 62, 79, 78]}},
{"command": "mesh.element.add", "params": {"label": 59, "kind": "quad4", "nodes": [62, 63, 80, 79]}},
{"command": "mesh.element.add", "params": {"label": 60, "kind": "quad4", "nodes": [63, 64, 81, 80]}},
{"command": "mesh.element.add", "params": {"label": 61, "kind": "quad4", "nodes": [64, 65, 82, 81]}},
{"command": "mesh.element.add", "params": {"label": 62, "kind": "quad4", "nodes": [65, 66, 83, 82]}},
{"command": "mesh.element.add", "params": {"label": 63, "kind": "quad4", "nodes": [66, 67, 84, 83]}},
{"command": "mesh.element.add", "params": {"label": 64, "kind": "quad4", "nodes": [67, 68, 85, 84]}},
{"command": "mesh.element.add", "params": {"label": 65, "kind": "quad4", "nodes": [69, 70, 87, 86]}},
{"command": "mesh.element.add", "params": {"label": 66, "kind": "quad4", "nodes": [70, 71, 88, 87]}},
{"command": "mesh.element.add", "params": {"label": 67, "kind": "quad4", "nodes": [71, 72, 89, 88]}},
{"command": "mesh.element.add", "params": {"label": 68, "kind": "quad4", "nodes": [72, 73, 90, 89]}},
{"command": "mesh.element.add", "params": {"label": 69, "kind": "quad4", "nodes": [73, 74, 91, 90]}},
{"command": "mesh.element.add", "params": {"label": 70, "kind": "quad4", "nodes": [74, 75, 92, 91]}},
{"command": "mesh.element.add", "params": {"label": 71, "kind": "quad4", "nodes": [75, 76, 93, 92]}},
{"command": "mesh.element.add", "params": {"label": 72, "kind": "quad4", "nodes": [76, 77, 94, 93]}},
{"command": "mesh.element.add", "params": {"label": 73, "kind": "quad4", "nodes": [77, 78, 95, 94]}},
{"command": "mesh.element.add", "params": {"label": 74, "kind": "quad4", "nodes": [78, 79, 96, 95]}},
{"command": "mesh.element.add", "params": {"label": 75, "kind": "quad4", "nodes": [79, 80, 97, 96]}},
{"command": "mesh.element.add", "params": {"label": 76, "kind": "quad4", "nodes": [80, 81, 98, 97]}},
{"command": "mesh.element.add", "params": {"label": 77, "kind": "quad4", "nodes": [81, 82, 99, 98]}},
{"command": "mesh.element.add", "params": {"label": 78, "kind": "quad4", "nodes": [82, 83, 100, 99]}},
{"command": "mesh.element.add", "params": {"label": 79, "kind": "quad4", "nodes": [83, 84, 101, 100]}},
{"command": "mesh.element.add", "params": {"label": 80, "kind": "quad4", "nodes": [84, 85, 102, 101]}},
{"command": "mesh.element.add", "params": {"label": 81, "kind": "quad4", "nodes": [86, 87, 104, 103]}},
{"command": "mesh.element.add", "params": {"label": 82, "kind": "quad4", "nodes": [87, 88, 105, 104]}},
{"command": "mesh.element.add", "params": {"label": 83, "kind": "quad4", "nodes": [88, 89, 106, 105]}},
{"command": "mesh.element.add", "params": {"label": 84, "kind": "quad4", "nodes": [89, 90, 107, 106]}},
{"command": "mesh.element.add", "params": {"label": 85, "kind": "quad4", "nodes": [90, 91, 108, 107]}},
{"command": "mesh.element.add", "params": {"label": 86, "kind": "quad4", "nodes": [91, 92, 109, 108]}},
{"command": "mesh.element.add", "params": {"label": 87, "kind": "quad4", "nodes": [92, 93, 110, 109]}},
{"command": "mesh.element.add", "params": {"label": 88, "kind": "quad4", "nodes": [93, 94, 111, 110]}},
{"command": "mesh.element.add", "params": {"label": 89, "kind": "quad4", "nodes": [94, 95, 112, 111]}},
{"command": "mesh.element.add", "params": {"label": 90, "kind": "quad4", "nodes": [95, 96, 113, 112]}},
{"command": "mesh.element.add", "params": {"label": 91, "kind": "quad4", "nodes": [96, 97, 114, 113]}},
{"command": "mesh.element.add", "params": {"label": 92, "kind": "quad4", "nodes": [97, 98, 115, 114]}},
{"command": "mesh.element.add", "params": {"label": 93, "kind": "quad4", "nodes": [98, 99, 116, 115]}},
{"command": "mesh.element.add", "params": {"label": 94, "kind": "quad4", "nodes": [99, 100, 117, 116]}},
{"command": "mesh.element.add", "params": {"label": 95, "kind": "quad4", "nodes": [100, 101, 118, 117]}},
{"command": "mesh.element.add", "params": {"label": 96, "kind": "quad4", "nodes": [101, 102, 119, 118]}},
{"command": "mesh.element.add", "params": {"label": 97, "kind": "quad4", "nodes": [103, 104, 121, 120]}},
{"command": "mesh.element.add", "params": {"label": 98, "kind": "quad4", "nodes": [104, 105, 122, 121]}},
{"command": "mesh.element.add", "params": {"label": 99, "kind": "quad4", "nodes": [105, 106, 123, 122]}},
{"command": "mesh.element.add", "params": {"label": 100, "kind": "quad4", "nodes": [106, 107, 124, 123]}},
{"command": "mesh.element.add", "params": {"label": 101, "kind": "quad4", "nodes": [107, 108, 125, 124]}},
{"command": "mesh.element.add", "params": {"label": 102, "kind": "quad4", "nodes": [108, 109, 126, 125]}},
{"command": "mesh.element.add", "params": {"label": 103, "kind": "quad4", "nodes": [109, 110, 127, 126]}},
{"command": "mesh.element.add", "params": {"label": 104, "kind": "quad4", "nodes": [110, 111, 128, 127]}},
{"command": "mesh.element.add", "params": {"label": 105, "kind": "quad4", "nodes": [111, 112, 129, 128]}},
{"command": "mesh.element.add", "params": {"label": 106, "kind": "quad4", "nodes": [112, 113, 130, 129]}},
{"command": "mesh.element.add", "params": {"label": 107, "kind": "quad4", "nodes": [113, 114, 131, 130]}},
{"command": "mesh.element.add", "params": {"label": 108, "kind": "quad4", "nodes": [114, 115, 132, 131]}},
{"command": "mesh.element.add", "params": {"label": 109, "kind": "quad4", "nodes": [115, 116, 133, 132]}},
{"command": "mesh.element.add", "params": {"label": 110, "kind": "quad4", "nodes": [116, 117, 134, 133]}},
{"command": "mesh.element.add", "params": {"label": 111, "kind": "quad4", "nodes": [117, 118, 135, 134]}},
{"command": "mesh.element.add", "params": {"label": 112, "kind": "quad4", "nodes": [118, 119, 136, 135]}},
{"command": "mesh.element.add", "params": {"label": 113, "kind": "quad4", "nodes": [120, 121, 138, 137]}},
{"command": "mesh.element.add", "params": {"label": 114, "kind": "quad4", "nodes": [121, 122, 139, 138]}},
{"command": "mesh.element.add", "params": {"label": 115, "kind": "quad4", "nodes": [122, 123, 140, 139]}},
{"command": "mesh.element.add", "params": {"label": 116, "kind": "quad4", "nodes": [123, 124, 141, 140]}},
{"command": "mesh.element.add", "params": {"label": 117, "kind": "quad4", "nodes": [124, 125, 142, 141]}},
{"command": "mesh.element.add", "params": {"label": 118, "kind": "quad4", "nodes": [125, 126, 143, 142]}},
{"command": "mesh.element.add", "params": {"label": 119, "kind": "quad4", "nodes": [126, 127, 144, 143]}},
{"command": "mesh.element.add", "params": {"label": 120, "kind": "quad4", "nodes": [127, 128, 145, 144]}},
{"command": "mesh.element.add", "params": {"label": 121, "kind": "quad4", "nodes": [128, 129, 146, 145]}},
{"command": "mesh.element.add", "params": {"label": 122, "kind": "quad4", "nodes": [129, 130, 147, 146]}},
{"command": "mesh.element.add", "params": {"label": 123, "kind": "quad4", "nodes": [130, 131, 148, 147]}},
{"command": "mesh.element.add", "params": {"label": 124, "kind": "quad4", "nodes": [131, 132, 149, 148]}},
{"command": "mesh.element.add", "params": {"label": 125, "kind": "quad4", "nodes": [132, 133, 150, 149]}},
{"command": "mesh.element.add", "params": {"label": 126, "kind": "quad4", "nodes": [133, 134, 151, 150]}},
{"command": "mesh.element.add", "params": {"label": 127, "kind": "quad4", "nodes": [134, 135, 152, 151]}},
{"command": "mesh.element.add", "params": {"label": 128, "kind": "quad4", "nodes": [135, 136, 153, 152]}},
{"command": "mesh.element.add", "params": {"label": 129, "kind": "quad4", "nodes": [137, 138, 155, 154]}},
{"command": "mesh.element.add", "params": {"label": 130, "kind": "quad4", "nodes": [138, 139, 156, 155]}},
{"command": "mesh.element.add", "params": {"label": 131, "kind": "quad4", "nodes": [139, 140, 157, 156]}},
{"command": "mesh.element.add", "params": {"label": 132, "kind": "quad4", "nodes": [140, 141, 158, 157]}},
{"command": "mesh.element.add", "params": {"label": 133, "kind": "quad4", "nodes": [141, 142, 159, 158]}},
{"command": "mesh.element.add", "params": {"label": 134, "kind": "quad4", "nodes": [142, 143, 160, 159]}},
{"command": "mesh.element.add", "params": {"label": 135, "kind": "quad4", "nodes": [143, 144, 161, 160]}},
{"command": "mesh.element.add", "params": {"label": 136, "kind": "quad4", "nodes": [144, 145, 162, 161]}},
{"command": "mesh.element.add", "params": {"label": 137, "kind": "quad4", "nodes": [145, 146, 163, 162]}},
{"command": "mesh.element.add", "params": {"label": 138, "kind": "quad4", "nodes": [146, 147, 164, 163]}},
{"command": "mesh.element.add", "params": {"label": 139, "kind": "quad4", "nodes": [147, 148, 165, 164]}},
{"command": "mesh.element.add", "params": {"label": 140, "kind": "quad4", "nodes": [148, 149, 166, 165]}},
{"command": "mesh.element.add", "params": {"label": 141, "kind": "quad4", "nodes": [149, 150, 167, 166]}},
{"command": "mesh.element.add", "params": {"label": 142, "kind": "quad4", "nodes": [150, 151, 168, 167]}},
{"command": "mesh.element.add", "params": {"label": 143, "kind": "quad4", "nodes": [151, 152, 169, 168]}},
{"command": "mesh.element.add", "params": {"label": 144, "kind": "quad4", "nodes": [152, 153, 170, 169]}},
{"command": "mesh.element.add", "params": {"label": 145, "kind": "quad4", "nodes": [154, 155, 172, 171]}},
{"command": "mesh.element.add", "params": {"label": 146, "kind": "quad4", "nodes": [155, 156, 173, 172]}},
{"command": "mesh.element.add", "params": {"label": 147, "kind": "quad4", "nodes": [156, 157, 174, 173]}},
{"command": "mesh.element.add", "params": {"label": 148, "kind": "quad4", "nodes": [157, 158, 175, 174]}},
{"command": "mesh.element.add", "params": {"label": 149, "kind": "quad4", "nodes": [158, 159, 176, 175]}},
{"command": "mesh.element.add", "params": {"label": 150, "kind": "quad4", "nodes": [159, 160, 177, 176]}},
{"command": "mesh.element.add", "params": {"label": 151, "kind": "quad4", "nodes": [160, 161, 178, 177]}},
{"command": "mesh.element.add", "params": {"label": 152, "kind": "quad4", "nodes": [161, 162, 179, 178]}},
{"command": "mesh.element.add", "params": {"label": 153, "kind": "quad4", "nodes": [162, 163, 180, 179]}},
{"command": "mesh.element.add", "params": {"label": 154, "kind": "quad4", "nodes": [163, 164, 181, 180]}},
{"command": "mesh.element.add", "params": {"label": 155, "kind": "quad4", "nodes": [164, 165, 182, 181]}},
{"command": "mesh.element.add", "params": {"label": 156, "kind": "quad4", "nodes": [165, 166, 183, 182]}},
{"command": "mesh.element.add", "params": {"label": 157, "kind": "quad4", "nodes": [166, 167, 184, 183]}},
{"command": "mesh.element.add", "params": {"label": 158, "kind": "quad4", "nodes": [167, 168, 185, 184]}},
{"command": "mesh.element.add", "params": {"label": 159, "kind": "quad4", "nodes": [168, 169, 186, 185]}},
{"command": "mesh.element.add", "params": {"label": 160, "kind": "quad4", "nodes": [169, 170, 187, 186]}},
{"command": "mesh.element.add", "params": {"label": 161, "kind": "quad4", "nodes": [171, 172, 189, 188]}},
{"command": "mesh.element.add", "params": {"label": 162, "kind": "quad4", "nodes": [172, 173, 190, 189]}},
{"command": "mesh.element.add", "params": {"label": 163, "kind": "quad4", "nodes": [173, 174, 191, 190]}},
{"command": "mesh.element.add", "params": {"label": 164, "kind": "quad4", "nodes": [174, 175, 192, 191]}},
{"command": "mesh.element.add", "params": {"label": 165, "kind": "quad4", "nodes": [175, 176, 193, 192]}},
{"command": "mesh.element.add", "params": {"label": 166, "kind": "quad4", "nodes": [176, 177, 194, 193]}},
{"command": "mesh.element.add", "params": {"label": 167, "kind": "quad4", "nodes": [177, 178, 195, 194]}},
{"command": "mesh.element.add", "params": {"label": 168, "kind": "quad4", "nodes": [178, 179, 196, 195]}},
{"command": "mesh.element.add", "params": {"label": 169, "kind": "quad4", "nodes": [179, 180, 197, 196]}},
{"command": "mesh.element.add", "params": {"label": 170, "kind": "quad4", "nodes": [180, 181, 198, 197]}},
{"command": "mesh.element.add", "params": {"label": 171, "kind": "quad4", "nodes": [181, 182, 199, 198]}},
{"command": "mesh.element.add", "params": {"label": 172, "kind": "quad4", "nodes": [182, 183, 200, 199]}},
{"command": "mesh.element.add", "params": {"label": 173, "kind": "quad4", "nodes": [183, 184, 201, 200]}},
{"command": "mesh.element.add", "params": {"label": 174, "kind": "quad4", "nodes": [184, 185, 202, 201]}},
{"command": "mesh.element.add", "params": {"label": 175, "kind": "quad4", "nodes": [185, 186, 203, 202]}},
{"command": "mesh.element.add", "params": {"label": 176, "kind": "quad4", "nodes": [186, 187, 204, 203]}},
{"command": "mesh.element.add", "params": {"label": 177, "kind": "quad4", "nodes": [188, 189, 206, 205]}},
{"command": "mesh.element.add", "params": {"label": 178, "kind": "quad4", "nodes": [189, 190, 207, 206]}},
{"command": "mesh.element.add", "params": {"label": 179, "kind": "quad4", "nodes": [190, 191, 208, 207]}},
{"command": "mesh.element.add", "params": {"label": 180, "kind": "quad4", "nodes": [191, 192, 209, 208]}},
{"command": "mesh.element.add", "params": {"label": 181, "kind": "quad4", "nodes": [192, 193, 210, 209]}},
{"command": "mesh.element.add", "params": {"label": 182, "kind": "quad4", "nodes": [193, 194, 211, 210]}},
{"command": "mesh.element.add", "params": {"label": 183, "kind": "quad4", "nodes": [194, 195, 212, 211]}},
{"command": "mesh.element.add", "params": {"label": 184, "kind": "quad4", "nodes": [195, 196, 213, 212]}},
{"command": "mesh.element.add", "params": {"label": 185, "kind": "quad4", "nodes": [196, 197, 214, 213]}},
{"command": "mesh.element.add", "params": {"label": 186, "kind": "quad4", "nodes": [197, 198, 215, 214]}},
{"command": "mesh.element.add", "params": {"label": 187, "kind": "quad4", "nodes": [198, 199, 216, 215]}},
{"command": "mesh.element.add", "params": {"label": 188, "kind": "quad4", "nodes": [199, 200, 217, 216]}},
{"command": "mesh.element.add", "params": {"label": 189, "kind": "quad4", "nodes": [200, 201, 218, 217]}},
{"command": "mesh.element.add", "params": {"label": 190, "kind": "quad4", "nodes": [201, 202, 219, 218]}},
{"command": "mesh.element.add", "params": {"label": 191, "kind": "quad4", "nodes": [202, 203, 220, 219]}},
{"command": "mesh.element.add", "params": {"label": 192, "kind": "quad4", "nodes": [203, 204, 221, 220]}},
{"command": "mesh.element.add", "params": {"label": 193, "kind": "quad4", "nodes": [205, 206, 223, 222]}},
{"command": "mesh.element.add", "params": {"label": 194, "kind": "quad4", "nodes": [206, 207, 224, 223]}},
{"command": "mesh.element.add", "params": {"label": 195, "kind": "quad4", "nodes": [207, 208, 225, 224]}},
{"command": "mesh.element.add", "params": {"label": 196, "kind": "quad4", "nodes": [208, 209, 226, 225]}},
{"command": "mesh.element.add", "params": {"label": 197, "kind": "quad4", "nodes": [209, 210, 227, 226]}},
{"command": "mesh.element.add", "params": {"label": 198, "kind": "quad4", "nodes": [210, 211, 228, 227]}},
{"command": "mesh.element.add", "params": {"label": 199, "kind": "quad4", "nodes": [211, 212, 229, 228]}},
{"command": "mesh.element.add", "params": {"label": 200, "kind": "quad4", "nodes": [212, 213, 230, 229]}},
{"command": "mesh.element.add", "params": {"label": 201, "kind": "quad4", "nodes": [213, 214, 231, 230]}},
{"command": "mesh.element.add", "params": {"label": 202, "kind": "quad4", "nodes": [214, 215, 232, 231]}},
{"command": "mesh.element.add", "params": {"label": 203, "kind": "quad4", "nodes": [215, 216, 233, 232]}},
{"command": "mesh.element.add", "params": {"label": 204, "kind": "quad4", "nodes": [216, 217, 234, 233]}},
{"command": "mesh.element.add", "params": {"label": 205, "kind": "quad4", "nodes": [217, 218, 235, 234]}},
{"command": "mesh.element.add", "params": {"label": 206, "kind": "quad4", "nodes": [218, 219, 236, 235]}},
{"command": "mesh.element.add", "params": {"label": 207, "kind": "quad4", "nodes": [219, 220, 237, 236]}},
{"command": "mesh.element.add", "params": {"label": 208, "kind": "quad4", "nodes": [220, 221, 238, 237]}},
{"command": "mesh.element.add", "params": {"label": 209, "kind": "quad4", "nodes": [222, 223, 240, 239]}},
{"command": "mesh.element.add", "params": {"label": 210, "kind": "quad4", "nodes": [223, 224, 241, 240]}},
{"command": "mesh.element.add", "params": {"label": 211, "kind": "quad4", "nodes": [224, 225, 242, 241]}},
{"command": "mesh.element.add", "params": {"label": 212, "kind": "quad4", "nodes": [225, 226, 243, 242]}},
{"command": "mesh.element.add", "params": {"label": 213, "kind": "quad4", "nodes": [226, 227, 244, 243]}},
{"command": "mesh.element.add", "params": {"label": 214, "kind": "quad4", "nodes": [227, 228, 245, 244]}},
{"command": "mesh.element.add", "params": {"label": 215, "kind": "quad4", "nodes": [228, 229, 246, 245]}},
{"command": "mesh.element.add", "params": {"label": 216, "kind": "quad4", "nodes": [229, 230, 247, 246]}},
{"command": "mesh.element.add", "params": {"label": 217, "kind": "quad4", "nodes": [230, 231, 248, 247]}},
{"command": "mesh.element.add", "params": {"label": 218, "kind": "quad4", "nodes": [231, 232, 249, 248]}},
{"command": "mesh.element.add", "params": {"label": 219, "kind": "quad4", "nodes": [232, 233, 250, 249]}},
{"command": "mesh.element.add", "params": {"label": 220, "kind": "quad4", "nodes": [233, 234, 251, 250]}},
{"command": "mesh.element.add", "params": {"label": 221, "kind": "quad4", "nodes": [234, 235, 252, 251]}},
{"command": "mesh.element.add", "params": {"label": 222, "kind": "quad4", "nodes": [235, 236, 253, 252]}},
{"command": "mesh.element.add", "params": {"label": 223, "kind": "quad4", "nodes": [236, 237, 254, 253]}},
{"command": "mesh.element.add", "params": {"label": 224, "kind": "quad4", "nodes": [237, 238, 255, 254]}},
{"command": "mesh.element.add", "params": {"label": 225, "kind": "quad4", "nodes": [239, 240, 257, 256]}},
{"command": "mesh.element.add", "params": {"label": 226, "kind": "quad4", "nodes": [240, 241, 258, 257]}},
{"command": "mesh.element.add", "params": {"label": 227, "kind": "quad4", "nodes": [241, 242, 259, 258]}},
{"command": "mesh.element.add", "params": {"label": 228, "kind": "quad4", "nodes": [242, 243, 260, 259]}},
{"command": "mesh.element.add", "params": {"label": 229, "kind": "quad4", "nodes": [243, 244, 261, 260]}},
{"command": "mesh.element.add", "params": {"label": 230, "kind": "quad4", "nodes": [244, 245, 262, 261]}},
{"command": "mesh.element.add", "params": {"label": 231, "kind": "quad4", "nodes": [245, 246, 263, 262]}},
{"command": "mesh.element.add", "params": {"label": 232, "kind": "quad4", "nodes": [246, 247, 264, 263]}},
{"command": "mesh.element.add", "params": {"label": 233, "kind": "quad4", "nodes": [247, 248, 265, 264]}},
{"command": "mesh.element.add", "params": {"label": 234, "kind": "quad4", "nodes": [248, 249, 266, 265]}},
{"command": "mesh.element.add", "params": {"label": 235, "kind": "quad4", "nodes": [249, 250, 267, 266]}},
{"command": "mesh.element.add", "params": {"label": 236, "kind": "quad4", "nodes": [250, 251, 268, 267]}},
{"command": "mesh.element.add", "params": {"label": 237, "kind": "quad4", "nodes": [251, 252, 269, 268]}},
{"command": "mesh.element.add", "params": {"label": 238, "kind": "quad4", "nodes": [252, 253, 270, 269]}},
{"command": "mesh.element.add", "params": {"label": 239, "kind": "quad4", "nodes": [253, 254, 271, 270]}},
{"command": "mesh.element.add", "params": {"label": 240, "kind": "quad4", "nodes": [254, 255, 272, 271]}},
{"command": "mesh.element.add", "params": {"label": 241, "kind": "quad4", "nodes": [256, 257, 274, 273]}},
{"command": "mesh.element.add", "params": {"label": 242, "kind": "quad4", "nodes": [257, 258, 275, 274]}},
{"command": "mesh.element.add", "params": {"label": 243, "kind": "quad4", "nodes": [258, 259, 276, 275]}},
{"command": "mesh.element.add", "params": {"label": 244, "kind": "quad4", "nodes": [259, 260, 277, 276]}},
{"command": "mesh.element.add", "params": {"label": 245, "kind": "quad4", "nodes": [260, 261, 278, 277]}},
{"command": "mesh.element.add", "params": {"label": 246, "kind": "quad4", "nodes": [261, 262, 279, 278]}},
{"command": "mesh.element.add", "params": {"label": 247, "kind": "quad4", "nodes": [262, 263, 280, 279]}},
{"command": "mesh.element.add", "params": {"label": 248, "kind": "quad4", "nodes": [263, 264, 281, 280]}},
{"command": "mesh.element.add", "params": {"label": 249, "kind": "quad4", "nodes": [264, 265, 282, 281]}},
{"command": "mesh.element.add", "params": {"label": 250, "kind": "quad4", "nodes": [265, 266, 283, 282]}},
{"command": "mesh.element.add", "params": {"label": 251, "kind": "quad4", "nodes": [266, 267, 284, 283]}},
{"command": "mesh.element.add", "params": {"label": 252, "kind": "quad4", "nodes": [267, 268, 285, 284]}},
{"command": "mesh.element.add", "params": {"label": 253, "kind": "quad4", "nodes": [268, 269, 286, 285]}},
{"command": "mesh.element.add", "params": {"label": 254, "kind": "quad4", "nodes": [269, 270, 287, 286]}},
{"command": "mesh.element.add", "params": {"label": 255, "kind": "quad4", "nodes": [270, 271, 288, 287]}},
{"command": "mesh.element.add", "params": {"label": 256, "kind": "quad4", "nodes": [271, 272, 289, 288]}},
{"command": "model.set.create", "params": {"name": "shell", "elements": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256]}},
{"command": "model.set.create", "params": {"name": "diaphragm", "nodes": [17, 34, 51, 68, 85, 102, 119, 136, 153, 170, 187, 204, 221, 238, 255, 272, 289]}},
{"command": "model.set.create", "params": {"name": "midspan", "nodes": [1, 18, 35, 52, 69, 86, 103, 120, 137, 154, 171, 188, 205, 222, 239, 256, 273]}},
{"command": "model.set.create", "params": {"name": "crown", "nodes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]}},
{"command": "model.material.create", "params": {"name": "Mat", "elastic": {"type": "isotropic", "young": 432000000.0, "poisson": 0.0}}},
{"command": "model.section.create", "params": {"name": "shell", "set": "shell", "material": "Mat", "kind": {"type": "shell", "thickness": 0.25}}},
{"command": "model.boundary_condition.create", "params": {"name": "diaphragm", "type": "displacement", "target": {"set": "diaphragm"}, "values": [null, 0, 0, 0, null, null]}},
{"command": "model.boundary_condition.create", "params": {"name": "midspan", "type": "symmetry", "target": {"set": "midspan"}, "plane": "x"}},
{"command": "model.boundary_condition.create", "params": {"name": "crown", "type": "symmetry", "target": {"set": "crown"}, "plane": "y"}},
{"command": "model.load.create", "params": {"name": "weight", "type": "body_force", "set": "shell", "vector": [0, 0, -360.0]}},
{"command": "model.step.create", "params": {"name": "Load", "procedure": {"type": "static"}, "boundary_conditions": ["diaphragm", "midspan", "crown"], "loads": ["weight"]}},
{"command": "solve.static", "params": {}, "id": "solve"}
]