# 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 |
# Global Time Stepping in Child Cases
When working with child cases (cases forked from a parent simulation), it's important to understand that the Frequency and Frequency offset parameters refer to the global time step, which is transferred from the parent case.
Example: If the parent case finished at time_step=174, the child case will start from time_step=175. If Frequency=100 is set in the child case, the output will be saved at global time steps 200 (25 time steps into the child simulation), 300 (125 time steps into the child simulation), etc. Frequency offset also refers to the global time step, meaning that if in the previously mentioned child case, Frequency offset=50 was set (with Frequency=100), the output would be saved at global time steps 250 (75 time steps into the child simulation), 350 (175 time steps into the child simulation), etc.
# 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
Notes: slice outputs support all Universal Fields and all Volume and Slice Specific Fields. See the Available Output Fields page for a complete reference.
# Output format
The file format for saving the slice data.
- Default:
paraview - Options:
paraviewtecplotboth
Notes:
- Choose the format that best suits your post-processing workflow.
- Select
paraviewfor.vtuformat,tecplotfor.pltformat, orbothto save in both formats.
# Save interval
Choose the points in the simulation where the results are saved.
- Default:
Save at end - Options:
Save at endCustom(only available whenTime steppingisUnsteady)
Notes:
- Choose
Save at endto save only the final results of the simulation.- Choose
Customto 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β saves output every 100 physical time steps.- Standalone case: If you start a simulation from
time_step=0withfrequency=100, outputs are saved at time steps 100, 200, 300, etc. - Parent-child case: If the parent finished at
time_step=174, the child starts fromtime_step=175. Withfrequency=100in the child, outputs are saved at global time steps 200 (25 steps into child), 300 (125 steps into child), 400 (225 steps into child), etc.
- Standalone case: If you start a simulation from
Notes:
- For steady simulations, use -1 to save only at end of run. For unsteady simulations, set a positive value to create the data required for an animation.
- Important for child cases - this parameter refers to the global time step (see Global Time Stepping).
- This setting is only applicable for unsteady cases.
# Frequency offset
The time step at which to start the output animation.
- Default:
0(beginning of simulation) - Example:
1000β withfrequency=100, outputs are saved at time steps 1000, 1100, 1200, etc.- Standalone case: If you start a simulation from
time_step=0withfrequency=100andfrequency_offset=1000, outputs are saved at time steps 1000, 1100, 1200, etc. - Parent-child case: If the parent finished at
time_step=174, the child starts fromtime_step=175. Withfrequency=100andfrequency_offset=200in the child, outputs are saved at global time steps 200 (25 steps into child), 300 (125 steps into child), 400 (225 steps into child), etc.
- Standalone case: If you start a simulation from
Notes:
- Useful for skipping initial transient phases in unsteady simulations.
- Important for child cases - this parameter refers to the global time step (see Global Time Stepping).
- This setting is only applicable for unsteady cases.
# 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.
π‘ 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
Cptwith a color scale that highlights low values - For shock detection: Use
Machorpressurewith carefully adjusted color scales - For vortex visualization: Use
vorticityMagnitudeor 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.