Core Infrastructure Upgrades to the NIMROD Codebase
Abstract
In order to increase functionality of the NIMROD code, we are refactoring data structures and interpolation routines using object-oriented features introduced in Fortran 2003/2008. This change is motivated by physics-oriented objectives. First, the element representation needs another dimension for the continuum kinetic model to take advantage of sparsity in the pitch-angle coordinate. Second, we are interested in flexibility with regard to the mesh representation and the finite-element function spaces. We have created new abstract interfaces for the concepts of mesh block, finite-element field, and for the linear algebra data structures. Currently, mesh blocks are in practice limited to regions of structured quadrilaterals. Greater use of object-oriented programming will facilitate implementation of unstructured triangle and quadrilateral meshes. We currently represent our quadrilateral finite element fields as C0 functions. In order to investigate novel methods for solving Hall-MHD, we are also interested in being able to approximate other function spaces such as H(curl). Here we present the current status of these updates and provide example code changes.
Supported by DOE Grants DE-SC0018313 and DE-SC0018001, and by DOE CSGF under Grant DE-FG02-97ER25308.- Publication:
-
APS Division of Plasma Physics Meeting Abstracts
- Pub Date:
- 2018
- Bibcode:
- 2018APS..DPPT11132C