# Surface Refinement

Surface refinement provides direct control over the maximum permissible size of surface mesh elements, ensuring adequate resolution of geometric features and maintaining mesh quality across surfaces.


# 📋 Available Options

Option Description Unit
Max edge length Maximum allowed length of surface mesh edges length (e.g. m)
Assigned surfaces Target surfaces for refinement application -

# 🔍 Detailed Descriptions

# Max Edge Length

Defines the upper bound for surface mesh element size.

  • Default: None (required)
  • Example: 0.05 * u.m
  • Notes: Should be chosen based on smallest geometric feature requiring resolution

# Assigned surfaces

Specifies the geometric surfaces where refinement will be applied.

  • Default: None (required)
  • Example: [wing_surface, fuselage_surface]
  • Notes: Must reference valid surface entities in the geometry

💡 Tips

  • Set max edge length to 1-10% of characteristic length
  • Use smaller values in regions of high curvature
  • Ensure smooth transition to neighboring regions
  • Consider geometric complexity when setting edge length
  • Balance resolution requirements with computational cost

Characteristic Length Guidelines

  • For wings: Use mean aerodynamic chord
  • For fuselages: Use maximum diameter
  • For complex geometries: Use smallest significant feature size
  • For general cases: Use overall model length

❓ Frequently Asked Questions

  • How do I determine appropriate edge length?

    Consider the smallest geometric feature requiring resolution and typical values (1-10% of characteristic length).

  • What happens if surface refinements overlap?

    The finest (smallest) edge length will be applied in overlapping regions.


🐍 Python Example Usage

from flow360 import SurfaceRefinement, u

# Surface refinement for wing
surface_ref = SurfaceRefinement(
    name="wing_surface",
    faces=[wing_surface],
    max_edge_length=0.05 * u.m
)

# Surface refinement for complex geometry
complex_surface_ref = SurfaceRefinement(
    name="complex_surface",
    faces=[complex_surface],
    max_edge_length=0.02 * u.m  # Smaller value for complex features
)