Inputs¶
GENERATED FROM THE CODE by pyflightstream. Do not edit: it is rewritten.
Every key an input artifact of a workspace may state, one row each: what it sets, its unit or the values it takes, the run types or builds that accept it where the code says, and the solver command it reaches where one does. Each meaning is read from the code beside the key, so a key the package gains arrives here with its meaning. A key whose value no line of the run's script carries says so, "No line of the script carries its value", and names what takes the value instead. A blank Accepted by means the code states no restriction of run type or build; a blank command means the key reaches no command of its own. What the products state is in VARIABLES.md beside this page.
The run matrix¶
One row per line of the pipe-delimited matrix file, in the columns below. FLIGHT_CONDITION holds KEY:value pairs separated by commas, and VAR_NAMES_VALUES holds KEY: value pairs separated by /. A key no run type reads is refused, naming the run types that do.
The columns¶
The columns of a row, in file order.
| Key | What it sets | Unit or values | Accepted by | Command |
|---|---|---|---|---|
POL |
The row's identifier: the simulation id its points are recorded and named under. | an id, unique in the matrix | ||
HIDDEN |
Whether the solver runs without its window. | 1 is hidden | ||
RUN |
Whether the row runs at all; only a row reading 1 is active. | an integer | ||
AIRCRAFT |
The configuration's name. | text | ||
CONFIGURATION |
The user's own label for the configuration; it configures nothing. | text | ||
DESCRIPTION |
Free text about the row. | text | ||
FLIGHT_CONDITION |
The flow condition and the attitude of every point: the keys given decide which quantity is solved for, and the swept key carries the word sweep. | KEY:value pairs, comma separated; see the table below | ||
SWEEP_VALUES |
The values of the key the FLIGHT_CONDITION cell sweeps, one point each. | numbers, comma separated | ||
GEOMETRY |
The geometry the row opens, a file of inputs/geometries/. | a file name with its extension | OPEN, IMPORT |
|
REF |
The reference artifact the row's lengths, frames, rotors and discs come from. | an id of inputs/references/ | ||
SET |
The setup artifact the row's solver settings come from. | an id of inputs/setups/ | ||
PPROC |
The post-processing artifact the row's sections, plots, probes, exports and products come from. | an id of inputs/pproc/ | ||
SYMMETRY |
The symmetry the solver is initialized under, which states what was meshed. | NONE, MIRROR or PERIODIC | INITIALIZE_SOLVER |
|
SYMMETRY_LOADS |
Whether the reported loads are the meshed sector's or the whole wheel's. | true or false | SET_ANALYSIS_SYMMETRY_LOADS |
|
NCPUS |
The processor count: the solver's thread count and, on a cluster, the scheduler's ncpus. | a count | SET_MAX_PARALLEL_THREADS |
|
WALLTIME |
The wall clock the row asks for: the scheduler's limit on a cluster, and what the watchdog counts down on an unsteady row. No line of the script carries its value: on an unsteady row, stating it registers the wall-clock actions, and the run writes the deadline into the program they run; on a cluster, the job asks the scheduler for it. | a number and its unit, s (seconds), m (minutes), h (hours), d (days), as 240m or 4h | ||
FS_BUILD |
The solver build the row runs on, as inputs/executables.toml names it. | a build identifier | ||
WORKFLOW |
The run type that builds the row's script, or LEGACY for a row a recipe of the user builds. | steady, unsteady, unsteady_rotor or LEGACY | ||
VAR_NAMES_VALUES |
The row's own keys, the ones its run type reads; see the table of row keys. | KEY: value pairs separated by / |
The FLIGHT_CONDITION cell¶
The flow keys are a set of constraints on one flow state, and the keys given decide which quantity is solved for; the attitude keys fix where the aircraft points. Matched case-insensitively; the swept key carries the word sweep.
| Key | What it sets | Unit or values | Accepted by | Command |
|---|---|---|---|---|
MACH |
Constrains velocity, through the speed of sound at the state's own temperature. | dimensionless | ||
TASmps |
Constrains velocity directly. | m/s | ||
REmi |
Constrains density. | millions | ||
ALTFT |
Constrains pressure, and temperature through the standard lapse. | feet | ||
dISA |
Constrains temperature, as an offset on the standard value. | Celsius, a DELTA | ||
RHOkgm3 |
Constrains density directly, overriding both the atmosphere and REmi. | kg/m^3 | ||
MUPas |
Constrains dynamic viscosity, which REmi then solves the density against. | Pa s | ||
ASMPS |
Constrains sonic velocity, which MACH is then taken against. | m/s | ||
TK |
Constrains temperature, stated rather than lapsed. | kelvin | ||
PPA |
Constrains pressure, stated rather than lapsed. | pascal | ||
ALPHA |
The incidence of the free stream. | degrees | ||
BETA |
The sideslip of the free stream. | degrees | ||
ADVANCE_RATIO |
The speed of every motion that states none. | dimensionless | ||
RPM |
The speed of every motion that states none, a magnitude: the sense is the reference's rpm_sign. | rev/min | ||
roll_rate |
The roll rate of the aircraft, about the REF's MRP. | deg/s | ||
pitch_rate |
The pitch rate of the aircraft, about the REF's MRP. | deg/s | ||
yaw_rate |
The yaw rate of the aircraft, about the REF's MRP. | deg/s |
The row keys, by run type¶
Every key a run type reads off its row. Most are written in the VAR_NAMES_VALUES cell; a key with its own column, or of the FLIGHT_CONDITION cell, is written there, as its meaning says. A key [[flags]] of the row's setup declares is a key of the row too.
| Key | What it sets | Unit or values | Accepted by | Command |
|---|---|---|---|---|
GEOMETRY |
The geometry the row opens, a file of inputs/geometries/; written in the GEOMETRY column since 0.17.0. | a file name with its extension | every run type | OPEN, IMPORT |
SYMMETRY |
The symmetry the solver is initialized under, which states what was meshed; written in the SYMMETRY column since 0.17.0. | NONE, MIRROR or PERIODIC, as the build's database spells them; absent is NONE | every run type | INITIALIZE_SOLVER |
SYMMETRY_LOADS |
Whether the reported loads are the meshed sector's or the whole wheel's; written in its column, and it wins over the setup's symmetry_loads. | true or false | every run type | SET_ANALYSIS_SYMMETRY_LOADS |
ALPHA |
The angle of attack, stated in the FLIGHT_CONDITION cell as a number or as the word sweep. | deg | every run type | SOLVER_SET_AOA |
BETA |
The sideslip angle, stated in the FLIGHT_CONDITION cell as a number or as the word sweep. | deg | every run type | SOLVER_SET_SIDESLIP |
IGNORE_MISSING_FAMILIES |
Whether a family the opened mesh lacks is left out or refuses the point; set by --ignore-missing-families of the command line and refused in a cell. | true or false; the command line's default is true | every run type | |
EXPORT_LOG |
Whether the script exports the solver log; written by the run from the HPC profile's [log] table, never by a cell. | false, the only value ever written | every run type | EXPORT_LOG |
PERIODIC_COPIES |
How many periodic copies the meshed sector stands for; required with SYMMETRY PERIODIC and refused otherwise. | a count | every run type | INITIALIZE_SOLVER |
BASE_REGIONS |
The boundaries that become base regions, the flat base and never the body carrying it; it wins over the pproc's base_regions. | boundary names, comma separated | every run type | DETECT_BASE_REGIONS_BY_SURFACE |
ROTATE |
Rotations of the opened mesh, one record each, applied in the order written and after every translation. | records {ANGLE: deg / AXIS: - |
every run type | ROTATE_SURFACE, SURFACE_ROTATE |
TRANSLATE |
Translations of the opened mesh, one record each along one axis of a frame, applied in the order written and before every rotation. | records {DISTANCE: m / AXIS: - |
every run type | TRANSLATE_SURFACE_IN_FRAME |
VELOCITY |
The free-stream velocity of a case written in Python; a matrix row's comes from its FLIGHT_CONDITION. | m/s | every run type | SOLVER_SET_VELOCITY |
ADVANCE_RATIO |
The rotor speed as an advance ratio, J = V / (n D) with D the rotor's diameter; stated in the FLIGHT_CONDITION cell or in a MOTIONS record, and written in the point's name. | dimensionless | every run type | |
roll_rate |
The roll rate of the aircraft about the roll axis of the REF's [body_axes], positive right wing down; stated in the FLIGHT_CONDITION cell, it turns the free stream. | deg/s | every run type | SET_FREESTREAM |
pitch_rate |
The pitch rate of the aircraft about the pitch axis of the REF's [body_axes], positive nose up; stated in the FLIGHT_CONDITION cell, it turns the free stream. | deg/s | every run type | SET_FREESTREAM |
yaw_rate |
The yaw rate of the aircraft about the yaw axis of the REF's [body_axes], positive nose right; stated in the FLIGHT_CONDITION cell, it turns the free stream. | deg/s | every run type | SET_FREESTREAM |
LOG_OUTPUT |
Which of a case's OUTPUTS is the solver log; a case written in Python states it, and a matrix row is refused it. | a 1-based position | every run type | EXPORT_LOG |
NCPUS |
The processor count: the solver's thread count and, on a cluster, the scheduler's ncpus; written in the NCPUS column. | a count | every run type | SET_MAX_PARALLEL_THREADS |
WALLTIME |
The wall clock the row asks for: the scheduler's limit on a cluster, and what the watchdog counts down on an unsteady row; written in its column. No line of the script carries its value: on an unsteady row, stating it registers the wall-clock actions, and the run writes the deadline into the program they run; on a cluster, the job asks the scheduler for it. | a number and its unit, s (seconds), m (minutes), h (hours), d (days), as 240m or 4h | every run type | |
CONFIGURATION |
The user's own name for the configuration; it configures nothing, and reaches a comment of the script and the custom polar header. | text | every run type | |
ACTUATOR |
The actuator disc the row loads: the name of a block of the row's REF that declares kind = "actuator"; one disc per row. | a block name | every run type | CREATE_NEW_ACTUATOR |
ACTUATOR_RPM |
The disc's speed, a magnitude: its hand is the block's rpm_sign. A row stating ADVANCE_RATIO and not this key turns the disc at n = V / (J D) with the disc's own diameter. | rev/min | every run type | SET_PROP_ACTUATOR_RPM |
ACTUATOR_THRUST |
The disc's net thrust, which selects the elliptical model. | N | every run type | SET_PROP_ACTUATOR_THRUST |
PROFILE |
The profile file of the disc, which selects the custom model. | the stem of a file of inputs/profiles/ | every run type | SET_PROP_ACTUATOR_PROFILE |
FREESTREAM |
A custom free stream in place of the uniform one: a velocity field over the YZ plane of the global frame, in m and m/s, read from its file when the point is built. The field is the flow's direction (SOLVER_SET_AOA does not turn it, T14 on 26.124), so it is refused beside a non-zero ALPHA or BETA, as beside a non-zero or swept body rate and on a LEGACY row. | the stem of a file of inputs/freestreams/, whose extension is its form: a .txt is the STRUCTURED form (a first line 'Npts Mpts', then the rows), a .dat the UNSTRUCTURED form (rows 'x y z vx vy vz' only) | every run type | SET_FREESTREAM |
ADDITIONAL_PPROC |
A second pproc the row names for the additional post; on 26.124 only, and refused on a LEGACY row. No line of the script carries its value: no builder reads it, so the row runs byte for byte as it would without it; pyfs-matrix post --additional-pproc reads it, reopens each recorded point's final .fsm with no solve and extracts that pproc from it. | one pproc id, p |
every run type | |
COLD_START |
Starts each point of a steady sweep over the attitude from a cleared solution instead of the previous point's converged one. An unsteady row refuses it, since every point of it is its own job and starts cold; a steady row sweeping the flow, where every point is also its own job, starts every point cold whatever it states. | true or false; absent is a warm start | every run type; builds 25.100, 26.000, 26.100, 26.101, 26.120, 26.121, 26.122, 26.123, 26.124 | CLEAR_SOLUTION |
DELTA_TIME |
The physical time step of the run. | s | unsteady, unsteady_rotor | SET_SOLVER_UNSTEADY |
TIME_ITERATIONS |
The number of physical time steps of the run. | a count | unsteady, unsteady_rotor | SET_SOLVER_UNSTEADY |
DELTA_THETA |
The rotor's rotation per time step, from which the time step follows at the rotor's speed. | deg | unsteady, unsteady_rotor | SET_SOLVER_UNSTEADY |
REVOLUTIONS |
The total revolutions of the run, from which, with DELTA_THETA, the number of time steps follows. | revolutions | unsteady, unsteady_rotor | SET_SOLVER_UNSTEADY |
LAST_ITERS_AVG |
The averaging window of a row that turns no rotor: the last time steps every unsteady product is averaged over. No line of the script carries its value: the post stage averages the products over it. | time steps | unsteady, unsteady_rotor | |
BLADES |
The blade count of the row's reductions, where no rotor block of the reference states it. No line of the script carries its value: the post stage's reductions read it. | a count | unsteady, unsteady_rotor | |
EXPORT_UNSTEADY_AFTER_ITER |
The time step from which the per-step exports begin, each file stamped with its iteration. No line of the script carries its value: stating it registers the per-step actions, and the run writes the step into the program they run. | a time step | unsteady, unsteady_rotor | |
RESTART |
How to continue a run that stopped on the wall clock. | {FINISH_PENDING}, {ADDITIONAL_ITERS= |
unsteady, unsteady_rotor | |
LAST_REVS_AVG |
The averaging window of a rotor row: the last revolutions every unsteady product is averaged over. No line of the script carries its value: the post stage averages the products over it. | revolutions, a float | unsteady_rotor | |
CLOCK_MOTION |
The motion that owns the row's clock: the time step and the run length are that motion's. | a motion the row states | unsteady_rotor | |
RPM |
The rotor speed; stated in the FLIGHT_CONDITION cell, it reaches every motion that states none. | rev/min | unsteady_rotor; builds 26.101, 26.120, 26.121, 26.122, 26.123, 26.124 | SET_MOTION_ROTOR_RPM |
RPM_SIGN |
The hand of a speed derived from ADVANCE_RATIO; refused beside an explicit RPM, and a rotor block's rpm_sign wins over it. | 1 or -1; absent is 1 | unsteady_rotor; builds 26.101, 26.120, 26.121, 26.122, 26.123, 26.124 | SET_MOTION_ROTOR_RPM |
ROTOR_AXIS |
The axis the rotor of a flat row turns about; a rotor block of the reference states its own. | X, Y or Z | unsteady_rotor; builds 26.101, 26.120, 26.121, 26.122, 26.123, 26.124 | SET_MOTION_ROTOR_AXIS |
ROTOR_ORIGIN |
The hub of the rotor of a flat row; a rotor block of the reference states its own. | three coordinates, comma separated, or a rotor point of inputs/reference_points.toml | unsteady_rotor | CREATE_NEW_COORDINATE_SYSTEM |
ROTOR_SHEDDING |
The direction the relaxed trailing edges of a rotor case shed their wake. No line of the script carries its value: a workflow row checks it, refusing anything but AXIAL or AZIMUTH, and does not apply it, because the direction is a field of the relaxed trailing-edge component definition and no command sets it. To shed in it, pass the definition's specifications through rotor_relaxed_trailing_edges and write the ones it returns back into the definition the geometry carries. | AXIAL or AZIMUTH; absent asks nothing | unsteady_rotor | |
MOVING_BOUNDARIES |
The boundaries a flat rotor row turns; a MOTIONS record names its rotor by MOVING_BC_ALIAS instead. | family names, or an alias | unsteady_rotor | SET_MOTION_BOUNDARIES |
MOTIONS |
The rotor motions of the row, one record each, every rotor named by the alias of a rotor block of the reference. | records {MOVING_BC_ALIAS: |
unsteady_rotor; builds 25.100, 26.000, 26.100, 26.101, 26.120, 26.121, 26.122, 26.123, 26.124 | CREATE_NEW_MOTION |
EXPORT_UNSTEADY_AFTER_REV |
The revolution of the rotor clock from which the per-step exports begin. No line of the script carries its value: stating it registers the per-step actions, and the run writes the step it falls on into the program they run. | revolutions | unsteady_rotor | |
RAW |
Solver command lines the row states verbatim, one record each or a file of them, each emitted before the phase it names. | records {COMMAND: |
every run type, and a LEGACY row |
The setup artifact, inputs/setups/<id>.toml¶
The solver settings a row's SET names, in this package's words or in the solver's own. A key that names no setting, no alias and no reserved key is refused, naming the keys that apply.
Solver settings¶
Solver runtime settings of one case.
| Key | What it sets | Unit or values | Accepted by | Command |
|---|---|---|---|---|
iterations |
Solver iteration limit. | an integer, >= 1, default 500 |
SOLVER_SET_ITERATIONS |
|
convergence |
Residual threshold declaring convergence (SRC-003 p.200). | a number, > 0.0, default 1e-05 |
SOLVER_SET_CONVERGENCE |
|
forced_iterations |
Run the full iteration count regardless of convergence. | true or false, or ENABLE or DISABLE, optional | SOLVER_SET_FORCED_ITERATIONS |
|
boundary_layer |
The boundary layer model: LAMINAR, TRANSITIONAL, or TURBULENT. |
one of LAMINAR, TRANSITIONAL, TURBULENT, optional |
SET_BOUNDARY_LAYER_TYPE |
|
viscous_coupling |
Couple the boundary layer model to the potential solution. | true or false, or ENABLE or DISABLE, optional | SET_SOLVER_VISCOUS_COUPLING |
|
max_threads |
Parallel core count; a row's NCPUS column wins over it. |
an integer, >= 1, optional | SET_MAX_PARALLEL_THREADS |
|
timeout_s |
Wall-clock limit for one point's solver process; enforced by the executor, not by FlightStream. No line of the script carries its value: the executor stops the solver process at it. | a number, > 0.0, optional | ||
walltime_margin_s |
How much of a row's WALLTIME to leave for the exports, in seconds; twenty minutes when unstated. No line of the script carries its value: the wall-clock program the run writes beside the script reads it. |
a number, > 0.0, optional | ||
solver_model |
The flow model the solver is initialized with, INCOMPRESSIBLE, SUBSONIC_PRANDTL_GLAUERT, TRANSONIC_FIELD_PANEL, TANGENT_CONE or MODIFIED_NEWTONIAN; an argument of INITIALIZE_SOLVER. |
text, optional | INITIALIZE_SOLVER |
|
wall_collision_avoidance |
The wall-collision avoidance argument of INITIALIZE_SOLVER, the other one a preset states. |
true or false, or ENABLE or DISABLE, optional | INITIALIZE_SOLVER |
|
convergence_iterations |
Iterations the residual must hold under the threshold before the solver calls the run converged. | an integer, >= 1, optional | SET_SOLVER_CONVERGENCE_ITERATIONS |
|
minimum_cp |
Floor applied to the pressure coefficient. | a number, optional | SOLVER_MINIMUM_CP |
|
farfield_layers |
Farfield layer count. | an integer, >= 1, optional | SOLVER_SET_FARFIELD_LAYERS |
|
mesh_induced_wake_velocity |
Switches the solver's mesh-induced wake velocity. | true or false, or ENABLE or DISABLE, optional | SOLVER_SET_MESH_INDUCED_WAKE_VELOCITY |
|
unsteady_pressure_and_kutta |
Switches the unsteady Bernoulli and Kutta terms of the unsteady solver. | true or false, or ENABLE or DISABLE, optional | SOLVER_UNSTEADY_PRESSURE_AND_KUTTA |
|
wake_on_wake_induction |
Switches the wake-on-wake induced velocity computation. | true or false, or ENABLE or DISABLE, optional | builds 26.100, 26.101, 26.120, 26.121, 26.122, 26.123, 26.124 | SET_WAKE_ON_WAKE_INDUCTION |
additional_wake_relaxation |
Asks for one additional wake relaxation iteration. | true or false, or ENABLE or DISABLE, optional | builds 26.100, 26.101, 26.120, 26.121, 26.122, 26.123, 26.124 | ADDITIONAL_WAKE_RELAXATION_ITERATION |
reynolds_averaged_drag |
Switches the Reynolds-averaged (flat plate) boundary layer calculations. | true or false, or ENABLE or DISABLE, optional | builds 25.100, 26.000, 26.100, 26.101, 26.120, 26.121, 26.122, 26.123, 26.124 | REYNOLDS_AVERAGED_DRAG_FORCES |
solver_stabilization |
Stabilization strength. | a number, >= 0.0, optional | builds 26.101, 26.120, 26.121, 26.122, 26.123, 26.124 | SOLVER_STABILIZATION |
laminar_separation |
Switches laminar boundary layer separation. | true or false, or ENABLE or DISABLE, optional | builds 26.100, 26.101, 26.120, 26.121, 26.122, 26.123, 26.124 | LAMINAR_SEPARATION |
kutta_joukowski_lift |
Computes the inviscid lift by the Kutta-Joukowski theorem, from the bound circulation, instead of integrating the surface pressure. | true or false, or ENABLE or DISABLE, optional | builds 26.100, 26.101, 26.120, 26.121, 26.122, 26.123, 26.124 | KUTTA_JOUKOWSKI_LIFT_FORCES |
aeroelastic_rbf_type |
The radial basis function of the aeroelastic mesh morphing. | one of WENDLAND_C2, GAUSSIAN, THIN_PLATE_SPLINE, MULTI_QUADRATIC, INV_MULTI_QUADRATIC, optional |
builds 26.101, 26.120, 26.121, 26.122, 26.123, 26.124 | AEROELASTIC_RBF_TYPE |
print_rotor_induced_velocities |
Prints the rotor-induced velocities to the log at every time step of an unsteady run. | true or false, or ENABLE or DISABLE, optional | builds 26.100, 26.101, 26.120, 26.121, 26.122, 26.123, 26.124 | PRINT_ROTOR_INDUCED_VELOCITIES |
adaptive_field_grid_refinement |
Refines the field-source grid where the solution needs it; the manual marks it transonic only. | true or false, or ENABLE or DISABLE, optional | builds 26.100, 26.101, 26.120, 26.121, 26.122, 26.123, 26.124 | SET_ADAPTIVE_FIELD_GRID_REFINEMENT |
rotor_induced_velocity_blending |
Blending factor for wake stabilization, dimensionless, between 0 and 1. | a number, optional | builds 26.101, 26.120, 26.121, 26.122, 26.123, 26.124 | ROTOR_INDUCED_VELOCITY_BLENDING |
wake_numerical_relaxation |
Relaxation factor applied to the wake between iterations, dimensionless, between 0 and 1. | a number, optional | builds 26.101, 26.120, 26.121, 26.122, 26.123, 26.124 | SET_WAKE_NUMERICAL_RELAXATION |
wake_relaxation |
Relaxes the wake geometry between solver iterations. | true or false, or ENABLE or DISABLE, optional | builds 25.000, 25.100, 26.000 | SET_WAKE_RELAXATION |
wake_decay_constant_per_m |
Rate at which wake vorticity decays with distance, per metre. | a number, optional | builds 26.121, 26.122, 26.123, 26.124 | SET_WAKE_DECAY_CONSTANT |
wake_streamwise_agglomeration |
Agglomerates wake filament edges along the streamwise direction, so the solver carries fewer wake elements. | true or false, or ENABLE or DISABLE, optional | builds 25.000, 25.100, 26.000 | SET_WAKE_STREAMWISE_AGGLOMERATION |
jet_wake_decay_normalized_length |
Distance at which a jet wake decays to a tenth of its strength, in jet wake diameters. | a number, optional | builds 26.101, 26.120, 26.121, 26.122, 26.123, 26.124 | SET_JET_WAKE_DECAY_NORMALIZED_LENGTH |
jet_wake_filaments_grid_induction |
Whether the jet wake filaments induce velocity on the mesh. | true or false, or ENABLE or DISABLE, optional | builds 26.101, 26.120 | SET_JET_WAKE_FILAMENTS_GRID_INDUCTION |
adverse_gradient_boundary_layer |
Switches the adverse-pressure-gradient treatment of the boundary-layer model. | true or false, or ENABLE or DISABLE, optional | builds 25.000, 25.100, 26.000 | SOLVER_SET_ADVERSE_GRADIENT_BOUNDARY_LAYER |
vortex_ring_normalization |
Normalizes the vortex-ring strengths on the wake panels. | true or false, or ENABLE or DISABLE, optional | builds 25.000, 25.100, 26.000 | SOLVER_VORTEX_RING_NORMALIZATION |
wake_termination_revolutions |
Wake termination stated in revolutions, negative counting backwards from the end of the run. | a number, optional | SET_WAKE_TERMINATION_TIME_STEPS |
|
wake_termination_steps |
Wake termination stated in time steps, negative counting backwards from the end of the run, for a run type with a clock and no rotor. | an integer, optional | SET_WAKE_TERMINATION_TIME_STEPS |
|
symmetry_loads |
Whether the reported loads are the meshed half's or sector's or the whole model's; a row's SYMMETRY_LOADS column wins over it. |
true or false, or ENABLE or DISABLE, optional | SET_ANALYSIS_SYMMETRY_LOADS |
|
significant_digits |
How many decimals the solver prints in every export. | an integer, >= 1, optional | SET_SIGNIFICANT_DIGITS |
|
reference_velocity_m_per_s |
The velocity the coefficients are normalised on, in m/s; unstated, the free-stream velocity. | a number, > 0.0, optional | SOLVER_SET_REF_VELOCITY |
|
vorticity_drag_families |
The families whose induced drag comes from vorticity integration, by family name. | a list of names, optional | SET_VORTICITY_DRAG_BOUNDARIES |
|
axial_separation_families |
The families on the axial flow separation list, by family name. | a list of names, optional | builds 25.000, 25.100, 26.000, 26.100 | SET_AXIAL_SEPARATION_BOUNDARIES |
load_solver_initialization |
Whether OPEN loads the solver initialization a saved simulation carries; unstated, it does not. |
true or false, or ENABLE or DISABLE, optional | OPEN |
|
analysis_families |
The families that enter the loads, by family name; every other boundary leaves the analysis. | a list of names, optional | steady rows | SET_SOLVER_ANALYSIS_BOUNDARIES |
load_units |
The unit the loads table prints its forces and moments in. | one of COEFFICIENTS, NEWTONS, KILO-NEWTONS, POUND-FORCE, KILOGRAM-FORCE, optional |
steady rows | SET_LOADS_AND_MOMENTS_UNITS |
inviscid_loads |
Reports the loads and moments without their viscous part. | true or false, or ENABLE or DISABLE, optional | steady rows | SET_INVISCID_LOADS |
vorticity_lift_model |
Computes the lift from the vorticity field rather than from the integrated surface pressure. | true or false, or ENABLE or DISABLE, optional | builds 25.000, 25.100, 26.000, 26.100, 26.101, 26.120, 26.121, 26.122, 26.123 | SET_VORTICITY_LIFT_MODEL |
unsteady_viscous_coupling_iteration |
The time step at which an unsteady run switches the viscous coupling on. | an integer, >= 1, optional | builds 25.000, 25.100, 26.000 | SET_UNSTEADY_VISCOUS_COUPLING_ITERATION |
The solver's own names, read as aliases¶
A preset transcribed from a working session keeps working as written: each of these names a setting above. Two spellings of one setting in one preset are refused.
| Key | What it sets | Unit or values | Accepted by | Command |
|---|---|---|---|---|
NITER |
Read as iterations. |
SOLVER_SET_ITERATIONS |
||
boundary_layer_type |
Read as boundary_layer. |
SET_BOUNDARY_LAYER_TYPE |
||
max_parallel_threads |
Read as max_threads. |
SET_MAX_PARALLEL_THREADS |
||
set_solver_model |
Read as solver_model. |
INITIALIZE_SOLVER |
||
proximity_avoidance |
Read as wall_collision_avoidance. |
INITIALIZE_SOLVER |
||
solver_minimum_cp |
Read as minimum_cp. |
SOLVER_MINIMUM_CP |
||
induced_wake_velocity |
Read as mesh_induced_wake_velocity. |
SOLVER_SET_MESH_INDUCED_WAKE_VELOCITY |
||
unsteady_pressure_kutta |
Read as unsteady_pressure_and_kutta. |
SOLVER_UNSTEADY_PRESSURE_AND_KUTTA |
||
additional_wake_relaxation_iteration |
Read as additional_wake_relaxation. |
builds 26.100, 26.101, 26.120, 26.121, 26.122, 26.123, 26.124 | ADDITIONAL_WAKE_RELAXATION_ITERATION |
|
reynolds_averaged_drag_forces |
Read as reynolds_averaged_drag. |
builds 25.100, 26.000, 26.100, 26.101, 26.120, 26.121, 26.122, 26.123, 26.124 | REYNOLDS_AVERAGED_DRAG_FORCES |
|
unsteady_N_revolutions_wake |
Read as wake_termination_revolutions. |
SET_WAKE_TERMINATION_TIME_STEPS |
||
reference_velocity_mps |
Read as reference_velocity_m_per_s. |
SOLVER_SET_REF_VELOCITY |
||
vorticity_drag_boundaries |
Read as vorticity_drag_families. |
SET_VORTICITY_DRAG_BOUNDARIES |
||
set_vorticity_drag_boundaries |
Read as vorticity_drag_families. |
SET_VORTICITY_DRAG_BOUNDARIES |
||
set_solver_analysis_boundaries |
Read as analysis_families. |
SET_SOLVER_ANALYSIS_BOUNDARIES |
||
set_loads_and_moments_units |
Read as load_units. |
SET_LOADS_AND_MOMENTS_UNITS |
||
set_inviscid_loads |
Read as inviscid_loads. |
SET_INVISCID_LOADS |
||
set_vorticity_lift_model |
Read as vorticity_lift_model. |
builds 25.000, 25.100, 26.000, 26.100, 26.101, 26.120, 26.121, 26.122, 26.123 | SET_VORTICITY_LIFT_MODEL |
|
set_unsteady_viscous_coupling_iteration |
Read as unsteady_viscous_coupling_iteration. |
builds 25.000, 25.100, 26.000 | SET_UNSTEADY_VISCOUS_COUPLING_ITERATION |
Recorded, and emitting nothing¶
Kept in the artifact, reaching no script, and named with its reason in a warning each time a row binds the preset.
| Key | What it sets | Unit or values | Accepted by | Command |
|---|---|---|---|---|
solver |
Kept in the artifact and emitted nowhere: the run TYPE, which the matrix WORKFLOW column names: a preset shared by several rows cannot decide whether one of them is steady. | |||
motion |
Kept in the artifact and emitted nowhere: the motion type, which the workflow creates from the row's own rotor keys. | |||
symmetry_type |
Kept in the artifact and emitted nowhere: symmetry describes what was MESHED, so it belongs to the row's geometry and is stated in the row's SYMMETRY key; a preset value would silently overrule the mesh it knows nothing about. | |||
unsteady_delta_theta_deg |
Kept in the artifact and emitted nowhere: superseded by the row's DELTA_THETA, which is where the azimuthal step is stated now that the clock is derived from it. | |||
unsteady_N_revolutions |
Kept in the artifact and emitted nowhere: superseded by the row's REVOLUTIONS, for the same reason. | |||
set_base_region_trailing_edges |
Kept in the artifact and emitted nowhere: a separation model that selects boundaries, and a preset carries no boundary selection; state it in a recipe. | |||
slipstream_wake_stabilization |
Kept in the artifact and emitted nowhere: no emitter in this package. | |||
wake_layers |
Kept in the artifact and emitted nowhere: no emitter in this package. |
Tables and reserved keys¶
The keys a preset may state that are not solver settings.
| Key | What it sets | Unit or values | Accepted by | Command |
|---|---|---|---|---|
recorded_only |
The keys of this preset to keep in the artifact and emit nowhere; each still warns, naming itself. | a list of key names | ||
flight_condition |
Fluid pins every row naming this setup inherits; a row stating one wins over it. | a table of the pins below | ||
stabilization |
Switches the stabilization whose strength stabilization_strength states; disabled, nothing is emitted. | true or false, or ENABLE or DISABLE; beside solver_stabilization, refused | builds 26.101, 26.120, 26.121, 26.122, 26.123, 26.124 | SOLVER_STABILIZATION |
stabilization_strength |
The strength of the stabilization the key above switches. | a number | builds 26.101, 26.120, 26.121, 26.122, 26.123, 26.124 | SOLVER_STABILIZATION |
raw |
Solver command lines stated verbatim, every row naming this setup emitting each before the phase it names. | an array of tables; see [[raw]] below |
||
flags |
Solver commands this setup exposes to the matrix under a word, the row stating the value. | an array of tables; see [[flags]] below |
[flight_condition]¶
The fluid pins, each replacing what the standard atmosphere would supply. The velocity keys and REmi may not live here: they make a point that point.
| Key | What it sets | Unit or values | Accepted by | Command |
|---|---|---|---|---|
RHOkgm3 |
Constrains density directly, overriding both the atmosphere and REmi. | kg/m^3 | ||
MUPas |
Constrains dynamic viscosity, which REmi then solves the density against. | Pa s | ||
ASMPS |
Constrains sonic velocity, which MACH is then taken against. | m/s | ||
TK |
Constrains temperature, stated rather than lapsed. | kelvin | ||
PPA |
Constrains pressure, stated rather than lapsed. | pascal |
[[raw]]¶
One solver command a setup artifact states verbatim (PFS-2033.01).
| Key | What it sets | Unit or values | Accepted by | Command |
|---|---|---|---|---|
command |
The command line as the solver reads it, arguments included. | text, required | ||
before |
The phase the line is emitted before: control for a line at the head of the script, or one of the command database's phases. |
text, required |
[[flags]]¶
One solver command a setup exposes to the matrix under a name (PFS-2035.20).
| Key | What it sets | Unit or values | Accepted by | Command |
|---|---|---|---|---|
name |
The word a matrix row writes in its VAR_NAMES_VALUES cell. | text, required | ||
command |
The FlightStream command the flag becomes, bare: the row supplies the arguments. | text, required | ||
before |
The phase the command is emitted before. | text, optional |
The post-processing artifact, inputs/pproc/<id>.toml¶
What a row's PPROC names: the definitions the script emits before the solve, the exports a point leaves and the products written after it. The columns those products write are in VARIABLES.md, and how to write an equation is in WRITING-EQUATIONS.md, both beside this page.
The tables and top-level keys¶
The post-processing specification a matrix row's PPROC cell names.
| Key | What it sets | Unit or values | Accepted by | Command |
|---|---|---|---|---|
groups |
The groups the polar tables are written per, each naming ONE alias of the reference. | a table of your own keys | ||
phase_locked |
When the phase-locked reduction is generated, and over how many revolutions; absent, it is the series of blade passages. | a table; see [phase_locked] below |
||
equations |
Coefficients the post stage derives into the unsteady polar, keyed by the derived coefficient's name. | tables under your own names; see [equations.<NAME>] below |
||
glossary |
What each of the user's own symbols means, listed in VARIABLES.md beside the package's definitions. |
a table of your own keys | ||
names |
Renames a plot column of the unsteady polar and of the reductions, from the name the export prints to the one a reader's tool expects. | a table of your own keys | ||
exports |
Which of the export kinds a point writes. | a table; see [exports] below |
||
time_averaging |
Asks the solver for surface exports averaged over the last iterations or revolutions of the run. | a table; see [time_averaging] below |
builds 26.122, 26.123, 26.124 | SET_NEW_UNSTEADY_SOLVER_ACTION |
vtk_variables |
The variables the VTK surface export writes. | a list of names, optional | SET_VTK_EXPORT_VARIABLES |
|
sections |
The surface-section distributions the script declares before the solve. | a table; see [sections] below |
NEW_SURFACE_SECTION_DISTRIBUTION |
|
volume_section |
The one flow-field plane each point of a steady row cuts after its solve and exports. | a table; see [volume_section] below |
CREATE_NEW_RECTANGLE_VOLUME_SECTION, CREATE_NEW_CIRCLE_VOLUME_SECTION |
|
plots |
The unsteady force plots: which parameters, over which groups of families. | a table; see [plots] below |
UNSTEADY_SOLVER_NEW_FORCE_PLOT |
|
probes |
The fluid probe entries, one per frame sampled. | an array of tables; see [[probes]] below |
UNSTEADY_SOLVER_NEW_FLUID_PLOT, NEW_PROBE_POINT |
|
products |
Which post-processed tables the campaign writes. | a table; see [products] below |
||
blade_pattern |
How a blade family is told from the airframe: a regular expression over the family name. | text, default "^Blade\d+$" |
||
base_regions |
The boundaries that become base regions, detected after OPEN; a row's BASE_REGIONS wins over it. |
a list of names | DETECT_BASE_REGIONS_BY_SURFACE |
[phase_locked]¶
The [phase_locked] table: when the reduction exists, and over how much.
| Key | What it sets | Unit or values | Accepted by | Command |
|---|---|---|---|---|
min_revolutions |
Total revolutions the matrix must specify before this is generated. | a number, > 0.0, required | ||
last_revolutions_avg |
How many of the LAST revolutions the average uses. | a number, > 0.0, required |
[equations.<NAME>]¶
One entry of [equations]: a coefficient the post stage derives.
| Key | What it sets | Unit or values | Accepted by | Command |
|---|---|---|---|---|
expression |
The arithmetic, over the columns the unsteady polar's row holds. | text, required | ||
meshes_alias |
The alias the coefficient is about, and the suffix of its column <NAME>_<alias>; never a family list. |
text, required | ||
frame |
The frame whose plotted columns a symbol finds first. | text, optional |
[exports]¶
Which of the export kinds a point writes, one key per kind. The volume section's file is not named here: [volume_section] declares it.
| Key | What it sets | Unit or values | Accepted by | Command |
|---|---|---|---|---|
simulation |
The point's final saved simulation, its solver state after the solve. | true; false is refused | SAVEAS |
|
loads |
The loads table, the export every run is judged by. | true; false is refused | EXPORT_SOLVER_ANALYSIS_SPREADSHEET |
|
tecplot |
The surface solution in Tecplot format, written by the package from the VTK export: one value per panel, in the reference frame. | true or false, default true | SET_VTK_EXPORT_VARIABLES, EXPORT_SOLVER_ANALYSIS_VTK |
|
vtk |
The surface solution in VTK format, as the solver writes it; the Tecplot is written from this same file. | true or false, default false | EXPORT_SOLVER_ANALYSIS_VTK |
|
csv |
The surface solution as a CSV table. | true or false, default false | EXPORT_SOLVER_ANALYSIS_CSV |
|
force_distributions |
The per-panel force distribution, saved once at the end of the run. | true or false, default false | EXPORT_SOLVER_ANALYSIS_FORCE_DISTRIBUTIONS |
|
sections |
The pressure distribution of every surface section the pproc declares. | true or false, default true | EXPORT_ALL_SURFACE_SECTIONS |
|
sectional_loads |
The sectional loads of every surface section the pproc declares. | true or false, default true | EXPORT_SURFACE_SECTIONAL_LOADS |
|
probes |
The flow quantities at the probe points, after a steady solve. | true or false, default true | steady rows | EXPORT_PROBE_POINTS |
plots |
The force and fluid plot histories of an unsteady run, one row per time step. | true or false, default true | unsteady run types | UNSTEADY_SOLVER_EXPORT_PLOTS |
plot_residuals |
The solver's residual history as a text series, one row per iteration. | true or false, default true | SAVE_PLOT_TO_FILE |
|
plot_loads |
The solver's load history as a text series, one row per iteration. | true or false, default true | SAVE_PLOT_TO_FILE |
|
plot_sections_cp |
The section Cp plot as a text series, one x and Cp pair per section. | true or false, default true where [[sections.distributions]] declares any |
steady rows | SAVE_PLOT_TO_FILE |
log |
The solver log, which turns a run into a residual verdict. | true or false, default true | EXPORT_LOG |
[time_averaging]¶
The last iterations or revolutions used for solver surface averaging.
Reaches SET_NEW_UNSTEADY_SOLVER_ACTION.
| Key | What it sets | Unit or values | Accepted by | Command |
|---|---|---|---|---|
last_revs |
Averages the surface exports over the last revolutions of the rotor clock. | a number, > 0, optional | ||
last_iters |
Averages the surface exports over the last time iterations; a table states exactly one of the two. | an integer, > 0, optional |
[sections]¶
The [sections] table: NEW_SURFACE_SECTION_DISTRIBUTION per entry and plane.
Reaches NEW_SURFACE_SECTION_DISTRIBUTION.
| Key | What it sets | Unit or values | Accepted by | Command |
|---|---|---|---|---|
count |
The number of sections of every distribution that states none. | an integer, >= 1, default 50 |
||
plot_direction |
The plot direction of every distribution that states none. | 1 or 2, default 1 |
||
include_symmetry |
The command's INCLUDE_SYMMETRY argument, one value for the whole artifact, because symmetry is a property of the case. | true or false, default false |
||
distributions |
The distributions, one command per entry and plane. | an array of tables; see [[sections.distributions]] below |
[[sections.distributions]]¶
One surface-section distribution: families, frame and planes.
| Key | What it sets | Unit or values | Accepted by | Command |
|---|---|---|---|---|
families |
What the sections cut: a selector word, an alias, a family name, or a list of those. | text or a list of names, required | ||
frame |
The frame the planes belong to: MRP, a frame the reference declares, or a rotor's. |
text, default "MRP" |
||
planes |
The planes of that frame the sections lie in, one distribution each. | a list of "XY" or "XZ" or "YZ", required |
||
count |
The number of sections of this entry; unstated, the [sections] table's. |
an integer, >= 1, optional | ||
plot_direction |
The plot direction of this entry; unstated, the [sections] table's. |
1 or 2, optional |
||
integrate |
Appends the midpoint-strip integrals of the sectional loads to this distribution's CSV. | true or false, default false |
[volume_section]¶
The [volume_section] table: one flow-field plane a steady point exports (G05).
Reaches CREATE_NEW_RECTANGLE_VOLUME_SECTION, CREATE_NEW_CIRCLE_VOLUME_SECTION.
| Key | What it sets | Unit or values | Accepted by | Command |
|---|---|---|---|---|
shape |
Which create command cuts the plane. | "rectangle" or "circle", required |
||
frame |
The frame the plane lies in: MRP, or a frame the reference's [[frames]] table declares or a rotor carries. |
text, default "MRP" |
||
plane |
The frame's plane the section lies in. | "XY" or "XZ" or "YZ", required |
||
offset_m |
The plane's distance from the frame origin along its normal, in metres, the simulation's length unit. | a number, default 0.0 |
||
corners_m |
Rectangle only: x1, y1, x2, y2 in metres, the two diagonal corners the command takes, in the plane. |
4 numbers, optional | ||
refinement_layers |
Rectangle only: the command's refinement layer count, 1 unless stated. | an integer, >= 1, default 1 |
||
radii_m |
Circle only: the inner and outer radius in metres, 0 <= r1 < r2. |
2 numbers, optional | ||
points |
Circle only: ipts radial and jpts azimuthal segments. |
2 numbers, optional | ||
format |
The export: EXPORT_VOLUME_SECTION_VTK or EXPORT_VOLUME_SECTION_TECPLOT. |
"vtk" or "tecplot", default "vtk" |
EXPORT_VOLUME_SECTION_VTK, EXPORT_VOLUME_SECTION_TECPLOT |
[plots]¶
The [plots] table: which parameters, over which groups of families.
Reaches UNSTEADY_SOLVER_NEW_FORCE_PLOT.
| Key | What it sets | Unit or values | Accepted by | Command |
|---|---|---|---|---|
parameters |
The force and moment parameters plotted for every group; unstated, all of them. | a list of names | ||
groups |
The groups of families, one plot per parameter each. | an array of tables; see [[plots.groups]] below |
[[plots.groups]]¶
One group of unsteady force plots: a name, a frame and the families summed.
| Key | What it sets | Unit or values | Accepted by | Command |
|---|---|---|---|---|
name |
The group's name, which names its plots <parameter>_<name>; it carries {family} exactly when the entry expands. |
text, required | ||
frame |
The frame the loads are measured in, which decides how many groups the entry is. | text, default "MRP" |
||
families |
The families summed: a selector word, an alias, a family name, or a list of those. | text or a list of names, required |
[[probes]]¶
One [[probes]] entry: fluid plots along lines, in a frame, per parameter.
Reaches UNSTEADY_SOLVER_NEW_FLUID_PLOT, NEW_PROBE_POINT.
| Key | What it sets | Unit or values | Accepted by | Command |
|---|---|---|---|---|
frame |
The frame the lines and planes are laid out in; empty, the rotor's own hub frame. | text, default "" |
||
parameters |
The fluid parameters sampled at every point. | a list of names | ||
points |
The vertices each line is sampled at, both ends included. | an integer, >= 2, default 25 |
||
scale |
What the coordinates are in: metres, or radii of the row's rotor. | "m" or "rotor_radius", default "m" |
||
lines |
Lines of probes, each from one vertex to another. | an array of tables; see [[probes.lines]] below |
||
rectangles |
Rectangular probe planes, each gridded point by point. | an array of tables; see [[probes.rectangles]] below |
||
circles |
Circular probe planes, each gridded in polar coordinates. | an array of tables; see [[probes.circles]] below |
||
points_file |
The name of a points file of inputs/profiles/, cited instead of drawing lines and planes. |
text, optional |
[[probes.lines]]¶
One line of fluid probes, from one vertex to another, sampled at points.
| Key | What it sets | Unit or values | Accepted by | Command |
|---|---|---|---|---|
start |
The first vertex, in the entry's frame and scale. | 3 numbers, required | ||
end |
The last vertex, in the entry's frame and scale. | 3 numbers, required |
[[probes.rectangles]]¶
A rectangular probe plane, given by three of its vertices (FR-79).
| Key | What it sets | Unit or values | Accepted by | Command |
|---|---|---|---|---|
origin |
The corner the grid starts from. | 3 numbers, required | ||
along_u |
The corner the grid runs toward in its first direction. | 3 numbers, required | ||
along_v |
The corner the grid runs toward in its second direction. | 3 numbers, required | ||
points_u |
The stations from origin to along_u, both ends included. |
an integer, >= 2, required | ||
points_v |
The stations from origin to along_v, both ends included. |
an integer, >= 2, required |
[[probes.circles]]¶
A circular probe plane, discretised in polar coordinates (FR-79).
| Key | What it sets | Unit or values | Accepted by | Command |
|---|---|---|---|---|
center |
The centre of the disk. | 3 numbers, required | ||
normal |
The axis the disk is perpendicular to. | 3 numbers, required | ||
radius |
The disk's radius, in the entry's scale. | a number, > 0.0, required | ||
points_radial |
The stations from the centre to the rim, both included. | an integer, >= 2, required | ||
points_azimuth |
The stations around. | an integer, >= 3, required |
[products]¶
The [products] table: which post-processed CSV tables the campaign writes.
| Key | What it sets | Unit or values | Accepted by | Command |
|---|---|---|---|---|
polars |
Writes one polar table per group of [groups], the group's coefficients per point. |
true or false, default true |
||
sections |
Writes one sections table per point, from its sectional loads export. | true or false, default true |
||
plots |
Writes one plots table per unsteady point, from its plots export. | true or false, default true |
||
custom_polar_format |
Writes, beside every polar table, the same rows in the fixed-width custom polar format. | true or false, default false |
||
superfile_format |
The format the super file is written in. | text, default "csv" |
The reference artifact, inputs/references/<id>.toml¶
What a row's REF names: the reference lengths the coefficients are divided by, the moment point, the frames, the aliases, and one block per rotor, actuator disc and named point. Lengths are in metres.
Top-level keys and tables¶
Reference data of one configuration (inputs/references/<id>.toml).
| Key | What it sets | Unit or values | Accepted by | Command |
|---|---|---|---|---|
area_m2 |
Reference area S_ref in m^2; must be positive. | a number, > 0.0, required | SOLVER_SET_REF_AREA |
|
chord_m |
Reference chord c_ref in m; must be positive. | a number, > 0.0, required | SOLVER_SET_REF_LENGTH |
|
span_m |
Reference span b_ref in m; must be positive. | a number, > 0.0, required | ||
rotor_diameter_m |
Rotor diameter D in m; must be positive. | a number, > 0.0, optional | ||
moment_point |
Moment reference point in the simulation geometry frame, m. | a table; see [moment_point] below |
||
body_axes |
Which model axis, X, Y or Z, each body rate turns about, keyed roll, pitch and yaw. |
a table; see [body_axes] below |
||
rotor |
Rotor block, present for propulsive configurations. | a table; see [rotor] below |
||
aliases |
Names for groups of boundaries, each standing for the boundary names, families or aliases listed under it. | a table of your own keys | ||
frames |
The custom coordinate systems of the configuration, in the order written. | an array of tables; see [[frames]] below |
CREATE_NEW_COORDINATE_SYSTEM |
[moment_point]¶
One point in the simulation geometry reference frame, meters.
| Key | What it sets | Unit or values | Accepted by | Command |
|---|---|---|---|---|
kind |
What the point is, rotor or airframe (PFS-2029.11.02), stated so that a motion built on it is a decision the file shows and not a side effect of the name's radical; None leaves the convention to say (ERP is a rotor, ARP the airframe). |
text, optional | ||
x_m |
X coordinate in m. | a number, default 0.0 |
||
y_m |
Y coordinate in m. | a number, default 0.0 |
||
z_m |
Z coordinate in m. | a number, default 0.0 |
[body_axes]¶
Which model axis each body rate turns about; a configuration declaring none is one no row may turn.
| Key | What it sets | Unit or values | Accepted by | Command |
|---|---|---|---|---|
roll |
The model axis the row's roll_rate turns about. |
X, Y or Z |
||
pitch |
The model axis the row's pitch_rate turns about. |
X, Y or Z |
||
yaw |
The model axis the row's yaw_rate turns about. |
X, Y or Z |
[rotor]¶
The recorded rotor of a reference artifact ([rotor]).
| Key | What it sets | Unit or values | Accepted by | Command |
|---|---|---|---|---|
radius_m |
Rotor radius. | a number, > 0.0, optional | ||
hub_radius_m |
Hub radius. | a number, >= 0.0, optional | ||
n_blades |
The RESOLVED blade count of the mesh a row opens, not the physical one: a periodic sector meshing one blade states 1 and the row's symmetry supplies the wheel. | an integer, >= 1, required | ||
pitch_deg |
Recorded installation angles; read by nothing in the package. | a number, optional | ||
toe_deg |
Recorded installation angles; read by nothing in the package. | a number, optional | ||
position |
The rotor position, the one field of this block a builder reads: the two unsteady run types turn it into the rotor's hub frame (PFS-2030.03), the frame the reference probe lines and rotor plots are defined in and the frame a rotor row turns about unless it states ROTOR_ORIGIN. |
a table; see [rotor.position] below |
[rotor.position]¶
One point in the simulation geometry reference frame, meters.
| Key | What it sets | Unit or values | Accepted by | Command |
|---|---|---|---|---|
kind |
What the point is, rotor or airframe (PFS-2029.11.02), stated so that a motion built on it is a decision the file shows and not a side effect of the name's radical; None leaves the convention to say (ERP is a rotor, ARP the airframe). |
text, optional | ||
x_m |
X coordinate in m. | a number, default 0.0 |
||
y_m |
Y coordinate in m. | a number, default 0.0 |
||
z_m |
Z coordinate in m. | a number, default 0.0 |
[[frames]]¶
One custom coordinate system the reference's [[frames]] defines (PFS-2034.01, FR-72).
Reaches CREATE_NEW_COORDINATE_SYSTEM.
| Key | What it sets | Unit or values | Accepted by | Command |
|---|---|---|---|---|
name |
The frame's name, which a row's AXIS and a pproc entry's frame cite. |
text, required | ||
origin |
The frame's origin, in the geometry's own frame, in metres. | 3 numbers, required | ||
x_axis |
The direction of the frame's first axis. | 3 numbers, default [1.0, 0.0, 0.0] |
||
y_axis |
The direction of the frame's second axis; the third is their right-handed cross product. | 3 numbers, default [0.0, 1.0, 0.0] |
[<NAME>] with kind = "rotor"¶
One rotor, declared as one block of the reference artifact (FR-60).
| Key | What it sets | Unit or values | Accepted by | Command |
|---|---|---|---|---|
alias |
The word a row moves. | text, required | ||
axis |
The axis it turns about. | text or 3 numbers or a list of numbers, required | ||
diameter_m |
The length an ADVANCE_RATIO resolves against, PER ROTOR: one ratio written once in the flight condition gives each rotor a speed of its own (FR-63). | a number, > 0.0, required | ||
families_blades |
One entry per blade, in order. | a list of names, required | ||
x_m |
The hub, in the geometry's own frame. | a number, default 0.0 |
||
y_m |
The hub, in the geometry's own frame. | a number, default 0.0 |
||
z_m |
The hub, in the geometry's own frame. | a number, default 0.0 |
||
rpm_sign |
+1 is the right-hand rule about axis, which is the one reading that does not depend on where the reader stands. |
an integer, default 1 |
||
families_general |
What turns with the rotor and is NOT a blade, the spinner and the hub. | a list of names | ||
blade1 |
Where blade one sits, and the axis its azimuth is measured from. | a table; see [<NAME>.blade1] below |
||
kind |
"rotor", which is what makes a top-level table of the reference a rotor block. |
text, default "rotor" |
[<NAME>.blade1]¶
Where blade one sits, and the axis its azimuth is measured from (FR-60).
| Key | What it sets | Unit or values | Accepted by | Command |
|---|---|---|---|---|
azimuth_deg |
Where blade one is, measured from zero about the rotor's axis. |
a number, default 0.0 |
||
zero |
The axis letter the azimuth is measured from, with at most one sign. | text, default "X" |
[<NAME>] with kind = "actuator"¶
One actuator disc, declared as one block of the reference artifact (G06).
| Key | What it sets | Unit or values | Accepted by | Command |
|---|---|---|---|---|
kind |
"actuator", which is what makes a top-level table of the reference an actuator disc. |
"actuator", default "actuator" |
||
frame |
The frame the disc's axis belongs to: a name the reference's [[frames]] declares, MRP, or a rotor's frame. |
text, required | ||
axis |
The frame's axis the disc turns about. | "X" or "Y" or "Z", required |
SET_ACTUATOR_AXIS |
|
offset_m |
The disc's position along that axis, from the frame's origin. | a number, default 0.0 |
||
tip_radius_m |
The disc's outer radius. | a number, > 0.0, required | SET_ACTUATOR_RADIUS |
|
hub_radius_m |
The disc's inner radius, 0 <= hub < tip. |
a number, >= 0.0, required | SET_ACTUATOR_RADIUS |
|
rpm_sign |
+1 is the right-hand rule about axis, as a rotor block's; the row's ACTUATOR_RPM is a magnitude and this is its hand. |
an integer, default 1 |
||
blades |
The blade count a profile file's distribution is read per; required by a row stating PROFILE. |
an integer, >= 1, optional | ||
swirl |
The fraction, 0 to 1, of the swirl velocity kept downstream (SET_PROP_ACTUATOR_SWIRL); unstated, no swirl command is emitted. |
a number, >= 0.0, <= 1.0, optional | SET_PROP_ACTUATOR_SWIRL |
|
profile_units |
The force unit a profile file is written in, as the command database spells SET_PROP_ACTUATOR_PROFILE's units_type. |
"NEWTONS" or "KILO-NEWTONS" or "POUND-FORCE" or "KILOGRAM-FORCE", default "NEWTONS" |
SET_PROP_ACTUATOR_PROFILE |
[<NAME>] with any other kind¶
One point in the simulation geometry reference frame, meters.
| Key | What it sets | Unit or values | Accepted by | Command |
|---|---|---|---|---|
kind |
What the point is, rotor or airframe (PFS-2029.11.02), stated so that a motion built on it is a decision the file shows and not a side effect of the name's radical; None leaves the convention to say (ERP is a rotor, ARP the airframe). |
text, optional | ||
x_m |
X coordinate in m. | a number, default 0.0 |
||
y_m |
Y coordinate in m. | a number, default 0.0 |
||
z_m |
Z coordinate in m. | a number, default 0.0 |
The geometry sidecar, inputs/geometries/<stem>.boundaries.toml¶
The file beside a geometry that names its boundaries and, for a raw mesh (.obj, .stl), how it is imported and where its trailing edges are.
Top-level keys and tables¶
Beside a saved simulation, pyfs-matrix inventory writes it; beside an OBJ with none, the plan writes its boundaries from the OBJ's groups; beside an STL, it is written by hand.
| Key | What it sets | Unit or values | Accepted by | Command |
|---|---|---|---|---|
boundaries |
The mesh's boundary names in the solver's order, the name at position i being boundary i; read from a saved simulation by pyfs-matrix inventory, read from an OBJ's groups by the plan when it has no sidecar, written by hand for an STL. | a list of names | ||
file |
The file the inventory was read from, as pyfs-matrix inventory writes it; nothing reads it back. | a file name | ||
import |
How a raw mesh is imported: the unit it is written in and the operations applied right after. | a table; see [import] below |
IMPORT |
|
trailing_edges |
How a raw mesh's trailing edges are marked, which every raw mesh a workflow imports declares. | a table; see [trailing_edges] below |
IMPORT_WAKE_EDGES_FROM_FILE, AUTO_DETECT_TRAILING_EDGES, DETECT_TRAILING_EDGES_BY_SURFACE |
|
wake_termination |
Detects a raw mesh's wake-termination nodes, only when written. | a table; see [wake_termination] below |
AUTO_DETECT_WAKE_TERMINATION_NODES, DETECT_WAKE_TERMINATION_NODES_BY_SURFACE |
|
base_regions |
Detects a raw mesh's base regions over the whole mesh, only when written. | a table; see [base_regions] below |
AUTO_DETECT_BASE_REGIONS |
[import]¶
How a raw mesh is imported: the [import] table of its sidecar (G01).
Reaches IMPORT.
| Key | What it sets | Unit or values | Accepted by | Command |
|---|---|---|---|---|
units |
The length unit the mesh file is written in; never assumed. | text, required | IMPORT |
|
operations |
The mesh operations applied right after the import, in the order written. | an array of tables; see [[import.operations]] below |
[[import.operations]]¶
One mesh operation applied right after a raw mesh is imported (G03).
| Key | What it sets | Unit or values | Accepted by | Command |
|---|---|---|---|---|
op |
Which operation, and so which of the keys below it states. | "scale" or "rename" or "mirror" or "translate" or "rotate", required |
SURFACE_SCALE, SURFACE_RENAME, SURFACE_MIRROR, TRANSLATE_SURFACE_IN_FRAME, ROTATE_SURFACE, SURFACE_ROTATE |
|
surface |
The surface acted on, by the file's name or an earlier rename's; "all" for every surface, which a rename and a mirror do not take. |
text, default "all" |
||
factors |
A scale's factor along each axis, each greater than zero. | 3 numbers, optional | ||
vector |
A translation's vector, in the [import] unit. |
3 numbers, optional | ||
axis |
The axis a rotation turns about. | "X" or "Y" or "Z", optional |
||
angle_deg |
The angle of a rotation, in degrees. | a number, optional | ||
plane |
The plane a mirror reflects in; the copy joins its source. | "YZ" or "XZ" or "XY", optional |
||
to |
A rename's new name, one word. | text, optional |
[trailing_edges]¶
How a raw mesh's trailing edges are marked, which every raw mesh a workflow imports declares.
| Key | What it sets | Unit or values | Accepted by | Command |
|---|---|---|---|---|
file |
The points file beside the sidecar holding the mid-point of every trailing-edge mesh edge, under a line naming their length unit; the default route. | a file name | builds 26.122, 26.123, 26.124 | IMPORT_WAKE_EDGES_FROM_FILE |
type |
The edge type every point of the file is given. | text, default "STANDARD" |
builds 26.122, 26.123, 26.124 | IMPORT_WAKE_EDGES_FROM_FILE |
tolerance |
The distance within which an edge's mid-point counts as a point of the file. | m, > 0, default 0.0001 |
builds 26.122, 26.123, 26.124 | IMPORT_WAKE_EDGES_FROM_FILE |
detect |
Marks the edges by the solver's detection instead of a file, over every surface or on the surfaces named. | "auto", or a table; see detect = { ... } below |
AUTO_DETECT_TRAILING_EDGES, DETECT_TRAILING_EDGES_BY_SURFACE |
detect = { ... } of [trailing_edges]¶
Detection on the surfaces named, the table form of detect.
| Key | What it sets | Unit or values | Accepted by | Command |
|---|---|---|---|---|
surfaces |
The surfaces to detect on, by the sidecar's names. | a list of names, or "all" for every surface |
DETECT_TRAILING_EDGES_BY_SURFACE |
|
sweep_angle |
The sweep angle set before the detection, only when stated. | deg | SET_TRAILING_EDGE_SWEEP_ANGLE |
[wake_termination]¶
Detects a raw mesh's wake-termination nodes, only when written.
| Key | What it sets | Unit or values | Accepted by | Command |
|---|---|---|---|---|
detect |
Detects the wake-termination nodes over every surface, or on the surfaces named. | "auto", or { surfaces = ["<name>"] } |
AUTO_DETECT_WAKE_TERMINATION_NODES, DETECT_WAKE_TERMINATION_NODES_BY_SURFACE |
[base_regions]¶
Detects a raw mesh's base regions over the whole mesh, only when written.
| Key | What it sets | Unit or values | Accepted by | Command |
|---|---|---|---|---|
detect |
Detects the base regions over the whole mesh; a named boundary is the row's BASE_REGIONS key's. | "auto" |
AUTO_DETECT_BASE_REGIONS |