# Slice Output
Slice Output in Flow360 allows you to visualize flow field variables on 2D cutting planes through the computational domain. The data is interpolated from the three-dimensional flow solution field onto the two-dimensional slice plane. This provides detailed insight into flow features at specific locations, while generating much smaller files than full volume outputs.
# Available Options
Option | Description | Applicable |
---|---|---|
Output fields | Flow variables to include in the output | always |
Output format | Format for saving output data | always |
Save interval | When to save outputs | always |
Frequency | How often to save outputs | when Save interval is Custom |
Frequency offset | The time step at which to start the output | when Save interval is Custom |
Assigned slices | Define one or more slice planes by specifying their origin and normal vector | always |
# Detailed Descriptions
# Output fields
Select the flow variables to include in the output files.
- Default: None (must select at least one)
- Example:
Cp, Mach, velocity
Note: See complete list of available fields below.
# Output format
The file format for saving the slice data.
- Default:
paraview
- Options:
paraview
tecplot
both
Notes:
- Choose the format that best suits your post-processing workflow.
- Select
paraview
for.vtu
format,tecplot
for.plt
format, orboth
to save in both formats.
# Save interval
Choose the points in the simulation where the results are saved.
- Default:
Save at end
- Options:
Save at end
Custom
Notes:
- Choose
Save at end
to save only the final results of the simulation.- Choose
Custom
to save the results in given intervals.
# Frequency
How often to save outputs, measured in number of physical time steps.
- Default:
-1
(only at the end of simulation) - Example:
100
(save every 100 time steps)
Note: For steady simulations, use -1 to save only at convergence. For unsteady simulations, set a positive value to create an animation.
# Frequency offset
The time step at which to start the output animation.
- Default:
0
(beginning of simulation) - Example:
1000
(start saving at time step 1000)
Note: Useful for skipping initial transient phases in unsteady simulations.
# Assigned slices
Define one or more slice planes through the computational domain.
Definition parameters:
- Name: A unique identifier for the slice
- Origin: The 3D coordinates of a point on the slice plane
- Normal: The normal vector to the slice plane (does not need to be normalized)
Example:
Name: "Midspan" Origin: (0, 5, 0) Normal: (0, 1, 0)
Note: Multiple slices can be defined, each with unique name, origin, and normal.
# Available Output Fields
Variables from Available Output Fields and the following specific variables
# Volume-Specific Variables
betMetrics
- BET MetricsbetMetricsPerDisk
- BET Metrics per DisklinearResidualNavierStokes
- Linear residual of Navier-Stokes solverlinearResidualTurbulence
- Linear residual of turbulence solverlinearResidualTransition
- Linear residual of transition solverSpalartAllmaras_hybridModel
- Hybrid RANS-LES output for Spalart-Allmaras solverkOmegaSST_hybridModel
- Hybrid RANS-LES output for kOmegaSST solverlocalCFL
- Local CFL number
💡 Tips
# Key Output Fields for Slice Analysis
Total Pressure Coefficient (Cpt)
- Effectively shows boundary layer development and growth
- Clearly reveals flow separation regions
- Highlights wakes behind objects
- Indicates regions of energy loss in the flow
- Can be used to identify vortices and other flow structures
To calculate the dimensional total pressure from Cpt:
p_t (N/m²) = Cpt × (1/2)ρ∞ × U_ref² + p_t∞
Mach Number and Velocity Fields
- Excellent for visualizing shock waves
- Shows expansion regions
- Reveals flow acceleration and deceleration zones
- Indicates boundary layer thickness
# Common Slice Orientations
- XY Plane: Normal = (0, 0, 1)
- YZ Plane: Normal = (1, 0, 0)
- XZ Plane: Normal = (0, 1, 0)
# Strategic Slice Placement
Place slices at these key locations for maximum insight:
- Leading and trailing edges of aerodynamic surfaces
- Maximum thickness locations on wings or bodies
- Wing-body junctions to visualize corner flow
- Wake regions behind objects (at various downstream distances)
- Boundary layer regions (parallel to surface)
- Shock wave locations (approximately perpendicular to flow)
# Visualization Recommendations
- For boundary layer analysis: Use
Cpt
with a color scale that highlights low values - For shock detection: Use
Mach
orpressure
with carefully adjusted color scales - For vortex visualization: Use
vorticityMagnitude
or velocity vector plots - For separation detection: Look for reversal in velocity vectors or negative streamwise velocity
- For BET analysis: Position slices at specific radial positions of the rotor disk
❓ Frequently Asked Questions
How many slices can I create in a single simulation?
There is no hard limit on the number of slices, but each additional slice increases the output file size and computational overhead. For best performance, limit slices to key areas of interest.
Can I create slices at angles that aren't aligned with the coordinate axes?
Yes, by setting the appropriate normal vector. For example, a 45° plane between X and Y axes would use normal = (1, 1, 0).
What's the difference between paraview and tecplot formats?
Paraview format (.vtu) is for the open-source ParaView visualization tool, while Tecplot format (.plt) is for the commercial Tecplot software. Choose based on your preferred visualization tool.
🐍 Python Example Usage
The following example demonstrates how to configure slice outputs in your simulation using the Flow360 Python API.
import flow360 as fl
from flow360 import u
# Create a simulation setup
simulation = fl.SimulationParams(
# Other simulation parameters...
)
# Define slice outputs
simulation.outputs.append(
fl.SliceOutput(
name="Wing Slices",
entities=[
fl.Slice(
name="Wing Root",
origin=(0, 0, 0) * u.m,
normal=(0, 1, 0)
),
fl.Slice(
name="Midspan",
origin=(0, 5, 0) * u.m,
normal=(0, 1, 0)
),
fl.Slice(
name="Wingtip",
origin=(0, 10, 0) * u.m,
normal=(0, 1, 0)
)
],
output_format="paraview",
output_fields=["Mach", "pressure", "vorticity"],
frequency=100, # Save every 100 time steps
frequency_offset=0 # Start saving from beginning of simulation
)
)
# Create time-averaged slice output
simulation.outputs.append(
fl.TimeAverageSliceOutput(
name="Time Averaged Wake",
entities=[
fl.Slice(
name="Wake Slice",
origin=(2, 0, 0) * u.m,
normal=(1, 0, 0) # Normal to flow direction
)
],
output_fields=["velocity", "Cp", "turbulence"],
start_step=1000, # Start averaging from time step 1000
frequency=500, # Save every 500 time steps
frequency_offset=1500 # Start saving from time step 1500
)
)
Note: For information on time-averaging slice output for unsteady simulations, see Time-Averaged Slice Output.