This C++14 code numerically integrates the opacity formulas for the test problem described in
- Thomas A. Brunner, "A Family of Multi-Dimensional Thermal Radiative Transfer Test Problems", 2023, LLNL-TR-858450-REV-1, DOI 10.2172/2280904
Please see that document for a full description.
This code mainly consists of two implementation files for the opacity and integrator. The there is a test file that will output sample data used in LLNL-TR-858450 and a Python file to make the plots.
AnalyticEdgeOpacity.cc
andAnalyticEdgeOpacity.hh
: C++14 code to compute the frequency dependent opacity for a given set of parametersMultiGroupIntegrator.cc
andMultiGroupIntegrator.hh
: C++14 code to integrate a given instance ofAnalyticEdgeOpacity
for a particular set of group bounds.opacTest.cc
: An optional C++20 test driver. This language version was chosen to help reduce some boilerplate in order to help make it clearer how to use the library.Makefile
: A simple makefile to build the test driver, assuming you haveclang++
installed.plotOpacs.py
: A matplotlib based script to plot the results fromopacTest.cc
which can be seen in LLNL-TR-858450.
The opacity integrator only requires C++14. The test file opacTest.cc
which documents
the usage of the integrator relies on the {fmt}
library.
A simple Makefile is included for this project. You can edit it to fit your compiler.
git clone [email protected]:fmtlib/fmt.git
make
After building the test code, you can generate opacity plots by running
% ./opacTest
% python3 plotOpacs.py
The code of this site is released under the MIT License. For more details, see the LICENSE file. All new contributions must be made under this license.
See the NOTICE file for other important information.
LLNL-CODE-858992