Model.blmesh_2d_computeblthickness#

Model.blmesh_2d_computeblthickness(base_collection, num_layers, first_layer_thickness, growth_rate, core_to_BL_ratio, corner_factor)#

Used to generate boundary layer thickness on boundary nodes with specified parameters and default BL/nonBL type definition. Model.blmesh_2d_input_bl() and Model.blmesh_2d_input_nonbl() should be used before calling this function.

Parameters:
  • base_collection (Collection) – The collection containing the entities to be used for the base to generate BL thickness. Valid entities are only elements.

  • num_layers (int) – The number of boundary layers to generate.

  • first_layer_thickness (double) – The thickness value of the first layer.

  • growth_rate (double) – The growth rate of the boundary layers.

  • core_to_BL_ratio (double) – Ratio of core mesh to BL thickness, which is used for BL reduction.

  • corner_factor (double) – A dimensionless value used for corner management. The range is 0.1-1.0 for thinner BL thickness, and 1.0-10.0 for thicker BL thickness.

Example#

Create a 5 layer boundary mesh from elements with IDs 10 - 100 , with the first layer be 0.15 thick and a growth_rate of 1.2 , a core_to_BL_ratio of 2.5 , a corner_factor of 1.1 , and use non - boundary layer elements with ID 1 and 2 as fixed and 5 and 6 as float#
import hm
import hm.entities as ent

model = hm.Model()

# Non-Boundary layer elements
nonBlFixedEl_collection = hm.Collection(model, ent.Element, [1, 2])
nonBlFloatEl_collection = hm.Collection(model, ent.Element, [5, 6])

model.blmesh_2d_input_nonbl(
    fixed_collection=nonBlFixedEl_collection, float_collection=nonBlFloatEl_collection
)

# Generate the Boundary layer mesh
base_elem_collection = hm.Collection(model, ent.Element, list(range(10, 101)))

model.blmesh_2d_computeblthickness(
    base_collection=base_elem_collection,
    num_layers=5,
    first_layer_thickness=0.15,
    growth_rate=1.2,
    core_to_BL_ratio=2.5,
    corner_factor=1.1,
)