Multiblock

Contents

Multiblock#

The multiblock feature allows for subdivision of the computational domain in finer grid refinement regions. This is illustrated by the figure below

Resolution change

Multiblock example#

The refinement structure is separated in levels whose resolution is always the double of previous level, beggining on level 0.

The transition between levels must always occur from a previous to a next level (e.g: a transition from level 1 to level 3 must include a level 2 region in-between).

The refined regions are determined in domain.refinement field:

    domain:
      refinement:
        static:
          volume_refinement_lvl1:
            volumes_refine:
              - is_abs: true
                lvl: 1
                start: [0.0, 0.0, 0.0]
                end: [32.0, 160.0, 64.0]
            volumes_not_refine:
              - is_abs: false
                start: [0, 0.15, 0.1]
                end: [0.1, 0.2, 0.3]
          body_refinement_lvl3:
            bodies:
              - body_name: solid-body1
                lvl: 3
                normal_offsets: !range [-0.25, 0.2501, 0.125]
            volume_refinement_limit:
              is_abs: true
              start: [0, 10, 0]
              end: [40, 50, 150]

Important

It’s reccomendable to avoid placing too many Lagrangian mesh nodes in the level transition regions. Hence when using the body refinement, an offset interval of at least +/- 1 block may be necessary.

To fill the regions between offset limits, we suggest to use !range as shown above.

Overlap F2C#

In the current multiblock framework, the communication between coarse and fine level requires an overlap of both grids, as shown below:

Overlap Fine to Coarse

Overlap in F2C (fine to coarse)#

Important

For turbulent flows, it is common practice to use at least 2 nodes for the overlap to provide certain flow development between level transitions.

This configuration is set in the models.multiblock field:

      multiblock:
        overlap_F2C: 2
        # It's possible to define custom overlaps of F2C for specific levels
        # To do so, use as [lvl_from]: overlap to use
        custom_overlap_F2C:
          1: 3
          2: 3
          5: 1