# Time-averaging Probe Outputs
Time-averaging Probe Outputs in Flow360 allow you to collect statistical data over time during unsteady simulations, providing valuable insights into time-averaged flow behavior.
Note: Time-averaging outputs are only available when using unsteady time stepping.
# Available Options
Option | Description | Applicable |
---|---|---|
Output fields | Flow variables to monitor at specified locations | always |
Start step | Physical time step to start calculating averaging | always |
Save interval | When to save outputs | always |
Frequency | Frequency at which output is saved | when Save interval is Custom |
Frequency offset | Offset at which output begins | when Save interval is Custom |
Assigned probes | Points or point arrays where variables will be monitored | always |
# Detailed Descriptions
# Output fields
The flow variables that will be time-averaged at the specified probe locations.
- Default: None (user must select at least one field)
- Example:
primitiveVars
,Cp
,Mach
Note: Select only the fields you need for your analysis. See Available Output Fields for a complete list of supported variables.
# Start step
The physical time step at which time-averaging begins.
- Default:
-1
(at end of simulation) - Example:
100
(begin averaging from the 100th physical time step)
Note: Use positive integers to start averaging from a specific time step.
# 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 (in physical time steps) the time-averaged data is saved.
- Default:
1
(every physical time step) - Example:
10
(save every 10th physical time step)
Note: Set to a positive integer to save at that interval, or
-1
to save only at the end.
# Frequency offset
Defines when the first time-averaged output occurs.
- Default: 0 (first output at beginning of simulation)
- Example: 5 (first output at the 5th time step)
Note: With Frequency=
10
and Frequency Offset=5
, outputs occur at steps5
,15
,25
, etc.
# Probes
The specific points or arrays of points where time-averaged flow variables will be monitored.
- Default: None (user must define at least one probe)
- Example: A point at
(0, 1.5, 0)
, or a line of points between two locations
Note: Points can be added individually or as arrays (lines) with evenly distributed points.
- Point Definition: The creation of points is described in detail here
💡 Tips
# When to Use Time-Averaged Outputs
- Use time averaging when you need statistical flow behavior rather than instantaneous snapshots
- Particularly useful for unsteady flows with periodic or chaotic behavior
- Effective for filtering out noise and revealing underlying flow patterns
# Selecting the Right Start Step
- Set Start Step after initial transients have passed for more meaningful averages
- Monitor convergence of your unsteady simulation to determine appropriate Start Step
- Too early: averages may include non-physical startup transients
- Too late: may miss important physical phenomena
# Setting Appropriate Frequency
- For long simulations, use higher Frequency values to reduce storage requirements
- For detailed time evolution of averages, use lower Frequency values
- Balance between data resolution and file size
# Point Placement Best Practices
- Place points in regions of interest (wakes, boundary layers, separation regions)
- Use point arrays to capture gradients across important flow features
- For boundary layer analysis, create point arrays normal to surfaces
# Output File Management
- Time-averaged outputs generate separate history files from regular outputs
- File naming convention:
[case_name]_TimeAvg[output_name].csv
- Monitor file sizes when using many output points with high output frequency
❓ Frequently Asked Questions
When should I use time-averaged outputs instead of regular outputs?
Time-averaged outputs are ideal for unsteady simulations where you want to analyze the statistical behavior of the flow rather than instantaneous values. They help filter out noise and reveal underlying flow patterns.
Can I have both time-averaged and instantaneous outputs for the same points?
Yes, you can define both regular probe outputs and time-averaged probe outputs for the same points to monitor both instantaneous and time-averaged values.
How does the averaging calculation work?
Flow360 calculates an average from the Start Step specified until the end of the simulation. The average is computed and saved at the frequency specified.
Does time-averaging increase computational cost?
Time-averaging adds minimal computational overhead as it's primarily a post-processing operation, but it does require additional memory to store the averaged values.
What happens if I set Start Step to -1?
Setting Start Step to -1 means the time-averaged output will only be calculated and saved at the end of the simulation, providing a single averaged value over the entire simulation (after any specified start step).
Can I use time-averaging with steady simulations?
No, time-averaged outputs are only available when using unsteady time stepping methods, as they require time evolution to calculate meaningful averages.
🐍 Python Example Usage
# Time Average Probe Output Example
# Define a time average probe output with individual points
time_avg_probe_output = fl.TimeAverageProbeOutput(
name="time_average_probe_group_points",
entities=[
fl.Point(
name="Point_1",
location=(0.0, 1.5, 0.0) * fl.u.m,
),
fl.Point(
name="Point_2",
location=(0.0, -1.5, 0.0) * fl.u.m,
),
],
output_fields=["primitiveVars", "Mach"],
start_step=4, # Start averaging at the 4th physical step
frequency=10, # Output every 10th physical step
frequency_offset=14, # First output at the 14th physical step
)
# Time Average Probe Output with Point Arrays Example
# Define a time average probe output with point arrays
time_avg_probe_output_lines = fl.TimeAverageProbeOutput(
name="time_average_probe_group_lines",
entities=[
fl.PointArray(
name="Line_1",
start=(1.0, 0.0, 0.0) * fl.u.m,
end=(1.5, 0.0, 0.0) * fl.u.m,
number_of_points=6,
),
fl.PointArray(
name="Line_2",
start=(-1.0, 0.0, 0.0) * fl.u.m,
end=(-1.5, 0.0, 0.0) * fl.u.m,
number_of_points=3,
),
],
output_fields=["primitiveVars", "Mach"],
start_step=4,
frequency=10,
frequency_offset=14,
)
# Time Average Surface Probe Output Example
# Define a time average surface probe output
time_avg_surface_probe_output = fl.TimeAverageSurfaceProbeOutput(
name="time_average_surface_probe_group_points",
entities=[
fl.Point(
name="Point_1",
location=(1, 1.02, 0.03) * fl.u.cm
),
fl.Point(
name="Point_2",
location=(2, 1.01, 0.03) * fl.u.m
),
fl.Point(
name="Point_3",
location=(3, 1.02, 0.03) * fl.u.m
),
],
target_surfaces=[
fl.Surface(name="Surface_1", geometry["surface1"]),
fl.Surface(name="Surface_2", geometry["surface2"]),
],
output_fields=["Mach", "primitiveVars", "yPlus"],
start_step=4,
frequency=10,
frequency_offset=14,
)
# Time Average Surface Probe Output with Point Arrays Example
# Define a time average surface probe output with point arrays
time_avg_surface_probe_output_lines = fl.TimeAverageSurfaceProbeOutput(
name="time_average_surface_probe_group_lines",
entities=[
fl.PointArray(
name="Line_1",
start=(1.0, 0.0, 0.0) * fl.u.m,
end=(1.5, 0.0, 0.0) * fl.u.m,
number_of_points=6,
),
fl.PointArray(
name="Line_2",
start=(-1.0, 0.0, 0.0) * fl.u.m,
end=(-1.5, 0.0, 0.0) * fl.u.m,
number_of_points=3,
),
],
target_surfaces=[
fl.Surface(name="Surface_1", geometry["surface1"]),
fl.Surface(name="Surface_2", geometry["surface2"]),
],
output_fields=["Mach", "primitiveVars", "yPlus"],
start_step=4,
frequency=10,
frequency_offset=14,
)