# Isosurface Output

Isosurface Output in Flow360 lets you visualize flow field variables on surfaces of constant value within the computational domain. This is particularly useful for identifying and analyzing coherent structures like vortices, shock waves, or temperature contours.


# 📋 Available Options

Option Description Unit
Name A descriptive name for the output
Output Format Format for saving isosurface data
Isosurfaces Define one or more isosurfaces
Output Fields Flow variables to include in the output
Frequency How often to save outputs time steps
Frequency Offset Time step at which to start the output animation time steps

# 🔍 Detailed Descriptions

# Name

A descriptive identifier for this isosurface output.

  • Default: Isosurface output
  • Example: Q-criterion Vortices
  • Notes: Choose a name that helps identify the purpose of this output.

# Output Format

The file format used to save the isosurface output data.

  • Default: paraview
  • Example: both
  • Notes: Options include "paraview", "tecplot", or "both".

# Isosurfaces

Define one or more isosurfaces by specifying a field variable and iso-value.

  • Default: None defined
  • Example: qcriterion = 0.001
  • Notes: Each isosurface requires:
    • Name: A unique identifier for the isosurface
    • Field: The flow variable used to define the isosurface
    • Iso-value: The constant value of the field variable that defines the isosurface

# Output Fields

Select the flow variables to include in the isosurface output.

  • Default: None selected
  • Example: Mach, pressure, velocity
  • Notes: See detailed field descriptions below. Only select fields you need to analyze.

# Frequency

How often to save outputs, in number of physical time steps.

  • Default: -1 (only at the end of simulation)
  • Example: 100
  • Notes: Higher frequencies provide better temporal resolution but increase storage requirements.

# Frequency Offset

The time step at which to start the output animation.

  • Default: 0 (beginning of simulation)
  • Example: 1000
  • Notes: Useful when you want to skip initial transient flow development.

# 📊 Available Isosurface Fields

Isosurfaces can be defined based on the following field variables:

  • p - Pressure (non-dimensional)
  • rho - Density (non-dimensional)
  • Mach - Mach number (non-dimensional)
  • qcriterion - Q criterion (for vortex identification) (non-dimensional)
  • s - Entropy (non-dimensional)
  • T - Temperature (non-dimensional)
  • Cp - Coefficient of pressure (non-dimensional)
  • Cpt - Total pressure coefficient (non-dimensional)
  • mut - Turbulent viscosity (non-dimensional)
  • nuHat - Spalart-Almaras variable (non-dimensional)
  • vorticityMagnitude - Vorticity Magnitude (non-dimensional)

# 📊 Available Output Fields

# Universal Variables (non-dimensional)

  • Cp - Coefficient of pressure
  • Cpt - Coefficient of total pressure
  • gradW - Gradient of primitive solution
  • kOmega - k and omega
  • Mach - Mach number
  • mut - Turbulent viscosity
  • mutRatio - Turbulent viscosity and freestream dynamic viscosity ratio
  • nuHat - Spalart-Almaras variable
  • primitiveVars - Density, velocities (u,v,w), and pressure
  • qcriterion - Q criterion for vortex identification
  • residualNavierStokes - N-S residual
  • residualTransition - Transition residual
  • residualTurbulence - Turbulence residual
  • s - Entropy
  • solutionNavierStokes - N-S solution
  • solutionTransition - Transition solution
  • solutionTurbulence - Turbulence solution
  • T - Temperature
  • velocity - Velocity vector
  • velocity_x - X-component of velocity
  • velocity_y - Y-component of velocity
  • velocity_z - Z-component of velocity
  • velocity_magnitude - Magnitude of velocity vector
  • pressure - Pressure
  • vorticity - Vorticity
  • vorticityMagnitude - Vorticity Magnitude
  • wallDistance - Wall distance
  • numericalDissipationFactor - NumericalDissipationFactor sensor
  • residualHeatSolver - Heat equation residual
  • VelocityRelative - Velocity with respect to non-inertial frame
  • lowMachPreconditionerSensor - Low-Mach preconditioner factor

# Dimensioned Variables

  • velocity_m_per_s - Velocity vector (in m/s)
  • velocity_x_m_per_s - X-component of velocity (in m/s)
  • velocity_y_m_per_s - Y-component of velocity (in m/s)
  • velocity_z_m_per_s - Z-component of velocity (in m/s)
  • velocity_magnitude_m_per_s - Magnitude of velocity vector (in m/s)
  • pressure_pa - Pressure (in Pa)

💡 Tips

