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 |