MeshingDefaults#

class MeshingDefaults[source]#

Bases: Flow360BaseModel

Default/global settings for meshing parameters.

Example

>>> fl.MeshingDefaults(
...     surface_max_edge_length=1*fl.u.m,
...     surface_edge_growth_rate=1.2,
...     curvature_resolution_angle=12*fl.u.deg,
...     boundary_layer_growth_rate=1.1,
...     boundary_layer_first_layer_thickness=1e-5*fl.u.m
... )

Attributes

geometry_accuracy: Any, optional#

The smallest length scale that will be resolved accurately by the surface meshing process. This parameter is only valid when using geometry AI.It can be overridden with class: ~flow360.GeometryRefinement.

Default:

None

surface_edge_growth_rate: float#

Growth rate of the anisotropic layers grown from the edges.This can not be overridden per edge.

Default:

1.2

boundary_layer_growth_rate: float#

Default growth rate for volume prism layers.

Default:

1.2

volume_edge_growth_rate: float#

Geometric ratio between successive volume cell edge lengths. Lower values produce smoother gradation (more cells); higher values expand faster (fewer cells). Typical range: 1.05-1.3. Only supported by the beta mesher.

Default:

1.1

boundary_layer_first_layer_thickness: Any, optional#

Default first layer thickness for volumetric anisotropic layers. This can be overridden with BoundaryLayer.

Default:

None

number_of_boundary_layers: int, optional#

Default number of volumetric anisotropic layers. The volume mesher will automatically calculate the required no. of layers to grow the boundary layer elements to isotropic size if not specified. This is only supported by the beta mesher and can not be overridden per face.

Default:

None

planar_face_tolerance: float#

Tolerance used for detecting planar faces in the input surface mesh / geometry that need to be remeshed, such as symmetry planes. This tolerance is non-dimensional, and represents a distance relative to the largest dimension of the bounding box of the input surface mesh / geometry. This can not be overridden per face.

Default:

1e-06

sliding_interface_tolerance: float#

Tolerance used for detecting / creating curves in the input surface mesh / geometry lying on sliding interfaces. This tolerance is non-dimensional, and represents a distance relative to the smallest radius of all sliding interfaces specified in meshing parameters. This cannot be overridden per sliding interface.

Default:

0.01

surface_max_edge_length: Any, optional#

Default maximum edge length for surface cells. This can be overridden with SurfaceRefinement.

Default:

None

surface_max_aspect_ratio: float#

Maximum aspect ratio for surface cells for the GAI surface mesher. This cannot be overridden per face

Default:

10.0

surface_max_adaptation_iterations: int#

Maximum adaptation iterations for the GAI surface mesher.

Default:

50

target_surface_node_count: int, optional#

Target number of surface mesh nodes. When specified, the surface mesher will rescale the meshing parameters to achieve approximately this number of nodes. This option is only supported by the beta surface mesher or when using geometry AI, and can not be overridden per face.

Default:

None

curvature_resolution_angle: Any#

Default maximum angular deviation in degrees. This value will restrict: 1. The angle between a cell’s normal and its underlying surface normal. 2. The angle between a line segment’s normal and its underlying curve normal. This can be overridden per face only when using geometry AI.

Default:

12 * fl.u.degree

resolve_face_boundaries: bool#

Flag to specify whether boundaries between adjacent faces should be resolved accurately during the surface meshing process using anisotropic mesh refinement. This option is only supported when using geometry AI, and can be overridden per face with SurfaceRefinement.

Default:

False

preserve_thin_geometry: bool#

Flag to specify whether thin geometry features with thickness roughly equal to geometry_accuracy should be resolved accurately during the surface meshing process. This option is only supported when using geometry AI, and can be overridden per face with GeometryRefinement.

Default:

False

sealing_size: Any#

Threshold size below which all geometry gaps are automatically closed. This option is only supported when using geometry AI, and can be overridden per face with GeometryRefinement.

Default:

0.0 * fl.u.m

remove_hidden_geometry: bool#

Flag to remove hidden geometry that is not visible to flow. This option is only supported when using geometry AI.

Default:

False

min_passage_size: Any, optional#

Minimum passage size that hidden geometry removal can resolve. Internal regions connected by thin passages smaller than this size may not be detected. If not specified, the value is derived from geometry_accuracy and sealing_size. This option is only supported when using geometry AI.

Default:

None

remove_baffle_faces: bool#

Flag to remove baffle faces (faces with both sides facing exterior) detected during hidden geometry removal. When False, baffles are thickened into a closed shell. This option is only supported when using geometry AI.

Default:

True

edge_split_layers: int#

The number of layers that are considered for edge splitting in the boundary layer mesh.This only affects beta mesher.

Default:

1

octree_spacing: OctreeSpacing, optional#

Octree spacing configuration for volume meshing. If specified, this will be used to control the base spacing for octree-based meshers.

Default:

None

Methods

classmethod remove_deprecated_arguments(value)[source]#

Detect when invoking the constructor of the MeshingDefaults() (Warning: contrary to deserializing data, which is supposed to be handled by the updater.py) If the user added the remove_non_manifold_faces in the argument, pop the argument and give warning that this is no longer supported.

classmethod invalid_number_of_boundary_layers(value)[source]#

Ensure number of boundary layers is not specified

classmethod invalid_edge_split_layers(value)[source]#

Ensure edge split layers is only configured for beta mesher.

classmethod invalid_geometry_accuracy(value)[source]#

Ensure geometry accuracy is not specified when GAI is not used

classmethod ensure_geometry_ai_features(value, info)[source]#

Validate that the feature is only used when Geometry AI is enabled.

classmethod ensure_target_surface_node_count_mesher(value)[source]#

Validate that target_surface_node_count is only used with geometry AI or beta mesher.

validate_min_passage_size_requires_remove_hidden_geometry()[source]#

Ensure min_passage_size is only specified when remove_hidden_geometry is True.

classmethod warn_volume_edge_growth_rate_beta_mesher(value)[source]#

Warn if a non-default volume_edge_growth_rate is set on the non-beta mesher.