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