flow360.MeshingParams#

class MeshingParams[source]#

Bases: Flow360BaseModel

Meshing parameters for volume and/or surface mesher. This contains all the meshing related settings.

Example

>>> fl.MeshingParams(
...     defaults=fl.MeshingDefaults(
...         surface_max_edge_length=1*fl.u.m,
...         boundary_layer_first_layer_thickness=1e-5*fl.u.m
...     ),
...     volume_zones=[farfield],
...     refinements=[
...         fl.SurfaceEdgeRefinement(
...             edges=[geometry["edge1"], geometry["edge2"]],
...             method=fl.AngleBasedRefinement(value=8*fl.u.deg)
...         ),
...         fl.SurfaceRefinement(
...             faces=[geometry["face1"], geometry["face2"]],
...             max_edge_length=0.001*fl.u.m
...         ),
...         fl.UniformRefinement(
...             entities=[cylinder, box],
...             spacing=1*fl.u.cm
...         )
...     ]
... )

refinement_factor: Annotated[float, Gt(gt=0)] | None = 1#

All spacings in refinement regionsand first layer thickness will be adjusted to generate r-times finer mesh where r is the refinement_factor value.

gap_treatment_strength: float | None = 0#

Narrow gap treatment strength used when two surfaces are in close proximity. Use a value between 0 and 1, where 0 is no treatment and 1 is the most conservative treatment. This parameter has a global impact where the anisotropic transition into the isotropic mesh. However the impact on regions without close proximity is negligible.

Constraints:
  • ge = 0

  • le = 1

defaults: MeshingDefaults = MeshingDefaults(geometry_accuracy=None, surface_edge_growth_rate=1.2, boundary_layer_growth_rate=1.2, boundary_layer_first_layer_thickness=None, number_of_boundary_layers=None, planar_face_tolerance=1e-06, surface_max_edge_length=None, curvature_resolution_angle=unyt_quantity(12., 'degree'))#

Default settings for meshing. In other words the settings specified here will be applied as a default setting for all Surface (s) and Edge (s).

refinements: List[Annotated[SurfaceEdgeRefinement | SurfaceRefinement | BoundaryLayer | PassiveSpacing | UniformRefinement | AxisymmetricRefinement, FieldInfo(annotation=NoneType, required=True, discriminator='refinement_type')]] = []#

Additional fine-tunning for refinements on top of defaults

volume_zones: List[Annotated[RotationCylinder | AutomatedFarfield | UserDefinedFarfield, FieldInfo(annotation=NoneType, required=True, discriminator='type')]] | None = None#

Creation of new volume zones.

property automated_farfield_method#

Returns the automated farfield method used.