Geometry Refinement#

Geometry refinement allows for controlling the resolution of the surface mesh by defining the smallest geometric features to be captured. It ensures that the mesh accurately represents the geometry down to a specified length scale. Geometry AI needs to be enabled to use this feature.


Available Options#

Option

Description

Applicable

Geometry accuracy

The smallest length scale to be accurately resolved by the surface mesher.

always

Preserve thin geometry

Specifies whether to accurately resolve thin geometry features.

always

Min passage size

Minimum passage size that hidden geometry removal can resolve for this face group.

Remove hidden geometry is On

Sealing size

Threshold size below which all geometry gaps are automatically closed for this face group.

always

Assigned surfaces

The surfaces to which the refinement is applied.

always


Detailed Descriptions#

Geometry accuracy#

Specifies the minimum length scale that the surface meshing process will accurately resolve.

  • Required

  • Example: 0.01 m

Notes:

  • A smaller Geometry accuracy value will result in a finer mesh and consequently a larger cell count and longer computation time.

  • Start with a larger value and decrease it iteratively to find the optimal balance between accuracy and computational cost.

  • The Geometry AI mesher may stop early due to resource limits before fully achieving the requested accuracy; check the process log for an indication of early termination

  • When the global Geometry accuracy in Mesh parameters shows a threshold warning (too coarse or too fine), using a Geometry Refinement on the specific faces that require tighter control is strongly recommended over changing the global value. This keeps the overall mesh size manageable while still resolving critical features accurately.

Preserve thin geometry#

Specifies whether thin geometry features should be accurately resolved during surface meshing.

  • Default: false

Notes:

  • Resolves features with thickness roughly equal to geometry_accuracy.

Min passage size#

Minimum passage size that the hidden geometry removal algorithm can resolve for this face group.

  • Default: Derived automatically from Geometry accuracy and Sealing size

  • Units: Length

  • Example: 0.005 m

Notes:

  • Only applicable when Remove hidden geometry is enabled in the global mesh parameters

  • Internal regions connected by passages smaller than this value may not be detected and removed.

  • If not specified, the value is derived from the global Geometry accuracy and Sealing size settings.

Sealing size#

Threshold size below which all geometry gaps are automatically closed for this face group.

  • Default: None (falls back to the global Sealing size set in mesh parameters)

  • Units: Length

  • Example: 0.001 m

Notes:

  • Only applicable when Geometry AI is enabled.

  • When set, overrides the global Sealing size value from the mesh parameters for the assigned surfaces.

Assigned surfaces#

The list of surfaces where the geometry refinement will be applied.

  • Required

Notes:

  • Must reference valid surface entities in the geometry.

  • Surfaces can be assigned from the list using the + button or by graphical selection in the viewer.


💡 Tips

  • Use this refinement to ensure small but important geometric features (e.g., sharp corners, small fillets) are not lost during meshing.


❓ Frequently Asked Questions

  • What is a typical value for Geometry accuracy?

    The value is highly dependent on the specific geometry and the scale of the features you want to capture. It should be smaller than the smallest important feature size. For example, for a vehicle simulation, you might want to resolve features on the scale of millimeters.

  • What is the difference between Geometry Refinement and Surface Refinement?

    Surface Refinement controls the maximum edge length of surface cells directly. Geometry Refinement provides a more automated way of refining the mesh based on geometric curvature and feature size, driven by geometry AI.


🐍 Python Example Usage

import flow360 as fl

geometry_refinement = fl.GeometryRefinement(
    name="fine_features_refinement",
    faces=[geometry["wing_surface"], geometry["fuselage_surface"]],
    geometry_accuracy=0.001 * fl.u.m,
    preserve_thin_geometry=True,
    min_passage_size=0.005 * fl.u.m,
    sealing_size=0.0005 * fl.u.m,
)