-
Notifications
You must be signed in to change notification settings - Fork 4
Outputs
MachLine can be configured to produce several different outputs once the flow solution has been computed. These outputs are specified in the Output section of the input file. There are essentially four types of output from MachLine: body results, control point results, wake results, and slice results. Each are discussed in the following sections.
MachLine will output singularity strengths, velocities, pressures, etc. on the surface of the body being analyzed. If the mesh is being mirrored and the freestream flow is not symmetric with the mesh, then the calculated results on the mirrored half of the mesh may also be exported.
The following data are contained in the body vtk file (if the solver ran successfully and depending on input options):
Label | Type | Explanation |
---|---|---|
Phi_u | Point | Total potential on the upper surface of the body. |
convex | Point | Whether the panels surrounding the vertex are entirely on the surface of the convex closure of the panels. |
mu | Point | Doublet strength. |
C_p_inc | Cell | Incompressible pressure coefficient. |
C_p_2nd | Cell | Second-order pressure coefficient. |
C_p_ise | Cell | Isentropic pressure coefficient. |
C_p_sln | Cell | Slender-body pressure coefficient. |
C_p_lin | Cell | Linear pressure coefficient. |
N_discontinuous_edges | Cell | Number of edges of each panel which are considered discontinuous for the higher-order singularity distributions. |
centroid | Cell | Location of the centroid of each panel. |
dC_f | Cell | Dimensionless force vector acting on each panel due to external pressures. |
distribution_order | Cell | Order of the singularity distribution on each panel (1: lower-order, 2: higher-order). |
inclination | Cell | Panel inclination (1: subinclined, -1: superinclined). |
normals | Cell | Panel normal vector. |
sigma | Cell | Source strength. |
v | Cell | Outer surface (total) velocity. |
The reported surface velocities are always evaluated at the centroid of each panel. The surface pressures are the average across each panel.
To solve the Dirichlet formulations, MachLine places a number of control points inside the configuration and enforces certain conditions at these control points.
The following data are contained in the control point vtk file (if the solver ran successfully and depending on input options):
Label | Type | Explanation |
---|---|---|
BC_type | Point | Which boundary condition is being enforced at each control point (explained below). |
residual | Point | The residual of the computed solution at each control point. |
The conditions which may be enforced at the control points are:
BC_type | Description |
---|---|
1 | Zero perturbation potential (for the Morino formulation). |
2 | Inner potential for source-free formulation. |
3 | Zero perturbation mass flux (linearized). |
4 | Doublet strength matching. |
5 | Zero normal velocity. |
For lifting flows, MachLine will generate a wake mesh emanating from sharp trailing edges. This mesh is separate from the body mesh and so is exported separately. MachLine will export the shape of the wake and the doublet strength on the wake. Due to the nature of the wake, only one wake is ever generated, regardless of mesh mirroring and flow symmetry.
All data output in the wake vtk file are the same as explained above for the body, except that the wake has fewer relevant data.
To view off-body results, the user has the option to have MachLine calculate the velocity potentials at an arbitrary number of points. These points are supplied to MachLine via a csv file. The data at these points will be written out to a csv file and may then be rendered using data analysis software. The data available in the off-body output file are:
Label | Explanation |
---|---|
x, y, z | Point location, same as input. |
phi_inf | Freestream velocity potential. |
phi_d | Doublet-induced perturbation potential. |
phi_s | Source-induced perturbation potential. |
phi | Perturbation potential. |
Phi | Total potential. |
v_inf_x, v_inf_y, v_inf_z | Freestream velocity. |
v_d_x, v_d_y, v_d_z | Doublet-induced velocity perturbation. |
v_s_x, v_s_y, v_s_z | Source-induced velocity perturbation. |
v_x, v_y, v_z | Velocity pertubation. |
V_x, V_y, V_z | Total velocity. |
V | Total velocity magnitude. |
The report file contains general information about the case, how and when it was run, the results and timing, and the input used.
The structure of the report file (assuming the run was successful) is as follows:
{
"info" : {
"generated_by" : "MachLine (c) 2023 USU Aerolab",
"executed" : <EXECUTION DATE AND TIME>
},
"mesh_info" : {
"N_body_panels" : <NUMBER OF PANELS ON THE BODY>,
"N_body_vertices" : <NUMBER OF VERTICES (INCLUDING CLONES ALONG WAKE-SHEDDING EDGES) ON THE BODY>,
"N_wake_panels" : <NUMBER OF PANELS ON THE WAKE>,
"average_characteristic_length" : <AVERAGE CHARACTERISTIC LENGTH (SQUARE ROOT OF PANEL AREA) FOR THE BODY>
},
"solver_results" : {
"solver_status_code" : <STATUS CODE, SEE BELOW>,
"system_dimension" : <SIZE OF THE LINEAR SYSTEM SOLVED>,
"timing" : {
"system_sorting" : <TIME TAKEN TO SORT THE LINEAR SYSTEM>,
"preconditioner" : <TIME TAKEN TO PRECONDITION THE LINEAR SYSTEM>,
"matrix_solver" : <TIME TAKEN TO SOLVE THE LINEAR SYSTEM>
},
"iterations" : <TOTAL ITERATIONS USED BY LINEAR SOLVER (IF ITERATIVE)>,
"residual" : {
"max" : <MAXIMUM RESIDUAL OF ANY ONE LINE OF THE SYSTEM OF EQUATIONS>,
"norm" : <NORM OF THE RESIDUAL VECTOR Ax-b>
}
},
"pressure_calculations" : {
"incompressible_rule" : {
"max" : <MAXIMUM PRESSURE ANYWHERE ON THE BODY USING THE INCOMPRESSIBLE RULE>,
"min" : <MINIMUM PRESSURE ANYWHERE ON THE BODY USING THE INCOMPRESSIBLE RULE>
}
},
"total_forces" : {
"Cx" : <TOTAL FORCE IN THE X DIRECTION>,
"Cy" : <TOTAL FORCE IN THE Y DIRECTION>,
"Cz" : <TOTAL FORCE IN THE Z DIRECTION>
},
"total_moments" : {
"CMx" : <TOTAL MOMENT ABOUT THE X AXIS>,
"CMy" : <TOTAL MOMENT ABOUT THE Y AXIS>,
"CMz" : <TOTAL MOMENT ABOUT THE Z AXIS>
},
"input" : {
<INPUT AS SUPPLIED TO MACHLINE>
...
},
"total_runtime" : <TOTAL (WALL) TIME REQUIRED TO RUN MACHLINE>
}
The solver status codes are as follow:
Code | Meaning |
---|---|
0 | Run was successful. |
1 | An invalid value was detected in either the A matrix of b vector after assembling the linear system of equations. |
2 | Either a control point was uninfluenced or a panel exerted no influence. |
4 | The linear system solver failed (non-convergence, singular matrix, etc.). |