pyflightstream 0.2.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. pyflightstream/__init__.py +27 -0
  2. pyflightstream/cases/__init__.py +332 -0
  3. pyflightstream/cases/matrix_legacy.py +337 -0
  4. pyflightstream/commands/__init__.py +544 -0
  5. pyflightstream/commands/_meta.yaml +18 -0
  6. pyflightstream/commands/actuators.yaml +167 -0
  7. pyflightstream/commands/advanced_settings.yaml +136 -0
  8. pyflightstream/commands/aeroelastic_coupling.yaml +172 -0
  9. pyflightstream/commands/boundary_conditions.yaml +153 -0
  10. pyflightstream/commands/ccs_wing_mesh.yaml +74 -0
  11. pyflightstream/commands/coordinate_systems.yaml +123 -0
  12. pyflightstream/commands/file_io.yaml +82 -0
  13. pyflightstream/commands/mesh_import_export.yaml +72 -0
  14. pyflightstream/commands/motion_definitions.yaml +185 -0
  15. pyflightstream/commands/probe_points.yaml +116 -0
  16. pyflightstream/commands/runtime_settings.yaml +160 -0
  17. pyflightstream/commands/scenes.yaml +14 -0
  18. pyflightstream/commands/script_controls.yaml +39 -0
  19. pyflightstream/commands/simulation_controls.yaml +30 -0
  20. pyflightstream/commands/solver_analysis.yaml +118 -0
  21. pyflightstream/commands/solver_export.yaml +138 -0
  22. pyflightstream/commands/solver_initialization.yaml +95 -0
  23. pyflightstream/commands/solver_settings.yaml +120 -0
  24. pyflightstream/commands/streamlines.yaml +63 -0
  25. pyflightstream/commands/surface_sections.yaml +145 -0
  26. pyflightstream/commands/sweeper.yaml +115 -0
  27. pyflightstream/commands/unsteady_solver.yaml +68 -0
  28. pyflightstream/commands/volume_sections.yaml +148 -0
  29. pyflightstream/farfield/__init__.py +613 -0
  30. pyflightstream/files/__init__.py +375 -0
  31. pyflightstream/fsi/__init__.py +57 -0
  32. pyflightstream/fsi/beam.py +417 -0
  33. pyflightstream/fsi/centrifugal.py +418 -0
  34. pyflightstream/fsi/cli.py +206 -0
  35. pyflightstream/fsi/config.py +316 -0
  36. pyflightstream/fsi/driver.py +501 -0
  37. pyflightstream/fsi/kinematics.py +153 -0
  38. pyflightstream/fsi/loads.py +740 -0
  39. pyflightstream/fsi/nodes.py +463 -0
  40. pyflightstream/fsi/state.py +181 -0
  41. pyflightstream/post/__init__.py +18 -0
  42. pyflightstream/post/writers.py +195 -0
  43. pyflightstream/probes/__init__.py +453 -0
  44. pyflightstream/probes/geometry.py +281 -0
  45. pyflightstream/probes/planar.py +477 -0
  46. pyflightstream/qa/__init__.py +59 -0
  47. pyflightstream/qa/cli.py +364 -0
  48. pyflightstream/qa/compat.py +285 -0
  49. pyflightstream/qa/drift.py +406 -0
  50. pyflightstream/qa/geometry.py +421 -0
  51. pyflightstream/qa/physics.py +1744 -0
  52. pyflightstream/qa/probes.py +1023 -0
  53. pyflightstream/qa/references/PHY-01.yaml +38 -0
  54. pyflightstream/qa/references/PHY-02.yaml +28 -0
  55. pyflightstream/qa/references/PHY-05.yaml +29 -0
  56. pyflightstream/qa/references/PHY-06.yaml +90 -0
  57. pyflightstream/qa/references/SMI-01.yaml +28 -0
  58. pyflightstream/qa/references/SMI-02.yaml +28 -0
  59. pyflightstream/qa/specs.py +1405 -0
  60. pyflightstream/reference.py +465 -0
  61. pyflightstream/results/__init__.py +547 -0
  62. pyflightstream/run/__init__.py +677 -0
  63. pyflightstream/script/__init__.py +474 -0
  64. pyflightstream/script/helpers.py +844 -0
  65. pyflightstream/versions.py +191 -0
  66. pyflightstream-0.2.0.dist-info/METADATA +88 -0
  67. pyflightstream-0.2.0.dist-info/RECORD +71 -0
  68. pyflightstream-0.2.0.dist-info/WHEEL +5 -0
  69. pyflightstream-0.2.0.dist-info/entry_points.txt +3 -0
  70. pyflightstream-0.2.0.dist-info/licenses/LICENSE +21 -0
  71. pyflightstream-0.2.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,120 @@
