Implementing Anisotropic Adaptive Mesh Refinement in OpenFOAM
Examensarbete för masterexamen
Computer science – algorithms, languages and logic (MPALG), MSc
The field of computational fluid dynamics (CFD) is growing steadily, with a rate proportional to the computational tools available. With today’s computing power available in CPU’s and clusters we are able to solve cases that were considered impossible just a few years ago. Although as we all know, even with great computational power and brute-force approaches, some problems will remain unsolvable. With this realization, adaptive mesh refinement (AMR) was introduced as a way of adapting the mesh as to reduce the computational error. AMR is relevant for CFD since it can greatly reduce the computational effort needed to solve a lot of cases. This can in turn make previously intractable simulations solvable. In this thesis we will look at how implementing a specific type of AMR could be done - namely anisotropic AMR for the OpenFOAM code-base. We will briefly look at some papers to get an idea of what constraints the mesh should satisfy and to see what kind of data-structure for the refinement history is needed. We will also look at similar functionality currently available in the OpenFOAM code. With this knowledge we define a design criteria we will use for implementing anisotropic AMR in OpenFOAM. This implementation will result in a working example of anisotropic AMR. We have also defined a tree used for storing the refinement changes that can be used for other types of AMR in the OpenFOAM codebase. We also show some graphical results of a case refined using the anisotropic AMR defined in this thesis and compare these to an isotropic refinement.
Data- och informationsvetenskap , Computer and Information Science