This code is described in the following publication:
V.B. Stephens, S. Jensen, I. Wheeler, D.O. Lignell, “RadLib: a radiative heat transfer model library for CFD,” Computer Physics Communications, 272:108227, (2022).
A Code Ocean Capsule is also available.
A youtube video demonstrates building the code and running examples.
The code is intended to be built on Linux and MacOS systems (or the Linux subsystem for Windows).
Required software:
- CMake 3.15+
Optional software and Python packages for building the Python interface:
- Python 3.x
- Cython 0.29.21
- distutils
- numpy
- glob
Optional Python packages for running the Python examples
- matplotlib
- numpy
- Jupyter
Optional software for building documentation:
- Doxygen
- graphviz
- Create a directory
build
and navigate to it. - Run CMake:
cmake ..
- Build radlib:
make
- Install radlib:
make install
- (OPTIONAL) Build documentation:
make docs
- (CLEANUP) Clean build files: run
git clean -d -f -x
from top-level directory
- See the top of the root
CMakeLists.txt
file for build options. - The code defaults to building the Python and Fortran interfaces, along with the C++, Python, and Fortran examples. The documentation build is off by default. These options can be changed in the CMakeLists.txt file, or at the command line. For example,
cmake -DBUILD_PYTHON_INTERFACE=OFF ..
- C++
- library:
libradlib.a
is located ininstalled/lib
- header files:
rad_planck_mean.h
,rad_rcslw.h
,rad_wsgg.h
are located ininstalled/include
- library:
- Fortran
- library:
libradlib_fortran.a
is located ininstalled/lib
- module file:
rad_module.mod
is located ininstalled/include
- This is included is user code with the
use rad_module
statement.
- This is included is user code with the
- library:
- Python
- package
pyrad.cpython-38-darwin.so
is located ininstalled/lib/python3.8/site- packages
. Note that the actual file names may differ depending on the machine and Python installation.- The Python package is included in user code with statements such as
from pyrad import prad_rcslw
- The Python package is included in user code with statements such as
- package
- CMake
- Relocatable package
radlib.cmake
is located ininstalled/cmake/radlib
- Relocatable package
radlib_fortran.cmake
located ininstalled/cmake/radlib_fortran
- Relocatable package
Documentation is availale at ignite.byu.edu/radlib_documentation.