SoftwareX (Jul 2019)

Load balanced 2D and 3D adaptive mesh refinement in OpenFOAM

  • Daniel Rettenmaier,
  • Daniel Deising,
  • Yun Ouedraogo,
  • Erion Gjonaj,
  • Herbert De Gersem,
  • Dieter Bothe,
  • Cameron Tropea,
  • Holger Marschall

Journal volume & issue
Vol. 10

Abstract

Read online

An object-oriented approach to load-balanced adaptive mesh refinement in two and three dimensions is presented for OpenFOAM, a mature C++ library for computational fluid dynamics. Such a high-performance computing technique is mandatory for computational efficiency in cases of moving regions of interest for distributed-memory parallel computer architectures where domain decomposition is applied. Moving regions of interest are dynamically deforming and migrating through the domain during simulations and require high spatial resolution of solution features. We present software design and code structure, and detail on our achievements with respect to software usability for engineering applications, as well as on numerous developments and improvements necessary for high stability and runtime performance. Keywords: Dynamic load balancing, Adaptive mesh refinement, 2D, 3D, OpenFOAM