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

Attributes

refinement_factor: float, optional#

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

Default:

1

gap_treatment_strength: float, optional#

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. The beta mesher uses a conservative default value of 1.0.

Default:

None

defaults: MeshingDefaults#

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

Default:

MeshingDefaults()

refinements: list[SurfaceEdgeRefinement | SurfaceRefinement | GeometryRefinement | BoundaryLayer | PassiveSpacing | UniformRefinement | StructuredBoxRefinement | AxisymmetricRefinement]#

Additional fine-tunning for refinements on top of defaults

Default:

[]

volume_zones: list[RotationVolume | RotationCylinder | AutomatedFarfield | UserDefinedFarfield | CustomZones | WindTunnelFarfield], optional#

Creation of new volume zones.

Default:

None

outputs: list[MeshSliceOutput]#

Mesh output settings.

Default:

[]

Properties

farfield_method#

Returns the farfield method used.

Additional Constructors

classmethod from_file(filename)#

Loads a Flow360BaseModel from .json, or .yaml file.

Parameters:

filename (str) – Full path to the .yaml or .json file to load the Flow360BaseModel from.

Returns:

An instance of the component class calling load.

Return type:

Flow360BaseModel

Example

>>> params = Flow360BaseModel.from_file(filename='folder/sim.json') 

Methods

help(methods=False)#

Prints message describing the fields and methods of a Flow360BaseModel.

Parameters:

methods (bool = False) – Whether to also print out information about object’s methods.

Return type:

None

Example

>>> params.help(methods=True) 
to_file(filename, **kwargs)#

Exports Flow360BaseModel instance to .json or .yaml file

Parameters:

filename (str) – Full path to the .json or .yaml or file to save the Flow360BaseModel to.

Return type:

None

Example

>>> params.to_file(filename='folder/flow360.json')