# 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
Max edge length Maximum allowed length of surface mesh edges
Assigned surfaces Target surfaces for refinement application

# Detailed Descriptions

# Max Edge Length

Defines the upper bound for surface mesh element size.

  • Required
  • Example: 0.05 m

Note: Should be chosen based on smallest geometric feature requiring resolution.

# Assigned surfaces

Specifies the geometric surfaces where refinement will be applied.

  • Required

Notes:

  • Must reference valid surface entities in the geometry.
  • Assign the boundaries by selecting from the list using the + button or select graphically in the viewer region.

💡 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
)