# Common Isosurface Applications

  1. Vortex Identification: Q-criterion isosurfaces (typically positive values)

    • This is one of the most common applications of isosurfaces in Flow360
    • The default isosurface value for auto-generated Q-criterion is RefMach² / (all walls' bounding box length)²
    • For aircraft simulations: try Mach² / WingSpan²
    • For rotor flows: try TipMach² / RotorDiameter²
    • Use smaller values to reveal more vortical structures, larger values for only the strongest vortices
  2. Shock Wave Visualization:

    • Use Mach number or pressure gradient isosurfaces
    • For transonic flows, a Mach number around 1.0 can help locate shock waves
    • Pressure gradient isosurfaces can provide cleaner shock visualization
  3. Temperature Contours:

    • Temperature isosurfaces are useful for thermal analysis
    • Multiple isosurface values can show temperature stratification
  4. Separation Regions:

    • Skin friction or velocity isosurfaces can help identify separation regions
    • Near-zero velocity isosurfaces can indicate recirculation zones

# Performance Considerations

  • Isosurfaces are computationally efficient compared to volume outputs
  • The number and complexity of isosurfaces affect computational and visualization performance
  • Try to limit the number of isosurfaces in a single output
  • For complex flows, consider using multiple isosurface values to capture different flow features
  • If visualization software is struggling with large isosurfaces, consider:
    • Simplifying the isosurface by increasing the iso-value
    • Using multiple isosurface outputs with different frequency settings
    • Reducing the number of output fields on the isosurface

❓ Frequently Asked Questions

  • How do I choose the right iso-value for Q-criterion visualization?

    Start with a value based on the flow characteristics:

    • For aircraft: Try Mach² / WingSpan²
    • For rotors: Try TipMach² / RotorDiameter²
    • Decrease the value if you want to see more vortical structures
    • Increase the value if you want to focus only on strongest vortices
    • Experiment with different values, starting with orders of magnitude (0.1, 0.01, 0.001)
  • Which isosurface fields are best for different flow features?

    Different fields highlight different aspects of the flow:

    • Vortices: qcriterion (positive values) or vorticityMagnitude
    • Shock waves: Mach (around 1.0) or pressure gradients
    • Thermal features: T (temperature)
    • Separation and recirculation: velocity_magnitude (near zero)
    • Turbulence regions: mut (turbulent viscosity)
  • Can I create multiple isosurfaces with different fields in a single output?

    Yes! You can define multiple isosurfaces in a single isosurface output:

    • Each with different fields (e.g., one for qcriterion, one for Mach)
    • Each with different iso-values
    • All sharing the same output fields and frequency settings This approach is more efficient than creating multiple separate isosurface outputs.
  • Why are my isosurfaces flickering in animations?

    Isosurface flickering can occur due to:

    • Unsteady flows where structures evolve rapidly
    • Iso-values too close to background noise levels
    • Insufficient temporal resolution (increase output frequency)
    • Consider time-averaging for statistical visualization of unsteady features
  • How large are isosurface output files typically?

    File sizes for isosurfaces are generally much smaller than volume outputs:

    • Size depends on the complexity of the isosurface (how many triangles are needed to represent it)
    • More complex flow features and lower iso-values typically generate larger files
    • Each output field adds data to every point on the isosurface
    • For a typical simulation, isosurface files might be 10-100 MB per timestep (compared to GB for volume outputs)
  • Why is my isosurface broken or incomplete?

    Broken isosurfaces might occur because:

    • The iso-value is too high, breaking continuous structures
    • The feature doesn't exist in parts of the domain
    • Flow features are evolving (especially in unsteady simulations)
    • Output frequency may be too low to capture continuous evolution

🐍 Python Example Usage

# Example of configuring isosurface output using Flow360 Python API
import flow360 as fl
from flow360 import u

# Define multiple isosurfaces with different fields and values
isosurface_output = fl.IsosurfaceOutput(
    name="Flow Structures",
    output_format="paraview",
    isosurfaces=[
        fl.Isosurface(
            name="Vortex_Cores",
            iso_value=0.001,
            field="qcriterion",
        ),
        fl.Isosurface(
            name="Shock_Wave",
            iso_value=1.0,
            field="Mach",
        ),
        fl.Isosurface(
            name="Hot_Region",
            iso_value=1.2,
            field="T",
        ),
    ],
    output_fields=["velocity", "pressure", "Mach"],
    frequency=100,  # Save every 100 time steps
    frequency_offset=0,  # Start at the beginning of simulation
)

# Add isosurface output to simulation parameters
simulation_params = fl.SimulationParams(
    # ... other simulation parameters ...
    outputs=[isosurface_output]
)