flow360.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
... )

geometry_accuracy: Annotated[_Constrained, PlainSerializer(func=_dimensioned_type_serializer, return_type=PydanticUndefined, when_used=always)] | None = None#

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.

surface_edge_growth_rate: float = 1.2#

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

Constraints:
  • ge = 1

boundary_layer_growth_rate: float = 1.2#

Default growth rate for volume prism layers.

Constraints:
  • ge = 1

boundary_layer_first_layer_thickness: Annotated[_Constrained, PlainSerializer(func=_dimensioned_type_serializer, return_type=PydanticUndefined, when_used=always)] | None = None#

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

number_of_boundary_layers: Annotated[int, Ge(ge=0)] | None = None#

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.

planar_face_tolerance: Annotated[float, Ge(ge=0)] = 1e-06#

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.

Constraints:
  • strict = True

  • ge = 0

sliding_interface_tolerance: Annotated[float, Ge(ge=0)] = 0.01#

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.

Constraints:
  • strict = True

  • ge = 0

surface_max_edge_length: Annotated[_Constrained, PlainSerializer(func=_dimensioned_type_serializer, return_type=PydanticUndefined, when_used=always)] | None = None#

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

surface_max_aspect_ratio: Annotated[float, Gt(gt=0)] = 10.0#

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

Constraints:
  • gt = 0

surface_max_adaptation_iterations: Annotated[int, Ge(ge=0)] = 50#

Maximum adaptation iterations for the GAI surface mesher.

Constraints:
  • ge = 0

curvature_resolution_angle: Annotated[_Constrained, PlainSerializer(func=_dimensioned_type_serializer, return_type=PydanticUndefined, when_used=always)] = unyt_quantity(12, 'degree')#

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.

Constraints:
  • func = <function _dimensioned_type_serializer at 0x76d26c7ff370>

  • return_type = PydanticUndefined

  • when_used = always

resolve_face_boundaries: bool = False#

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.

preserve_thin_geometry: bool = False#

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.

sealing_size: Annotated[_Constrained, PlainSerializer(func=_dimensioned_type_serializer, return_type=PydanticUndefined, when_used=always)] = unyt_quantity(0., 'm')#

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.

Constraints:
  • func = <function _dimensioned_type_serializer at 0x76d26c7ff370>

  • return_type = PydanticUndefined

  • when_used = always

remove_non_manifold_faces: bool = False#

Flag to remove non-manifold and interior faces.