1
+ # Chapter: Scripting reference, Solver Settings (SRC-003 pp.341-343).
2
+
3
+ SET_SOLVER_STEADY:
4
+ layout: bare
5
+ phase: init
6
+ args: []
7
+ manual_ref: "SRC-003 p.341"
8
+ versions:
9
+ "26.100": {status: documented, note: "SRC-725 p.340, same grammar as 26.120"}
10
+ "26.120": {status: verified, report: "reports/compat/CMP-26120_2026-07-21_full.yaml"}
11
+
12
+ SET_SOLVER_UNSTEADY:
13
+ layout: keyword_block
14
+ phase: init
15
+ args:
16
+ - name: time_iterations
17
+ type: int
18
+ - name: delta_time
19
+ type: float
20
+ unit: "s"
21
+ manual_ref: "SRC-003 p.341"
22
+ versions:
23
+ "26.120": {status: verified, report: "reports/compat/CMP-26120_2026-07-21_full.yaml"}
24
+ notes: >
25
+ Physical time stepping. For rotary cases the manual recommends 8
26
+ to 12 degrees of blade rotation per time step and at least two
27
+ full rotations (SRC-003 p.210).
28
+
29
+ SET_BOUNDARY_LAYER_TYPE:
30
+ layout: inline
31
+ phase: init
32
+ args:
33
+ - name: type
34
+ type: enum
35
+ values: [LAMINAR, TRANSITIONAL, TURBULENT]
36
+ manual_ref: "SRC-003 p.341"
37
+ versions:
38
+ "26.120": {status: documented}
39
+ notes: >
40
+ The default transitional-turbulent model is stated valid for chord
41
+ Reynolds numbers between 500000 and 1500000; outside this range
42
+ select LAMINAR or TURBULENT explicitly (SRC-003 p.203).
43
+
44
+ SET_SOLVER_VISCOUS_COUPLING:
45
+ layout: inline
46
+ phase: init
47
+ args:
48
+ - name: mode
49
+ type: enum
50
+ values: [ENABLE, DISABLE]
51
+ manual_ref: "SRC-003 p.341"
52
+ versions:
53
+ "26.120": {status: documented}
54
+ notes: >
55
+ Couples the semi-empirical boundary layer model to the potential
56
+ flow solution. Attached-flow viscosity only; stall capture also
57
+ needs a flow separation model assignment (SRC-003 pp.207-208).
58
+
59
+ SET_VISCOUS_EXCLUDED_BOUNDARIES:
60
+ layout: payload_lines
61
+ phase: init
62
+ args:
63
+ - name: num_boundaries
64
+ type: int
65
+ - name: boundary_indices
66
+ type: int_list
67
+ manual_ref: "SRC-003 p.341"
68
+ versions:
69
+ "26.120": {status: documented}
70
+ notes: >
71
+ Excludes the listed boundaries from viscous coupling; the indices
72
+ follow on the next line as comma-separated values.
73
+
74
+ CREATE_BULK_SEPARATION:
75
+ layout: payload_lines
76
+ phase: init
77
+ args:
78
+ - name: name
79
+ type: str
80
+ - name: separation_type
81
+ type: enum
82
+ values: [CYLINDRICAL, FLAT_PLATE]
83
+ - name: num_boundaries
84
+ type: int
85
+ - name: diameter
86
+ type: float
87
+ unit: "simulation length units"
88
+ - name: boundary_indices
89
+ type: int_list
90
+ required: false
91
+ manual_ref: "SRC-003 p.342"
92
+ versions:
93
+ "26.100":
94
+ status: documented
95
+ note: >-
96
+ SRC-725 p.341 documents a three-argument form without
97
+ SEPARATION_TYPE. The same page's sample blocks spell the
98
+ command CREARE_BULK_SEPARATION while the function header
99
+ spells CREATE_BULK_SEPARATION; which token the 26.1 solver
100
+ accepts is unverified (pending probe, PLN-015)
101
+ args:
102
+ - name: name
103
+ type: str
104
+ - name: num_boundaries
105
+ type: int
106
+ - name: diameter
107
+ type: float
108
+ unit: "simulation length units"
109
+ - name: boundary_indices
110
+ type: int_list
111
+ required: false
112
+ "26.120": {status: documented}
113
+ notes: >
114
+ Assigns the bulk (bluff-body) flow-separation model to the listed
115
+ boundaries. NUM_BOUNDARIES takes -1 for all mesh boundaries;
116
+ otherwise the comma-separated indices follow on the next line
117
+ (SRC-003 p.342). The signature is version-sensitive: 26.12 inserts
118
+ SEPARATION_TYPE (CYLINDRICAL or FLAT_PLATE, matching the bulk
119
+ model sub-typing documented at SRC-003 p.207) as the second
120
+ argument, which the 26.1 grammar does not have (SRC-725 p.341).
@@ -0,0 +1,63 @@
1
+ # Chapter: Scripting reference, Post Processing, Off-body Streamlines
2
+ # (SRC-003 pp.368-369). The on-body family (p.370) is deferred to the
3
+ # cases that exercise it.
4
+
5
+ NEW_OFF_BODY_STREAMLINE:
6
+ layout: keyword_block
7
+ phase: analysis
8
+ args:
9
+ - name: position_x
10
+ type: float
11
+ - name: position_y
12
+ type: float
13
+ - name: position_z
14
+ type: float
15
+ - name: upstream
16
+ type: enum
17
+ values: [ENABLE, DISABLE]
18
+ manual_ref: "SRC-003 p.368"
19
+ versions:
20
+ "26.120": {status: broken, report: "reports/compat/CMP-26120_2026-07-21_full.yaml", note: "script processing aborted at the command: the log exported before it exists, the one after it never appeared (END sentinel missing)"}
21
+
22
+ NEW_STREAMLINE_DISTRIBUTION:
23
+ layout: keyword_block
24
+ phase: analysis
25
+ args:
26
+ - name: position_1_x
27
+ type: float
28
+ - name: position_1_y
29
+ type: float
30
+ - name: position_1_z
31
+ type: float
32
+ - name: position_2_x
33
+ type: float
34
+ - name: position_2_y
35
+ type: float
36
+ - name: position_2_z
37
+ type: float
38
+ - name: subdivisions
39
+ type: int
40
+ manual_ref: "SRC-003 p.368"
41
+ versions:
42
+ "26.120": {status: verified, report: "reports/compat/CMP-26120_2026-07-21_full.yaml"}
43
+ notes: >
44
+ SUBDIVISIONS is N+1 for N streamlines between the start and end
45
+ vertices.
46
+
47
+ GENERATE_ALL_OFF_BODY_STREAMLINES:
48
+ layout: bare
49
+ phase: analysis
50
+ args: []
51
+ manual_ref: "SRC-003 p.368"
52
+ versions:
53
+ "26.120": {status: verified, report: "reports/compat/CMP-26120_2026-07-21_full.yaml"}
54
+
55
+ EXPORT_ALL_OFF_BODY_STREAMLINES:
56
+ layout: param_lines
57
+ phase: export
58
+ args:
59
+ - name: filename
60
+ type: path
61
+ manual_ref: "SRC-003 p.369"
62
+ versions:
63
+ "26.120": {status: verified, report: "reports/compat/CMP-26120_2026-07-21_full.yaml"}
@@ -0,0 +1,145 @@
1
+ # Chapter: Scripting reference, Post Processing, Surface Sections
2
+ # (SRC-003 pp.364-365).
3
+
4
+ CREATE_NEW_SURFACE_SECTION:
5
+ layout: payload_lines
6
+ phase: analysis
7
+ args:
8
+ - name: frame
9
+ type: int
10
+ - name: plane
11
+ type: enum
12
+ values: [XY, XZ, YZ]
13
+ - name: offset
14
+ type: float
15
+ - name: plot_direction
16
+ type: enum
17
+ values: ["1", "2"]
18
+ - name: symmetry
19
+ type: enum
20
+ values: [ENABLE, DISABLE]
21
+ - name: surfaces
22
+ type: int
23
+ - name: surface_indices
24
+ type: int_list
25
+ separator: space
26
+ required: false
27
+ manual_ref: "SRC-003 p.364"
28
+ versions:
29
+ "26.120": {status: verified, report: "reports/compat/CMP-26120_2026-07-21_full.yaml"}
30
+ notes: >
31
+ SURFACES takes -1 for all boundaries; otherwise the space-separated
32
+ surface indices follow on the next line.
33
+
34
+ NEW_SURFACE_SECTION_DISTRIBUTION:
35
+ layout: keyword_block
36
+ phase: init
37
+ args:
38
+ - name: frame
39
+ type: int
40
+ - name: plane
41
+ type: enum
42
+ values: [XY, XZ, YZ]
43
+ - name: num_sections
44
+ type: int
45
+ - name: plot_direction
46
+ type: enum
47
+ values: ["1", "2"]
48
+ - name: include_symmetry
49
+ type: enum
50
+ values: [ENABLE, DISABLE]
51
+ required: false
52
+ - name: surfaces
53
+ type: int
54
+ - name: surface_indices
55
+ type: int_list
56
+ separator: space
57
+ required: false
58
+ manual_ref: "SRC-003 p.364"
59
+ versions:
60
+ "26.120": {status: broken, report: "reports/compat/CMP-26120_2026-07-21_full.yaml", note: "the documented grammar (without INCLUDE_SYMMETRY) aborted the probe script; a working 26.120 script carries the undocumented INCLUDE_SYMMETRY keyword ahead of SURFACES (2026-07-21 legacy-case reproduction); re-probe with the extended grammar pending (PLN-012)"}
61
+ notes: >
62
+ Creates NUM_SECTIONS sections at once; the surface indices follow
63
+ the SURFACES line. The manual grammar (SRC-003 p.364) aborted the
64
+ Tier 2 probe on 26.120, while a working 26.120 script additionally
65
+ carries an INCLUDE_SYMMETRY keyword the manual does not list; the
66
+ keyword is declared optional here until the re-probe decides
67
+ (PLN-012). Phase init on empirical evidence (2026-07-21
68
+ legacy-case reproduction): the cut planes freeze at creation
69
+ against the current geometry pose, so distributions over moving
70
+ boundaries must be created before the motion runs; the working
71
+ legacy script creates them pre-solve, and the aborting probe ran
72
+ the command post-solve, making the phase a candidate abort cause.
73
+
74
+ COMPUTE_SURFACE_SECTIONAL_LOADS:
75
+ layout: inline
76
+ phase: analysis
77
+ args:
78
+ - name: units_type
79
+ type: enum
80
+ values: [COEFFICIENTS, NEWTONS, KILO-NEWTONS, POUND-FORCE,
81
+ KILOGRAM-FORCE]
82
+ manual_ref: "SRC-003 p.364"
83
+ versions:
84
+ "26.120": {status: verified, report: "reports/compat/CMP-26120_2026-07-21_full.yaml"}
85
+ notes: >
86
+ Integrates the surface section properties into per-section loads.
87
+ Call it only after the relevant sections are updated and before
88
+ EXPORT_SURFACE_SECTIONAL_LOADS (SRC-003 p.364).
89
+
90
+ EXPORT_SURFACE_SECTIONAL_LOADS:
91
+ layout: param_lines
92
+ phase: export
93
+ args:
94
+ - name: filename
95
+ type: path
96
+ manual_ref: "SRC-003 pp.364-365"
97
+ versions:
98
+ "26.120": {status: verified, report: "reports/compat/CMP-26120_2026-07-21_full.yaml"}
99
+ notes: >
100
+ Writes the sectional loads file consumed by the sectional-loads
101
+ parser and the FSI coupling loop.
102
+
103
+ UPDATE_ALL_SURFACE_SECTIONS:
104
+ layout: bare
105
+ phase: analysis
106
+ args: []
107
+ manual_ref: "SRC-003 p.365"
108
+ versions:
109
+ "26.120": {status: documented}
110
+
111
+ EXPORT_ALL_SURFACE_SECTIONS:
112
+ layout: param_lines
113
+ phase: export
114
+ args:
115
+ - name: filename
116
+ type: path
117
+ manual_ref: "SRC-003 p.365"
118
+ versions:
119
+ "26.120": {status: verified, report: "reports/compat/CMP-26120_2026-07-21_full.yaml"}
120
+
121
+ EXPORT_SURFACE_SECTIONS:
122
+ layout: inline
123
+ phase: export
124
+ args:
125
+ - name: index
126
+ type: int
127
+ manual_ref: "SRC-003 p.365"
128
+ versions:
129
+ "26.120": {status: documented}
130
+ notes: >
131
+ Exports one surface section by index (index greater than 0), with
132
+ no filename line documented (SRC-003 p.365). Added at 26.12; the
133
+ 26.1 manual documents only the all-sections export, so a 26.1
134
+ script exports everything through EXPORT_ALL_SURFACE_SECTIONS and
135
+ filters afterwards (SRC-725 p.364).
136
+
137
+ DELETE_SURFACE_SECTION:
138
+ layout: inline
139
+ phase: analysis
140
+ args:
141
+ - name: index
142
+ type: int
143
+ manual_ref: "SRC-003 p.365"
144
+ versions:
145
+ "26.120": {status: documented}
@@ -0,0 +1,115 @@
1
+ # Chapter: Sweeper Toolbox script commands, drafted from the worked
2
+ # scripting example (SRC-003 p.406) and the Script Index (p.383). The
3
+ # Sweeper chapter narrative (pp.264-279) is not deep-reviewed yet;
4
+ # these entries record the forms shown in the example, and the
5
+ # follow-up manual pass may widen the argument grammars.
6
+
7
+ SWEEPER_SET_AOA_SWEEP:
8
+ layout: inline
9
+ phase: init
10
+ args:
11
+ - name: mode
12
+ type: enum
13
+ values: [CUSTOM, DISABLE]
14
+ - name: values
15
+ type: float_list
16
+ unit: "deg"
17
+ required: false
18
+ manual_ref: "SRC-003 p.406"
19
+ versions:
20
+ "26.120": {status: verified, report: "reports/compat/CMP-26120_2026-07-21_full.yaml"}
21
+ notes: >
22
+ CUSTOM takes the angle of attack list inline, space separated.
23
+
24
+ SWEEPER_SET_BETA_SWEEP:
25
+ layout: inline
26
+ phase: init
27
+ args:
28
+ - name: mode
29
+ type: enum
30
+ values: [CUSTOM, DISABLE]
31
+ - name: values
32
+ type: float_list
33
+ unit: "deg"
34
+ required: false
35
+ manual_ref: "SRC-003 p.406"
36
+ versions:
37
+ "26.120": {status: verified, report: "reports/compat/CMP-26120_2026-07-21_full.yaml"}
38
+
39
+ SWEEPER_SET_VELOCITY_SWEEP:
40
+ layout: inline
41
+ phase: init
42
+ args:
43
+ - name: mode
44
+ type: enum
45
+ values: [CUSTOM, DISABLE]
46
+ - name: filename
47
+ type: path
48
+ required: false
49
+ manual_ref: "SRC-003 p.406"
50
+ versions:
51
+ "26.120": {status: documented}
52
+ notes: >
53
+ CUSTOM imports the velocity list from a text file given inline.
54
+
55
+ SWEEPER_POST_RUN_SCRIPT:
56
+ layout: inline
57
+ phase: init
58
+ args:
59
+ - name: mode
60
+ type: enum
61
+ values: [ENABLE, DISABLE]
62
+ - name: script_path
63
+ type: path
64
+ required: false
65
+ manual_ref: "SRC-003 p.406"
66
+ versions:
67
+ "26.120": {status: verified, report: "reports/compat/CMP-26120_2026-07-21_full.yaml"}
68
+ notes: >
69
+ Per-run post-processing script executed after each sweep point,
70
+ for example a surface section extraction script.
71
+
72
+ SWEEPER_CLEAR_SOLUTION:
73
+ layout: inline
74
+ phase: init
75
+ args:
76
+ - name: mode
77
+ type: enum
78
+ values: [ENABLE, DISABLE]
79
+ manual_ref: "SRC-003 p.406"
80
+ versions:
81
+ "26.120": {status: documented}
82
+ notes: >
83
+ Controls solution reuse between sweep runs.
84
+
85
+ SWEEPER_REF_VELOCITY_SAME:
86
+ layout: inline
87
+ phase: init
88
+ args:
89
+ - name: mode
90
+ type: enum
91
+ values: [ENABLE, DISABLE]
92
+ manual_ref: "SRC-003 p.406"
93
+ versions:
94
+ "26.120": {status: documented}
95
+ notes: >
96
+ Keeps the reference velocity equal to the free-stream velocity at
97
+ every sweep point.
98
+
99
+ SWEEPER_START:
100
+ layout: bare
101
+ phase: exec
102
+ args: []
103
+ manual_ref: "SRC-003 p.406"
104
+ versions:
105
+ "26.120": {status: verified, report: "reports/compat/CMP-26120_2026-07-21_full.yaml"}
106
+
107
+ SWEEPER_EXPORT_SPREADSHEET:
108
+ layout: inline
109
+ phase: export
110
+ args:
111
+ - name: filename
112
+ type: path
113
+ manual_ref: "SRC-003 p.406"
114
+ versions:
115
+ "26.120": {status: verified, report: "reports/compat/CMP-26120_2026-07-21_full.yaml"}
@@ -0,0 +1,68 @@
1
+ # Unsteady Solver chapter (SRC-003 pp.347-348): per-time-step
2
+ # monitoring plots and their export. SET_SOLVER_UNSTEADY itself lives
3
+ # in solver_settings.yaml with the other solver mode selectors.
4
+
5
+ UNSTEADY_SOLVER_NEW_FORCE_PLOT:
6
+ layout: keyword_block
7
+ phase: setup
8
+ args:
9
+ - name: frame
10
+ type: int
11
+ - name: units
12
+ type: enum
13
+ values: [COEFFICIENTS, NEWTONS, KILO-NEWTONS, POUND-FORCE, KILOGRAM-FORCE]
14
+ - name: parameter
15
+ type: enum
16
+ values: [CL, CDI, CDO, CD, FORCE_X, FORCE_Y, FORCE_Z, MOMENT_X, MOMENT_Y, MOMENT_Z]
17
+ - name: name
18
+ type: str
19
+ - name: boundaries
20
+ type: int
21
+ - name: boundary_indices
22
+ type: int_list
23
+ required: false
24
+ manual_ref: "SRC-003 p.347"
25
+ versions:
26
+ "26.120": {status: documented}
27
+ notes: >
28
+ Samples one force or moment parameter per solver time step, in
29
+ FRAME and UNITS, over the listed boundaries. BOUNDARIES -1 selects
30
+ every boundary and takes no index line; a positive count is
31
+ followed by the comma-separated boundary indices on the next line.
32
+ Plots must exist before the solver runs to record its steps.
33
+
34
+ UNSTEADY_SOLVER_NEW_FLUID_PLOT:
35
+ layout: keyword_block
36
+ phase: setup
37
+ args:
38
+ - name: frame
39
+ type: int
40
+ - name: parameter
41
+ type: enum
42
+ values: [CP_FREE, CP_REF, MACH, VELOCITY, VX, VY, VZ, STATIC_PRESSURE_RATIO]
43
+ - name: name
44
+ type: str
45
+ - name: vertex
46
+ type: str
47
+ manual_ref: "SRC-003 p.347"
48
+ versions:
49
+ "26.120": {status: documented}
50
+ notes: >
51
+ Samples one fluid property per solver time step at a fixed vertex.
52
+ VERTEX takes the three coordinates preformatted on one line
53
+ ("X Y Z", reference units of FRAME); the typed triple validation
54
+ lives in the caller, the same preformatted-token convention as the
55
+ per-surface lines of INITIALIZE_SOLVER.
56
+
57
+ UNSTEADY_SOLVER_EXPORT_PLOTS:
58
+ layout: param_lines
59
+ phase: export
60
+ args:
61
+ - name: filename
62
+ type: path
63
+ manual_ref: "SRC-003 p.347"
64
+ versions:
65
+ "26.120": {status: documented}
66
+ notes: >
67
+ Exports every unsteady solver plot (force and fluid) with one
68
+ column per plot and one row per time step.
@@ -0,0 +1,148 @@
1
+ # Chapter: Scripting reference, Post Processing, Volume Sections
2
+ # (SRC-003 pp.366-367). Volume sections are the flow-field planes the
3
+ # flux integration work extracts.
4
+
5
+ CREATE_NEW_RECTANGLE_VOLUME_SECTION:
6
+ layout: inline
7
+ phase: analysis
8
+ args:
9
+ - name: frame
10
+ type: int
11
+ - name: plane
12
+ type: enum
13
+ values: [XY, XZ, YZ]
14
+ - name: offset
15
+ type: float
16
+ - name: refinement_layers
17
+ type: int
18
+ - name: x1
19
+ type: float
20
+ - name: y1
21
+ type: float
22
+ - name: x2
23
+ type: float
24
+ - name: y2
25
+ type: float
26
+ - name: prisms_type
27
+ type: enum
28
+ values: [NONE, PRISMS, PRISMS_ONLY]
29
+ - name: thickness
30
+ type: float
31
+ - name: layers
32
+ type: int
33
+ - name: growth_rate
34
+ type: float
35
+ manual_ref: "SRC-003 p.366"
36
+ versions:
37
+ "26.120": {status: verified, report: "reports/compat/CMP-26120_2026-07-21_full.yaml"}
38
+ notes: >
39
+ Rectangular flow-field section between two diagonal corners, with
40
+ optional near-wall prism cell layers.
41
+
42
+ CREATE_NEW_CIRCLE_VOLUME_SECTION:
43
+ layout: inline
44
+ phase: analysis
45
+ args:
46
+ - name: frame
47
+ type: int
48
+ - name: plane
49
+ type: enum
50
+ values: [XY, XZ, YZ]
51
+ - name: offset
52
+ type: float
53
+ - name: ipts
54
+ type: int
55
+ - name: jpts
56
+ type: int
57
+ - name: r1
58
+ type: float
59
+ - name: r2
60
+ type: float
61
+ - name: prisms_type
62
+ type: enum
63
+ values: [NONE, PRISMS]
64
+ - name: thickness
65
+ type: float
66
+ - name: layers
67
+ type: int
68
+ - name: growth_rate
69
+ type: float
70
+ manual_ref: "SRC-003 p.366"
71
+ versions:
72
+ "26.120": {status: verified, report: "reports/compat/CMP-26120_2026-07-21_full.yaml"}
73
+ notes: >
74
+ Annular flow-field section with IPTS radial and JPTS azimuth
75
+ segments between the inner and outer radii; the natural plane for
76
+ slipstream surveys behind an actuator disc.
77
+
78
+ VOLUME_SECTION_BOUNDARY_LAYER:
79
+ layout: inline
80
+ phase: analysis
81
+ args:
82
+ - name: index
83
+ type: int
84
+ - name: mode
85
+ type: enum
86
+ values: [ENABLE, DISABLE]
87
+ manual_ref: "SRC-725 p.365"
88
+ versions:
89
+ "26.100": {status: documented}
90
+ "26.120":
91
+ status: removed
92
+ note: >-
93
+ absent from the 26.12 manual: the Volume Sections family
94
+ (SRC-003 pp.366-367) no longer lists the command and the
95
+ Script Index does not carry it; no replacement documented
96
+ notes: >
97
+ Toggles boundary-layer induction on one volume section (index
98
+ greater than 0). Documented in 26.1 only (SRC-725 p.365); the
99
+ command disappeared from the manual at 26.12 with no successor in
100
+ the Volume Sections family.
101
+
102
+ UPDATE_ALL_VOLUME_SECTIONS:
103
+ layout: bare
104
+ phase: analysis
105
+ args: []
106
+ manual_ref: "SRC-003 p.366"
107
+ versions:
108
+ "26.120": {status: documented}
109
+
110
+ EXPORT_VOLUME_SECTION_VTK:
111
+ layout: inline
112
+ phase: export
113
+ args:
114
+ - name: index
115
+ type: int
116
+ - name: filename
117
+ type: path
118
+ own_line: true
119
+ manual_ref: "SRC-003 pp.366-367"
120
+ versions:
121
+ "26.120": {status: verified, report: "reports/compat/CMP-26120_2026-07-21_full.yaml"}
122
+ notes: >
123
+ The file path follows on the line after the section index.
124
+
125
+ EXPORT_VOLUME_SECTION_TECPLOT:
126
+ layout: inline
127
+ phase: export
128
+ args:
129
+ - name: index
130
+ type: int
131
+ - name: filename
132
+ type: path
133
+ own_line: true
134
+ manual_ref: "SRC-003 p.367"
135
+ versions:
136
+ "26.120": {status: verified, report: "reports/compat/CMP-26120_2026-07-21_full.yaml"}
137
+ notes: >
138
+ The file path follows on the line after the section index.
139
+
140
+ DELETE_VOLUME_SECTION:
141
+ layout: inline
142
+ phase: analysis
143
+ args:
144
+ - name: index
145
+ type: int
146
+ manual_ref: "SRC-003 p.367"
147
+ versions:
148
+ "26.120": {status: verified, report: "reports/compat/CMP-26120_2026-07-21_full.yaml"}