# Surface Edge Refinement
Surface edge refinement enables precise control over mesh resolution in proximity to geometric edges, which is essential for accurately capturing critical features such as leading edges, trailing edges, and regions characterized by high curvature.
# 📋 Available Options
Option | Description |
---|---|
Method | Refinement methodology selection |
Assigned edges | Target edges for refinement application |
# 🔍 Detailed Descriptions
# Method
Option | Description | Unit |
---|---|---|
Height | Controls mesh refinement based on specified initial layer height | length (e.g. m) |
Angle | Refines mesh based on local geometric curvature angle | angle (e.g. degree) |
Project aniso spacing | Projects anisotropic spacing from surface to edges | - |
Aspect ratio | Controls element quality by limiting maximum aspect ratio | - |
# Assigned edges
Identifies the geometric edges where refinement will be applied.
- Default: None (required)
- Example:
[leading_edge, trailing_edge]
- Notes: Must reference valid edge entities in the geometry
💡 Tips
- Begin with height-based method for aerodynamic surfaces requiring precise y+ control
- Utilize angle-based method for complex curved geometries
- Apply aspect ratio method in regions where element quality is critical
- Ensure smooth transitions between refined and unrefined regions
- Consider geometric scale when setting height values
Height-Based Method Guidelines
- Set height based on desired y+ value and flow conditions
- Typical values range from 1e-6 to 1e-3 meters
- Consider Reynolds number and flow regime
- Ensure sufficient resolution for boundary layer development
❓ Frequently Asked Questions
How do I choose between different refinement methods?
Select height based for precise y+ control, angle based for complex geometries, project aniso spacing for maintaining continuity with adjacent mesh regions, and aspect ratio for quality control.
What happens if multiple edge refinements overlap?
The finest (smallest) spacing will be applied in overlapping regions.
🐍 Python Example Usage
from flow360 import SurfaceEdgeRefinement, HeightBasedRefinement, u
# Height-based edge refinement
edge_refinement = SurfaceEdgeRefinement(
name="leading_edge",
edges=[leading_edge],
method=HeightBasedRefinement(value=0.001 * u.m)
)
# Angle-based edge refinement
edge_angle_ref = SurfaceEdgeRefinement(
name="curved_edge",
edges=[curved_edge],
method=AngleBasedRefinement(value=5 * u.deg)
)
# Aspect ratio-based edge refinement
edge_aspect_ref = SurfaceEdgeRefinement(
name="transition_edge",
edges=[transition_edge],
method=AspectRatioBasedRefinement(value=10)
)