OSIRIS 4.0: new version of the OSIRIS framework
Abstract
OSIRIS is a state of the art, fully relativistic massively parallel particle in cell code, that is widely used in kinetic plasma modeling for many astrophysical and laboratory scenarios. Over the years the code has been continuously improved, adding new features and algorithms, resulting in a large and complex code base with the inherent difficulties on maintenance and development. We report on the new version of the OSIRIS framework, focusing on the new structure of the code that leverages on the object oriented features of Fortran 2003, that are now widely supported by available compilers. Details on the new object-oriented structure, that allows for the encapsulation of specific features, and better collaboration between the development team, are given. We also focus on the new strategy for run-time selection of simulation mode, that allows for a single binary to be used with all code features, and report on the template based code generation for multiple interpolation levels. Finally, we report on our experience on implementing these features with multiple compilers, and the code changes required to ensure a wide compiler support.
This work was partially supported by NSF ACI 1339893 and PTDC/FIS-PLA/2940/2014.- Publication:
-
APS Division of Plasma Physics Meeting Abstracts
- Pub Date:
- October 2016
- Bibcode:
- 2016APS..DPPG10010F