# Uniform Refinement
Uniform refinement creates regions of consistent mesh resolution, particularly useful for capturing off-body flow features such as wakes, shocks, and vortices, while maintaining computational efficiency in regions of uniform flow.
# 📋 Available Options
Option | Description | Unit |
---|---|---|
Spacing | Target mesh spacing in the region | length (e.g. m) |
Assigned boxes and cylinders | Target volumes for refinement application | - |
# 🔍 Detailed Descriptions
# Spacing
Defines the uniform mesh spacing within the refinement region.
- Default: None (required)
- Example:
0.1 * u.m
- Notes: Should be chosen based on flow feature size and resolution requirements
# Assigned boxes and cylinders
Specifies the volumes where uniform refinement will be applied.
- Default: None (required)
- Example:
[wake_box, shock_region]
- Notes: Must reference valid box or cylinder entities in the geometry
💡 Tips
- Size refinement region 10% larger than expected flow feature
- Extend wake regions 2-3 characteristic lengths downstream
- Align refinement with expected shock angles
- Use √3 times surface spacing for near-body regions
- Consider flow direction when positioning refinement regions
❓ Frequently Asked Questions
How do I size uniform refinement regions?
Consider the expected size of flow features and extend 10% beyond to ensure complete capture.
What happens if uniform refinements overlap?
The finest (smallest) spacing will be applied in overlapping regions.
🐍 Python Example Usage
from flow360 import UniformRefinement, u
# Wake region refinement
wake_ref = UniformRefinement(
name="wake_region",
entities=[wake_box],
spacing=0.1 * u.m
)
# Shock region refinement
shock_ref = UniformRefinement(
name="shock_region",
entities=[shock_box],
spacing=0.05 * u.m # Finer spacing for shock resolution
)
# Near-body refinement
near_body_ref = UniformRefinement(
name="near_body",
entities=[near_body_box],
spacing=0.02 * u.m # √3 times surface spacing
)