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 |
See also
For a deeper discussion of the meshing workflow and parameters, see Meshing.
❓ Frequently Asked Questions
What happens if refinements overlap?
The finest (smallest) spacing will be used in overlapping regions.
🐍 Python Example Usage
See also
Python API:
import flow360 as fl
# Example of combining multiple refinements
meshing_params = fl.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
)
]
)