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,160 @@
1
+ # Chapter: Scripting reference, Runtime Settings (SRC-003
2
+ # pp.339-340). These commands configure the initialized solver and are
3
+ # re-emitted between campaign points.
4
+
5
+ SOLVER_SET_AOA:
6
+ layout: inline
7
+ phase: init
8
+ args:
9
+ - name: angle
10
+ type: float
11
+ unit: "deg"
12
+ manual_ref: "SRC-003 p.339"
13
+ versions:
14
+ "26.100": {status: documented, note: "SRC-725 p.338, same grammar as 26.120"}
15
+ "26.120": {status: verified, report: "reports/compat/CMP-26120_2026-07-21_full.yaml"}
16
+ notes: >
17
+ Angle of attack; magnitude must stay below 90 degrees.
18
+
19
+ SOLVER_SET_SIDESLIP:
20
+ layout: inline
21
+ phase: init
22
+ args:
23
+ - name: angle
24
+ type: float
25
+ unit: "deg"
26
+ manual_ref: "SRC-003 p.339"
27
+ versions:
28
+ "26.120": {status: verified, report: "reports/compat/CMP-26120_2026-07-21_full.yaml"}
29
+ notes: >
30
+ Side-slip angle; magnitude must stay below 90 degrees.
31
+
32
+ SOLVER_SET_VELOCITY:
33
+ layout: inline
34
+ phase: init
35
+ args:
36
+ - name: velocity
37
+ type: float
38
+ unit: "m/s"
39
+ manual_ref: "SRC-003 p.339"
40
+ versions:
41
+ "26.100": {status: documented, note: "SRC-725 p.338, same grammar as 26.120"}
42
+ "26.120": {status: verified, report: "reports/compat/CMP-26120_2026-07-21_full.yaml"}
43
+ notes: >
44
+ Free-stream velocity magnitude.
45
+
46
+ SOLVER_SET_MACH_NUMBER:
47
+ layout: inline
48
+ phase: init
49
+ args:
50
+ - name: mach
51
+ type: float
52
+ manual_ref: "SRC-003 p.339"
53
+ versions:
54
+ "26.120": {status: verified, report: "reports/compat/CMP-26120_2026-07-21_full.yaml"}
55
+
56
+ SOLVER_SET_ITERATIONS:
57
+ layout: inline
58
+ phase: init
59
+ args:
60
+ - name: num_iterations
61
+ type: int
62
+ manual_ref: "SRC-003 p.339"
63
+ versions:
64
+ "26.100": {status: documented, note: "SRC-725 p.338, same grammar as 26.120"}
65
+ "26.120": {status: verified, report: "reports/compat/CMP-26120_2026-07-21_full.yaml"}
66
+
67
+ SOLVER_SET_CONVERGENCE:
68
+ layout: inline
69
+ phase: init
70
+ args:
71
+ - name: threshold
72
+ type: float
73
+ manual_ref: "SRC-003 p.339"
74
+ versions:
75
+ "26.100": {status: documented, note: "SRC-725 p.338, same grammar as 26.120"}
76
+ "26.120": {status: verified, report: "reports/compat/CMP-26120_2026-07-21_full.yaml"}
77
+ notes: >
78
+ Residual threshold on surface velocity and pressure below which
79
+ the run is declared converged (SRC-003 p.200).
80
+
81
+ SOLVER_SET_FORCED_ITERATIONS:
82
+ layout: inline
83
+ phase: init
84
+ args:
85
+ - name: mode
86
+ type: enum
87
+ values: [ENABLE, DISABLE]
88
+ manual_ref: "SRC-003 p.339"
89
+ versions:
90
+ "26.120": {status: verified, report: "reports/compat/CMP-26120_2026-07-21_full.yaml"}
91
+ notes: >
92
+ When enabled the solver runs the full iteration count regardless
93
+ of the convergence threshold.
94
+
95
+ SOLVER_SET_REF_VELOCITY:
96
+ layout: inline
97
+ phase: init
98
+ args:
99
+ - name: velocity
100
+ type: float
101
+ unit: "m/s"
102
+ manual_ref: "SRC-003 p.339"
103
+ versions:
104
+ "26.100": {status: documented, note: "SRC-725 p.338, same grammar as 26.120"}
105
+ "26.120": {status: verified, report: "reports/compat/CMP-26120_2026-07-21_full.yaml"}
106
+ notes: >
107
+ Reference velocity for coefficient normalization. For steady runs
108
+ it should equal the free-stream velocity; for rotary or hover
109
+ cases the manual instructs using the largest characteristic
110
+ velocity, such as the rotor tip speed (SRC-003 p.201).
111
+
112
+ SOLVER_SET_REF_MACH_NUMBER:
113
+ layout: inline
114
+ phase: init
115
+ args:
116
+ - name: mach
117
+ type: float
118
+ manual_ref: "SRC-003 p.339"
119
+ versions:
120
+ "26.120": {status: verified, report: "reports/compat/CMP-26120_2026-07-21_full.yaml"}
121
+
122
+ SOLVER_SET_REF_AREA:
123
+ layout: inline
124
+ phase: init
125
+ args:
126
+ - name: area
127
+ type: float
128
+ unit: "simulation length units squared"
129
+ manual_ref: "SRC-003 pp.339-340"
130
+ versions:
131
+ "26.100": {status: documented, note: "SRC-725 pp.338-339, same grammar as 26.120"}
132
+ "26.120": {status: verified, report: "reports/compat/CMP-26120_2026-07-21_full.yaml"}
133
+ notes: >
134
+ Reference area S_ref used in Q*S_ref force normalization
135
+ (coefficient definitions, SRC-003 p.223).
136
+
137
+ SOLVER_SET_REF_LENGTH:
138
+ layout: inline
139
+ phase: init
140
+ args:
141
+ - name: length
142
+ type: float
143
+ unit: "simulation length units"
144
+ manual_ref: "SRC-003 p.340"
145
+ versions:
146
+ "26.100": {status: documented, note: "SRC-725 p.339, same grammar as 26.120"}
147
+ "26.120": {status: verified, report: "reports/compat/CMP-26120_2026-07-21_full.yaml"}
148
+ notes: >
149
+ Reference length L_ref used in Q*S_ref*L_ref moment normalization
150
+ (coefficient definitions, SRC-003 p.223).
151
+
152
+ SET_MAX_PARALLEL_THREADS:
153
+ layout: inline
154
+ phase: init
155
+ args:
156
+ - name: num_cores
157
+ type: int
158
+ manual_ref: "SRC-003 p.340"
159
+ versions:
160
+ "26.120": {status: documented}
@@ -0,0 +1,14 @@
1
+ # Scenes chapter (SRC-003 p.355): scripted view and scene switching.
2
+ # Only the commands with observed scripted use are drafted; the
3
+ # remaining scene and colormap commands await a need.
4
+
5
+ CHANGE_SCENE_TO_PLOTS:
6
+ layout: bare
7
+ phase: control
8
+ args: []
9
+ manual_ref: "SRC-003 p.355"
10
+ versions:
11
+ "26.120": {status: documented}
12
+ notes: >
13
+ Switches the active scene to the plots view; scene switching is a
14
+ display action and may appear anywhere in a script.
@@ -0,0 +1,39 @@
1
+ # Chapter: Scripting, Script Controls (SRC-003 p.281).
2
+ # Control commands run at any point of a script; the builder exempts
3
+ # the control phase from phase ordering.
4
+
5
+ STOP:
6
+ layout: bare
7
+ phase: control
8
+ args: []
9
+ manual_ref: "SRC-003 p.281"
10
+ versions:
11
+ "26.120": {status: verified, report: "reports/compat/CMP-26120_2026-07-21_full.yaml"}
12
+ notes: >
13
+ Halts script processing at this location; the manual suggests it
14
+ for debugging partial scripts (SRC-003 p.280).
15
+
16
+ PRINT:
17
+ layout: inline
18
+ phase: control
19
+ args:
20
+ - name: message
21
+ type: str
22
+ manual_ref: "SRC-003 p.281"
23
+ versions:
24
+ "26.120": {status: verified, report: "reports/compat/CMP-26120_2026-07-21_full.yaml"}
25
+ notes: >
26
+ Writes a user-defined message to the log window; useful as a
27
+ sentinel marker in probe scripts.
28
+
29
+ RUN_SCRIPT:
30
+ layout: param_lines
31
+ phase: control
32
+ args:
33
+ - name: script_path
34
+ type: path
35
+ manual_ref: "SRC-003 p.281"
36
+ versions:
37
+ "26.120": {status: verified, report: "reports/compat/CMP-26120_2026-07-21_full.yaml"}
38
+ notes: >
39
+ Calls another script file from within the running script.
@@ -0,0 +1,30 @@
1
+ # Chapter: Scripting, Simulation Controls (SRC-003 p.284).
2
+
3
+ SET_SIMULATION_LENGTH_UNITS:
4
+ layout: inline
5
+ phase: setup
6
+ args:
7
+ - name: units
8
+ type: enum
9
+ values: [INCH, MILLIMETER, OTHER, FEET, MILE, METER, KILOMETER,
10
+ MILS, MICRON, CENTIMETER, MICROINCH]
11
+ manual_ref: "SRC-003 p.284"
12
+ versions:
13
+ "26.100": {status: documented, note: "SRC-725 p.283, same grammar as 26.120"}
14
+ "26.120": {status: verified, report: "reports/compat/CMP-26120_2026-07-21_full.yaml"}
15
+ notes: >
16
+ Selects the simulation length scale unit; geometry dimensions and
17
+ length-typed command arguments are interpreted in this unit.
18
+
19
+ SET_SIGNIFICANT_DIGITS:
20
+ layout: inline
21
+ phase: setup
22
+ args:
23
+ - name: digits
24
+ type: int
25
+ manual_ref: "SRC-003 p.284"
26
+ versions:
27
+ "26.120": {status: documented}
28
+ notes: >
29
+ Output precision, integer between 1 and 8; applies to the values
30
+ the solver writes into its exports.
@@ -0,0 +1,118 @@
1
+ # Chapter: Scripting reference, Solver Analysis (SRC-003 pp.350-351).
2
+
3
+ SET_VORTICITY_DRAG_BOUNDARIES:
4
+ layout: payload_lines
5
+ phase: analysis
6
+ args:
7
+ - name: num_boundaries
8
+ type: int
9
+ - name: boundary_indices
10
+ type: int_list
11
+ required: false
12
+ manual_ref: "SRC-003 p.350"
13
+ versions:
14
+ "26.100": {status: documented, note: "SRC-725 p.349, same grammar as 26.120"}
15
+ "26.120": {status: documented}
16
+ notes: >
17
+ Boundaries whose induced drag is computed from surface vorticity
18
+ circulation integration; -1 selects all boundaries. Boundaries
19
+ without trailing-edge boundary conditions on this list silently
20
+ report zero induced drag (SRC-003 p.202); bluff bodies belong to
21
+ surface-pressure integration instead, which is why the results
22
+ layer refuses blind per-boundary drag aggregation.
23
+
24
+ DELETE_VORTICITY_DRAG_BOUNDARIES:
25
+ layout: bare
26
+ phase: analysis
27
+ args: []
28
+ manual_ref: "SRC-003 p.350"
29
+ versions:
30
+ "26.120": {status: documented}
31
+
32
+ SET_SOLVER_ANALYSIS_LOADS_FRAME:
33
+ layout: inline
34
+ phase: analysis
35
+ args:
36
+ - name: load_frame
37
+ type: int
38
+ manual_ref: "SRC-003 p.350"
39
+ versions:
40
+ "26.120": {status: verified, report: "reports/compat/CMP-26120_2026-07-21_full.yaml"}
41
+ notes: >
42
+ Coordinate system used for evaluating aerodynamic loads and
43
+ moments; index 1 is the reference frame.
44
+
45
+ SET_ANALYSIS_MOMENTS_MODEL:
46
+ layout: inline
47
+ phase: analysis
48
+ args:
49
+ - name: model
50
+ type: enum
51
+ values: [PRESSURE, VORTICITY]
52
+ manual_ref: "SRC-003 p.350"
53
+ versions:
54
+ "26.120": {status: documented}
55
+ notes: >
56
+ PRESSURE is the solver default.
57
+
58
+ SET_ANALYSIS_SYMMETRY_LOADS:
59
+ layout: inline
60
+ phase: init
61
+ args:
62
+ - name: mode
63
+ type: enum
64
+ values: [ENABLE, DISABLE]
65
+ manual_ref: "SRC-003 p.350"
66
+ versions:
67
+ "26.100": {status: documented, note: "SRC-725 p.349, same grammar as 26.120"}
68
+ "26.120": {status: documented}
69
+ notes: >
70
+ Includes the loads of symmetry boundaries in the analysis; relevant
71
+ to half-model and periodic runs. Phase init on empirical evidence
72
+ (2026-07-21 legacy-case reproduction on build 7012026): the
73
+ unsteady per-step force plots consume this setting during the
74
+ solve, and leaving it at the post-PERIODIC default ENABLE recorded
75
+ six-fold symmetric-copy sums while the export-time loads were
76
+ unaffected; the setting therefore precedes START_SOLVER. The
77
+ post-MIRROR default is also ENABLE (HND-013 calibration).
78
+
79
+ SET_LOADS_AND_MOMENTS_UNITS:
80
+ layout: inline
81
+ phase: analysis
82
+ args:
83
+ - name: unit_type
84
+ type: enum
85
+ values: [COEFFICIENTS, NEWTONS, KILO-NEWTONS, POUND-FORCE,
86
+ KILOGRAM-FORCE]
87
+ manual_ref: "SRC-003 pp.350-351"
88
+ versions:
89
+ "26.100": {status: documented, note: "SRC-725 pp.349-350, same grammar as 26.120"}
90
+ "26.120": {status: verified, report: "reports/compat/CMP-26120_2026-07-21_full.yaml"}
91
+
92
+ SET_SOLVER_ANALYSIS_BOUNDARIES:
93
+ layout: payload_lines
94
+ phase: analysis
95
+ args:
96
+ - name: num_boundaries
97
+ type: int
98
+ - name: boundary_indices
99
+ type: int_list
100
+ manual_ref: "SRC-003 p.351"
101
+ versions:
102
+ "26.120": {status: documented}
103
+ notes: >
104
+ Enables the listed boundaries in the analysis tab; boundaries not
105
+ listed are disabled in the analysis (SRC-003 p.351).
106
+
107
+ SET_INVISCID_LOADS:
108
+ layout: inline
109
+ phase: analysis
110
+ args:
111
+ - name: mode
112
+ type: enum
113
+ values: [ENABLE, DISABLE]
114
+ manual_ref: "SRC-003 p.351"
115
+ versions:
116
+ "26.120": {status: verified, report: "reports/compat/CMP-26120_2026-07-21_full.yaml"}
117
+ notes: >
118
+ Restricts the analysis to inviscid loads and moments only.
@@ -0,0 +1,138 @@
1
+ # Chapter: Scripting reference, Solver Data Export (SRC-003
2
+ # pp.352-354).
3
+
4
+ EXPORT_SOLVER_ANALYSIS_SPREADSHEET:
5
+ layout: param_lines
6
+ phase: export
7
+ args:
8
+ - name: filename
9
+ type: path
10
+ manual_ref: "SRC-003 p.352"
11
+ versions:
12
+ "26.100": {status: documented, note: "SRC-725 p.351, same grammar as 26.120"}
13
+ "26.120": {status: verified, report: "reports/compat/CMP-26120_2026-07-21_full.yaml"}
14
+ notes: >
15
+ Exports the aerodynamic loads and moments spreadsheets; the
16
+ primary quantitative output of a steady polar run.
17
+
18
+ EXPORT_SOLVER_ANALYSIS_TECPLOT:
19
+ layout: param_lines
20
+ phase: export
21
+ args:
22
+ - name: filename
23
+ type: path
24
+ manual_ref: "SRC-003 p.352"
25
+ versions:
26
+ "26.120": {status: verified, report: "reports/compat/CMP-26120_2026-07-21_full.yaml"}
27
+ notes: >
28
+ Exports the Tecplot .dat file for all initialized boundaries.
29
+
30
+ EXPORT_SOLVER_ANALYSIS_VTK:
31
+ layout: param_lines
32
+ phase: export
33
+ args:
34
+ - name: filename
35
+ type: path
36
+ - name: surfaces
37
+ type: int
38
+ - name: boundary_indices
39
+ type: int_list
40
+ separator: newline
41
+ required: false
42
+ manual_ref: "SRC-003 p.352"
43
+ versions:
44
+ "26.120": {status: verified, report: "reports/compat/CMP-26120_2026-07-21_full.yaml"}
45
+ notes: >
46
+ Exports the VTK file. SURFACES takes -1 for all boundaries or a
47
+ count followed by one index per line.
48
+
49
+ SET_VTK_EXPORT_VARIABLES:
50
+ layout: payload_lines
51
+ phase: export
52
+ args:
53
+ - name: num_variables
54
+ type: int
55
+ - name: export_wake
56
+ type: enum
57
+ values: [ENABLE, DISABLE]
58
+ - name: variables
59
+ type: enum_list
60
+ separator: newline
61
+ required: false
62
+ values: [X, Y, Z, CF, CP, CP_REFERENCE, CP_FREESTREAM, MACH,
63
+ VX, VY, VZ, VTOT, PSTATIC, BLMOM, BLDISP, BLTHICK,
64
+ SHAPEFACTOR, TRANS, SEP, BLLENGTH, AREA, VORTICITY]
65
+ manual_ref: "SRC-003 p.352"
66
+ versions:
67
+ "26.120": {status: documented}
68
+ notes: >
69
+ NUM_VARIABLES takes -1 for all variables; otherwise one variable
70
+ name follows per line. The CP argument is flagged for depreciation
71
+ in favor of CP_REFERENCE and CP_FREESTREAM (SRC-003 p.352); the
72
+ emitter warns when CP is requested.
73
+
74
+ EXPORT_SOLVER_ANALYSIS_CSV:
75
+ layout: param_lines
76
+ phase: export
77
+ args:
78
+ - name: filename
79
+ type: path
80
+ - name: format
81
+ type: enum
82
+ values: [CP-FREESTREAM, CP-REFERENCE, PRESSURE]
83
+ - name: units
84
+ type: enum
85
+ values: [PASCALS, MEGAPASCALS, BAR, ATMOSPHERES, PSI]
86
+ - name: frame
87
+ type: int
88
+ - name: surfaces
89
+ type: int
90
+ - name: boundary_indices
91
+ type: int_list
92
+ separator: newline
93
+ required: false
94
+ manual_ref: "SRC-003 p.353"
95
+ versions:
96
+ "26.120": {status: verified, report: "reports/compat/CMP-26120_2026-07-21_full.yaml"}
97
+ notes: >
98
+ Exports the FEM CSV file. The path follows on the line after the
99
+ command name; FORMAT, UNITS, FRAME and SURFACES follow as KEY
100
+ VALUE lines, with the boundary indices one per line after
101
+ SURFACES when it is not -1.
102
+
103
+ EXPORT_SOLVER_ANALYSIS_PLOAD_BDF:
104
+ layout: param_lines
105
+ phase: export
106
+ args:
107
+ - name: filename
108
+ type: path
109
+ - name: surfaces
110
+ type: int
111
+ - name: boundary_indices
112
+ type: int_list
113
+ separator: newline
114
+ required: false
115
+ manual_ref: "SRC-003 p.353"
116
+ versions:
117
+ "26.120": {status: verified, report: "reports/compat/CMP-26120_2026-07-21_full.yaml"}
118
+ notes: >
119
+ Exports the NASTRAN PLOAD .bdf file based on the solver results.
120
+
121
+ EXPORT_SOLVER_ANALYSIS_FORCE_DISTRIBUTIONS:
122
+ layout: param_lines
123
+ phase: export
124
+ args:
125
+ - name: filename
126
+ type: path
127
+ - name: surfaces
128
+ type: int
129
+ - name: boundary_indices
130
+ type: int_list
131
+ separator: newline
132
+ required: false
133
+ manual_ref: "SRC-003 pp.353-354"
134
+ versions:
135
+ "26.120": {status: verified, report: "reports/compat/CMP-26120_2026-07-21_full.yaml"}
136
+ notes: >
137
+ Exports the force distribution vectors file for the initialized
138
+ boundaries.
@@ -0,0 +1,95 @@
1
+ # Chapter: Scripting reference, Solver Initialization / Execution
2
+ # (SRC-003 pp.337-338).
3
+
4
+ INITIALIZE_SOLVER:
5
+ layout: keyword_block
6
+ phase: init
7
+ args:
8
+ - name: solver_model
9
+ type: enum
10
+ values: [INCOMPRESSIBLE, SUBSONIC_PRANDTL_GLAUERT,
11
+ TRANSONIC_FIELD_PANEL, TANGENT_CONE, MODIFIED_NEWTONIAN]
12
+ - name: surfaces
13
+ type: int
14
+ - name: surface_toggles
15
+ type: str_list
16
+ separator: newline
17
+ required: false
18
+ - name: wake_termination_x
19
+ type: str
20
+ - name: symmetry
21
+ type: enum
22
+ values: [NONE, MIRROR, PERIODIC]
23
+ - name: symmetry_copies
24
+ type: int
25
+ required: false
26
+ joins_previous: true
27
+ - name: wall_collision_avoidance
28
+ type: enum
29
+ values: [ENABLE, DISABLE]
30
+ required: false
31
+ manual_ref: "SRC-003 p.337"
32
+ versions:
33
+ "26.100": {status: documented, note: "SRC-725 p.336, same grammar as 26.120"}
34
+ "26.120": {status: verified, report: "reports/compat/CMP-26120_2026-07-21_full.yaml"}
35
+ notes: >
36
+ SURFACES takes -1 for all boundaries or a count followed by one
37
+ line per surface with the surface index and the quad mesher toggle
38
+ (SURFACE_TOGGLES lines of the form index,ENABLE; the count check
39
+ ties them to SURFACES). WAKE_TERMINATION_X takes an X location in
40
+ the reference frame or DEFAULT for auto-computation. PERIODIC
41
+ symmetry appends the number of copies on the SYMMETRY line
42
+ (SYMMETRY_COPIES). WALL_COLLISION_AVOIDANCE applies to solver
43
+ models 1 to 3. The initialize_solver helper builds both extended
44
+ forms from typed arguments. Initializing MIRROR symmetry with a
45
+ full (non-half) model diverges instantly (SRC-003 p.217); case
46
+ metadata declaring a full model triggers a build-time warning when
47
+ cases/ lands.
48
+
49
+ SOLVER_PROXIMAL_BOUNDARIES:
50
+ layout: payload_lines
51
+ phase: init
52
+ args:
53
+ - name: count
54
+ type: int
55
+ - name: boundary_indices
56
+ type: int_list
57
+ separator: newline
58
+ manual_ref: "SRC-003 pp.337-338"
59
+ versions:
60
+ "26.120": {status: documented}
61
+ notes: >
62
+ Enables solver proximity checking for the listed boundaries, one
63
+ index per line. Must be called before INITIALIZE_SOLVER
64
+ (SRC-003 p.338).
65
+
66
+ REMOVE_INITIALIZATION:
67
+ layout: bare
68
+ phase: init
69
+ args: []
70
+ manual_ref: "SRC-003 p.338"
71
+ versions:
72
+ "26.120": {status: verified, report: "reports/compat/CMP-26120_2026-07-21_full.yaml"}
73
+
74
+ START_SOLVER:
75
+ layout: bare
76
+ phase: exec
77
+ args: []
78
+ manual_ref: "SRC-003 p.338"
79
+ versions:
80
+ "26.100": {status: documented, note: "SRC-725 p.337, same grammar as 26.120"}
81
+ "26.120": {status: verified, report: "reports/compat/CMP-26120_2026-07-21_full.yaml"}
82
+ notes: >
83
+ Runs the solver with the current runtime settings; convergence is
84
+ declared against the SOLVER_SET_CONVERGENCE threshold.
85
+
86
+ CLEAR_SOLUTION:
87
+ layout: bare
88
+ phase: exec
89
+ args: []
90
+ manual_ref: "SRC-003 p.338"
91
+ versions:
92
+ "26.120": {status: verified, report: "reports/compat/CMP-26120_2026-07-21_full.yaml"}
93
+ notes: >
94
+ Clears the existing solution while keeping the initialization;
95
+ used between sweep points when solution reuse is not wanted.