Abstract

A method is presented to include irregular domain boundaries in a geometric multigrid solver. Dirichlet boundary conditions can be imposed on an irregular boundary defined by a level set function. Our implementation employs quadtree/octree grids with adaptive refinement, a cell-centered discretization and pointwise smoothing. Boundary locations are determined at a subgrid resolution by performing line searches. For grid blocks near the interface, custom operator stencils are stored that take the interface into account. For grid block away from boundaries, a standard second-order accurate discretization is used. The convergence properties, robustness and computational cost of the method are illustrated with several test cases. New version program summaryProgram Title: AfivoCPC Library link to program files:https://doi.org/10.17632/5y43rjdmxd.2Developer's repository link:https://github.com/MD-CWI/afivoLicensing provisions: GPLv3Programming language: FortranJournal reference of previous version: Comput. Phys. Commun. 233 (2018) 156–166. https://doi.org/10.1016/j.cpc.2018.06.018Does the new version supersede the previous version?: Yes.Reasons for the new version: Add support for internal boundaries in the geometric multigrid solver.Summary of revisions: The geometric multigrid solver was generalized in several ways: a coarse grid solver from the Hypre library is used, operator stencils are now stored per grid block, and methods for including boundaries via a level set function were added.Nature of problem: The goal is to solve Poisson's equation in the presence of irregular boundaries that are not aligned with the computational grid. It is assumed these irregular boundaries are defined by a level set function, and that a Dirichlet type boundary condition is applied. The main applications are 2D and 3D simulations with octree-based adaptive mesh refinement, in which the mesh frequently changes but the irregular boundaries do not.Solution method: A geometric multigrid method compatible with octree grids is developed, using a cell-centered discretization and point-wise smoothing. Near irregular boundaries, custom operator stencils are stored. Line searches are performed to locate interfaces with sub-grid resolution. To increase the methods robustness, this line search is modified on coarse grids if boundaries are otherwise not resolved. The multigrid solver uses OpenMP parallelization.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call