Refinements#
This document provides an overview of mesh refinement capabilities in Flow360. Refinements enable precise control over mesh resolution in specific regions of your geometry to better capture flow features or geometric details.
Available Refinement Types#
Refinement type |
Description |
|---|---|
Controls mesh resolution near edges |
|
Controls surface mesh cell size |
|
Creates prismatic layers near walls |
|
Controls mesh behavior without direct refinement |
|
Creates uniform mesh spacing in a region |
|
Creates structured-like mesh with cylindrical bias |
|
Controls mesh resolution based on geometric features |
General Guidelines#
Refinement Selection#
Surface Features
Use Surface Edge Refinement for leading/trailing edges
Apply Surface Refinement for general surface resolution
Implement Boundary Layer Refinement for wall regions
Select geometry refinement to accurately capture small features
Off-Body Features
Use Uniform Refinement for wakes and shocks
Apply Axisymmetric Refinement for rotating machinery
Consider Passive Spacing for interface regions
Best Practices#
Start with coarser refinements and gradually increase resolution where needed
Ensure smooth transitions between regions of different refinement levels
Consider geometric scale when setting refinement parameters
Balance resolution requirements with computational cost
Account for flow regime and Reynolds number effects
Common Applications#
Aerodynamic Simulations
Surface Edge Refinement for leading edges
Boundary Layer Refinement for wall regions
Uniform Refinement for wake regions
Rotating Machinery
Axisymmetric Refinement for rotor/propeller regions
Boundary Layer Refinement for blade surfaces
Uniform Refinement for tip vortex regions
Complex Geometries
Surface Refinement for general resolution
Passive Spacing for interface regions
Uniform Refinement for critical flow features
💡 Tips
Review detailed documentation for each refinement type
Consider flow physics when selecting refinement types
Use appropriate units for all parameters
Ensure compatibility between different refinements
Monitor mesh quality metrics
❓ Frequently Asked Questions
How do I choose between different refinement types?
Consider the geometric features and flow phenomena you need to resolve, then select the most appropriate refinement type(s).
What happens if refinements overlap?
The finest (smallest) spacing will be used in overlapping regions.
How do I ensure mesh quality?
Monitor aspect ratios, skewness, and other quality metrics while adjusting refinement parameters.
🐍 Python Example Usage
import flow360 as fl
# Example of combining multiple refinements
meshing=MeshingParams(
refinements=[
# Surface edge refinement for leading edge
fl.SurfaceEdgeRefinement(
name="leading_edge",
edges=[leading_edge],
method=fl.HeightBasedRefinement(value=0.001 * fl.u.m)
),
# Surface refinement for general resolution
fl.SurfaceRefinement(
name="wing_surface",
faces=[wing_surface],
max_edge_length=0.05 * fl.u.m
),
# Boundary layer refinement for wall regions
fl.BoundaryLayer(
name="wing_bl",
faces=[wing_surface],
first_layer_thickness=1e-5 * fl.u.m,
growth_rate=1.2
),
# Passive spacing refinement for interface region
fl.PassiveSpacing(
name="interface_region",
type="projected",
faces=[interface_surface]
),
# Wake region refinement
fl.UniformRefinement(
name="wake_region",
entities=[wake_box],
spacing=0.1 * fl.u.m
),
# Axisymmetric refinement for propeller region
fl.AxisymmetricRefinement(
name="propeller_region",
entities=[prop_cylinder],
spacing_axial=0.02 * fl.u.m,
spacing_radial=0.01 * fl.u.m,
spacing_circumferential=0.015 * fl.u.m
),
# Geometry refinement for fine features
fl.GeometryRefinement(
name="fine_features_refinement",
faces=[wing_surface, fuselage_surface],
geometry_accuracy=0.001 * fl.u.m,
preserve_thin_geometry=True
)
]
)