Periodic Boundary Condition#
The Periodic boundary condition links two separate boundaries so that flow exiting one boundary enters the other, enabling simulation of infinitely repeating geometry with a reduced computational domain.
Available Options#
Option |
Description |
Applicable |
|---|---|---|
Periodicity Type |
Type of periodicity (translational or rotational) |
always |
Axis of rotation |
Rotation axis for rotational periodicity |
Periodicity type is |
Assigned surfaces |
Matching pairs of boundaries to be treated as periodic |
always |
Detailed Descriptions#
Periodicity Type#
Defines the geometric relation between periodic boundaries.
Options:
TranslationalRotational
Default:
Translational
Note: Translational periodicity is typically used for linear arrays, while rotational periodicity is used for circular arrangements.
Axis of rotation#
The axis about which rotational periodicity is applied.
Required when
Rotationalis selected.Example: Vector
(0, 0, 1)for rotation around the z-axis.
Note: The rotation angle is determined automatically from the mesh geometry.
Assigned surfaces#
Matching pairs of boundaries that will be treated as periodic interfaces.
Required.
Accepted types: Pairs of Surface objects
Example:
front_plane AND back_plane
Note: Flow360 handles the interpolation between periodic surfaces automatically, regardless of mesh topology.
💡 Tips
Mesh Preparation for Periodic Boundaries#
For Translational Periodicity:
Periodic surfaces should have similar (but not necessarily identical) mesh resolution
Flow360 automatically handles the interpolation between periodic surfaces
No exact node matching is required between periodic pairs
For Rotational Periodicity:
Similar mesh resolution is recommended along the periodic interfaces
Flow360 automatically handles the rotational transformation
For best results, maintain similar element sizes across interfaces
Common Applications#
Translational Periodicity:
Airfoil or blade cascades
Heat exchanger channels
Infinite arrays of elements
Channel flow with repeating features
Rotational Periodicity:
Single blade passage in turbomachinery
Sectional analysis of axisymmetric components
Propeller/rotor blade analysis using one blade
Components with cyclic symmetry
Performance Considerations#
Periodic boundaries typically reduce computational cost significantly
For rotational cases, ensure sufficient sector size to capture relevant flow features
Verify that periodicity is a valid assumption for your flow physics
❓ Frequently Asked Questions
How do I determine if periodicity is appropriate for my simulation?
Periodicity is appropriate when:
Your geometry repeats in a regular pattern
Flow conditions are expected to be identical across the repeating units
You’re interested in the fully developed flow rather than entrance/exit effects
The problem has no major asymmetries that would invalidate the periodic assumption
What mesh requirements must be met for periodic boundaries?
Flow360 is very flexible with periodic interfaces:
Non-matching meshes are fully supported through automatic interpolation
No specific node count or distribution requirements exist
Similar mesh resolution is recommended (but not required) at interfaces for best accuracy
Both conformal and non-conformal interfaces are supported
Can I use periodicity with other boundary conditions?
Yes, periodic boundaries are often combined with:
Wall conditions for solid surfaces
Inflow/outflow for the flow direction perpendicular to the periodic directions
Symmetry planes for additional domain reduction
How many repeating units should I include in my periodic simulation?
For most cases, a single repeating unit is sufficient. However, include multiple units when:
Vortex shedding or instabilities with wavelengths larger than one unit are expected
Flow features may develop with periodicity different from the geometric periodicity
Investigating possible asymmetric solutions in nominally periodic configurations
Can I use periodicity for time-dependent simulations?
Yes, periodicity works for both steady and unsteady simulations, but:
Ensure that time-dependent phenomena respect the periodic assumption
For some unsteady flows (e.g., vortex shedding), include enough repeating units to capture the correct wavelength
Consider phase-lag periodicity for turbomachinery with relative motion between components
What’s the difference between periodicity and symmetry?
Periodicity connects two separate boundaries, simulating infinite repetition
Symmetry reflects flow across a single plane, imposing the condition that flow doesn’t cross that plane
Use periodicity for repeating patterns, symmetry for mirror-image configurations
🐍 Python Example Usage
# Example of translational periodicity
translational_periodic = fl.Periodic(
name="x_direction_periodicity",
surface_pairs=[
(volume_mesh["left_face"], volume_mesh["right_face"])
],
spec=fl.Translational()
)
# Example of rotational periodicity
rotational_periodic = fl.Periodic(
name="blade_passage_periodicity",
surface_pairs=[
(volume_mesh["passage_minus"], volume_mesh["passage_plus"])
],
spec=fl.Rotational(
axis_of_rotation=(0, 0, 1) # Rotation around z-axis
)
)
# Example with multiple periodic pairs
multi_periodic = fl.Periodic(
name="multi_direction_periodicity",
surface_pairs=[
(volume_mesh["left_face"], volume_mesh["right_face"]),
(volume_mesh["bottom_face"], volume_mesh["top_face"])
],
spec=fl.Translational()
)
# Example of turbomachinery setup with periodicity
def create_turbo_boundaries():
return [
fl.Wall(
name="blade_surface",
entities=volume_mesh["blade"],
heat_spec=fl.HeatFlux(0 * fl.u.W / fl.u.m**2) # Adiabatic wall
),
fl.Inflow(
name="inlet",
entities=[volume_mesh["inlet"]],
total_temperature=300 * fl.u.K,
spec=fl.TotalPressure(
value=150000 * fl.u.Pa
)
),
fl.Outflow(
name="outlet",
entities=volume_mesh["outlet"],
spec=fl.Pressure(
value=101325 * fl.u.Pa
)
),
fl.Periodic(
name="blade_passage",
surface_pairs=[
(volume_mesh["periodic_minus"], volume_mesh["periodic_plus"])
],
spec=fl.Rotational(
axis_of_rotation=(1, 0, 0) # Rotation around x-axis
)
)
]