Seth R. Johnson

2papers

2 Papers

NADec 2, 2016
FW/CADIS-$Ω$: An angle-informed hybrid method for deep-penetration radiation transport

Madicken Munk, R. N. Slaybaugh, Tara M. Pandya et al.

A new method for generating variance reduction parameters for strongly anisotropic, deep-penetration radiation shielding studies is presented. This method generates an alternate form of the adjoint scalar flux quantity, $ϕ^{\dagger}_Ω$, which is used by both CADIS and FW-CADIS to generate variance reduction parameters for local and global response functions, respectively. The new method, called CADIS-$Ω$, was implemented in the Denovo/ADVANTG software suite, and results are presented for a concrete labyrinth test problem. Results indicate that the flux generated by CADIS-$Ω$ incorporates localized angular anisotropies in the flux effectively. CADIS-$Ω$ outperformed CADIS in the test problem while obtaining accurate results. This initial work indicates that CADIS-$Ω$ may be highly useful for shielding problems with strong angular anisotropies. A future test plan to fully characterize the new method is proposed, which should reveal more about the types of realistic problems for which the CADIS-$Ω$ will be suited.

SEApr 4, 2019
Automated Fortran--C++ Bindings for Large-Scale Scientific Applications

Seth R. Johnson, Andrey Prokopenko, Katherine J. Evans

Although many active scientific codes use modern Fortran, most contemporary scientific software "libraries" are implemented in C and C++. Providing their numerical, algorithmic, or data management features to Fortran codes requires writing and maintaining substantial amounts of glue code. This article introduces a tool that automatically generates native Fortran 2003 interfaces to C and C++ libraries. The tool supports C++ features that have no direct Fortran analog, such as templated functions and exceptions. A set of simple examples demonstrate the utility and scope of the tool, and timing measurements with a mock numerical library illustrate the minimal performance impact of the generated wrapper code.