Inflow Boundary Condition#
The Inflow boundary condition specifies flow entering the computational domain, allowing you to define inlet conditions for internal flow simulations or when inlet conditions differ from the global freestream.
Available Options#
Option |
Description |
Applicable |
|---|---|---|
Total temperature |
Stagnation temperature at the inlet |
always |
Velocity direction |
Primary direction of the incoming flow |
always |
Total pressure |
Stagnation pressure at the inlet |
Specification is |
Static pressure |
Static pressure at the inlet |
Specification is |
Mass flow rate (value) |
Mass flow through the inlet |
Specification is |
Ramp steps |
Number of steps to gradually apply mass flow rate |
Specification is |
Turbulence quantity |
Specification of turbulence parameters |
always |
Assigned surfaces |
Geometric boundaries to apply the inflow condition |
always |
Detailed Descriptions#
Total temperature#
The stagnation (total) temperature of the flow at the inlet boundary.
Required
Example (constant):
300 K
Velocity direction#
The primary direction of the incoming flow at the inlet boundary.
Default: If not specified, the boundary patch normal is used
Example:
(1, 0, 0)
Total pressure#
The stagnation (total) pressure of the flow at the inlet boundary. This is the pressure the flow would have if brought to rest isentropically.
Required: Yes (when Inflow is
Total PressureorSupersonic)Example (constant):
101325 Pa
Important: For subsonic flows (Total Pressure specification), the full flow state is not specified at the inflow boundary. When total temperature, velocity direction, and total pressure are specified, the static pressure at the inflow is only determined after convergence of the solution. This occurs because in subsonic flow, one of the characteristics travels upstream, so information cannot be fully determined at the upstream boundary.
Static pressure#
The static pressure for supersonic inflow conditions. This is the actual pressure of the flowing fluid at the inlet boundary.
Required: Yes (when Inflow specification is
Supersonic)Example:
1.01e6 Pa
Notes:
For supersonic flows, both total and static pressure are directly specified, fully determining the flow state at the inlet
This is necessary because in supersonic flows, information cannot propagate upstream, so the complete flow state must be prescribed at the boundary
It is useful to use the isentropic relations to specify the velocity when setting up supersonic inflow conditions
Mass flow rate (value)#
The mass flow rate through the inlet boundary.
Required: Yes (when Inflow specification is
Mass Flow Rate)Example:
10 kg/s
Ramp steps#
The number of pseudo time steps over which to gradually increase the mass flow rate to the specified value.
Default:
0(full mass flow rate applied immediately)Example:
100
Turbulence quantity#
Optional specification of turbulence parameters at the boundary.
Default: Uses global defaults based on turbulence model
Example:
Turbulence Intensity = 0.05,Turbulent Length Scale = 0.01 m
Notes:
Only specify at most two turbulence parameters
See Turbulence Quantities documentation for valid combinations and detailed explanations
Assigned surfaces#
Specifies the geometric boundaries to which the inflow boundary condition is applied.
Accepted types: Surface
Note: Assign the boundaries by selecting from the list using the + button or select graphically in the viewer region.
Turbulence Specification#
For recommendations on turbulence parameter values for various flow conditions, see the Turbulence Quantities documentation.
💡 Tips
Choosing Inflow Specification Method#
Total Pressure: This specification is often best suited when:
You know the pressure at the inlet (e.g., atmospheric conditions).
Flow rate should be a calculated result rather than an input.
You are modeling external aerodynamics applications.
Mass Flow Rate: This specification is often best suited when:
You know the precise flow rate (e.g., from a pump or fan).
You are modeling HVAC, engine inlets, or other applications with known flow rates.
You need to match experimental flow conditions.
Supersonic: This specification is required when:
The incoming flow is supersonic (Mach number > 1).
You know both the total and static pressure at the inlet.
You are modeling high-speed flows such as jet engines, rocket nozzles, or supersonic wind tunnels.
Inlet Placement#
Place inlets where flow conditions are known and relatively uniform
Allow sufficient distance upstream of complex geometry (5-10 characteristic lengths)
Avoid placing inlets immediately upstream of sharp turns or area changes
Convergence Strategies#
Start with a lower mass flow rate and gradually increase it
Monitor residuals and mass conservation to ensure proper convergence
For challenging cases, first converge a simpler solution and then introduce the inlet
❓ Frequently Asked Questions
Should I use Total Pressure, Mass Flow Rate, or Supersonic specification?
Use Total Pressure when you know the driving pressure but not the exact flow rate (subsonic flows). Use Mass Flow Rate when you need to ensure a specific flow rate regardless of the pressure required. Use Supersonic when the incoming flow is supersonic (Mach > 1) and you know both total and static pressure.
What happens if my inlet is too close to an obstacle?
Placing an inlet too close to obstacles can cause unrealistic flow patterns and convergence issues. Try to maintain at least 5 characteristic lengths of straight, uniform flow upstream of complex geometry.
How does the solver handle Mass Flow Rate specifications?
The solver adjusts the inlet velocity profile to achieve the specified mass flow rate while maintaining the specified total temperature and computed static pressure distribution.
What inlet turbulence values should I use?
For common internal flows:
Fully developed pipe flow: Intensity ~5%, Length scale ~7% of diameter
Flow from nozzles: Intensity 1-5%, Length scale based on nozzle dimensions
HVAC ducts: Intensity 5-10%, Length scale based on hydraulic diameter
When should I use the Ramp Steps option? [python only]
Use Ramp Steps when:
Simulating high flow rates that might cause initialization issues
Encountering convergence problems with immediate application of the full flow rate
Starting from an existing solution and significantly changing the flow conditions
🐍 Python Example Usage
# Example of an inlet with total pressure specification
pressure_inlet = fl.Inflow(
name="pressure_inlet",
entities=[volume_mesh["fluid/inlet"]],
total_temperature=300 * fl.u.K,
spec=fl.TotalPressure(
value=101325 * fl.u.Pa,
velocity_direction=(1.0, 0.0, 0.0) # Flow in x-direction
)
)
# Example of an inlet with mass flow specification
mass_flow_inlet = fl.Inflow(
name="mass_flow_inlet",
entities=[volume_mesh["fluid/inlet"]],
total_temperature=350 * fl.u.K,
spec=fl.MassFlowRate(
value=5 * fl.u.kg / fl.u.s,
ramp_steps=100
)
)
# Example with turbulence specifications for k-ω SST model
turbulent_inlet = fl.Inflow(
name="turbulent_inlet",
entities=[volume_mesh["fluid/inlet"]],
total_temperature=300 * fl.u.K,
spec=fl.TotalPressure(
value=200000 * fl.u.Pa
),
turbulence_quantities=fl.TurbulenceQuantities(
turbulent_intensity=0.05, # 5% turbulence intensity
turbulent_length_scale=0.02 * fl.u.m
)
)
# Example for Spalart-Allmaras model
sa_inlet = fl.Inflow(
name="sa_inlet",
entities=[volume_mesh["fluid/inlet"]],
total_temperature=300 * fl.u.K,
spec=fl.MassFlowRate(
value=10 * fl.u.kg / fl.u.s
),
turbulence_quantities=fl.TurbulenceQuantities(
modified_viscosity_ratio=5.0
)
)
# Example of a supersonic inlet
supersonic_inlet = fl.Inflow(
name="supersonic_inlet",
entities=[volume_mesh["fluid/inlet"]],
total_temperature=500 * fl.u.K,
spec=fl.Supersonic(
total_pressure=7.90e6 * fl.u.Pa,
static_pressure=1.01e6 * fl.u.Pa
),
velocity_direction=(1.0, 0.0, 0.0) # Flow in x-direction
)
# Example of expressions in Inflow setup
inflow_var = fl.Inflow(
entities=[volumeMesh["fluid/inlet"]],
total_temperature="1.0+0.2*pow(0.1*(1.0-y*y),2.0)",
velocity_direction=(1.0, 0.0, 0.0),
spec=fl.TotalPressure(
value="pow(1.0+0.2*pow(0.1*(1.0-y*y),2.0),1.4/0.4)",
),
)