Published July 13, 2022 | Version v1
Presentation Open

Load-Balanced Multi-Criteria Adaptive Mesh Refinement on Polyhedral Meshes

Description

The efficient use of computational resources while maintaining a certain level of solution accuracy through a parallel simulation is a major challenge in CFD. The concept of adaptive mesh refinement (AMR) arises from the idea of, instead of computationally expensive uniform mesh refinement, an algorithm refining the typically moving regions of interest only. This keeps most of the mesh at its coarsest level (Figure 1). Moreover, operating on dynamic unstructured meshes of general topology is in demand as we strive to solve complex CFD problems on varying geometries. AMR on hexagonal meshes has been already achieved i nOpenFOAM and FOAM-Extend. Vukcevíc et al. introduced AMR functionality on meshes of general topology (a.k.a.polyhedral meshes) to the FOAM-Extend 4.1 library. If regions of interest are significantly moving, using AMR in parallel computations leads to severe imbalance of the distribution of computational load across participating processes, which has to be countered by dynamic load balancing in OpenFOAM (FOAM-Extend 4.1).This contribution substantially improves on the existing polyhedral AMR implementation in FOAM-Extend 4.1 by allowing multi-criteria refinement, where each refinement request has independent individual controls (e.g. maximal refinement level).A central dynamic mesh class dynamicPolyMultiRefinementFvMesh is derived from topoChangerFvMesh and designed to keep a list of refinement selection models.  While its update() method goes through mesh refinements one by one, the refined cells from the previous refinement are mapped in order to protect them from coarsening in the same time  step  by  subsequent  un-refinement  requests.   The dynamicPolyMultiRefinementFvMesh also  uses  a  single polyTopoChanger and keeps overriding its settings to impose full individual control over each refinement operation. In addition, thepolyTopoChanger object is instructed to use improved polyMeshModifier-based classes for refinement in 2D (improved prismatic2DRefinement) and 3D (improved polyhedralRefinement) mesh setups whose original versions were introduced.  The improved versions received important bug-fixes, mainly, removing an undesirable refinement along processor patches in parallel runs.

Files

amr2refslb.mp4

Files (10.1 MB)

Name Size Download all
md5:0487bd582f67d787c3cea5dbb93c7797
3.9 MB Preview Download
md5:34e38e7381e3a59629408745ffecba4e
6.2 MB Preview Download