Deneb is an open-source high-performance multi-physical flow solver based on high-order DRM-DG method [1,2,3]. Deneb uses the physical domain-based modal discontinuous Galerkin (DG) method with the direct reconstruction method (DRM). Deneb offers explicit and implicit Runge-Kutta methods as well to achieve high-order accuracy in time. The numerical methods adopted in Deneb are applicable to any PDE-based flow system.
- MPI - message passing for parallel computing
-
Intel Math Kernel Library (version
$\ge$ 2017.0.3) - elementary matrix vector operations-
OpenBLAS (version 0.3.21) can be used as an alternative. Turn on
USE_OPENBLAS
in avocado_blas.h header file, or set-D BLASLAPACK=OpenBLAS
on the CMake command.
-
OpenBLAS (version 0.3.21) can be used as an alternative. Turn on
- ParMETIS (version 4.0.3) - mesh partition for parallel computing
- PETSc (version 3.16.5) - Krylov subspace methods with preconditioning for linear system
- IDEA (version 0.0.0) - high-temperature air properties for hypersonic equilibrium flow simulations
-
Install the external libraries.
-
Generate Makefile using CMake.
cmake -D CMAKE_CXX_COMPILER=[g++|icpc] -D CMAKE_BUILD_TYPE=[Debug|Release] -D METIS_INC='...' -D METIS_LIB='...' -D PARMETIS_INC='...' -D PARMETIS_LIB='...' -D GKLIB_INC='...' -D GKLIB_LIB='...' -D PETSC_INC='...' -D PETSC_CONF_INC='...' -D PETSC_LIB='...' -D IDEA_INC='...' -D IDEA_LIB='...' -D BLASLAPACK=[OpenBLAS|IntelMKL] -D OPENBLAS_INC='...' -D OPENBLAS_LIB='...' -D OPENBLAS_FC_LIBRARY='...' -D INTELMKL_INC='...' -D INTELMKL_LIB='...'
CMAKE_CXX_COMPILER
: eitherg++
oricpc
to use GNU or Intel c++ compiler, respectively
CMAKE_BUILD_TYPE
: eitherDebug
orRelease
to build the code in debug or release mode, respectively
METIS_INC
: METIS include (metis.h) directory
METIS_LIB
: METIS library directory
PARMETIS_INC
: ParMETIS include (parmetis.h) directory
PARMETIS_LIB
: ParMETIS library directory
GKLIB_INC
: GKlib include directory
GKLIB_LIB
: GKlib library directory
PETSC_INC
: PETSc include (petsc.h) directory
PETSC_CONF_INC
: PETSc build-specific include (e.g., petscconf.h) directory
PETSC_LIB
: PETSc library directory
IDEA_INC
: IDEA include (idea.h) directory
IDEA_LIB
: IDEA library directory
BLASLAPACK
: eitherOpenBLAS
orIntelMKL
to use OpenBLAS or Intel MKL library, respectively
OPENBLAS_INC
: OpenBLAS include directory (whenBLASLAPACK=OpenBLAS
)
OPENBLAS_LIB
: OpenBLAS library (whenBLASLAPACK=OpenBLAS
)
OPENBLAS_FC_LIBRARY
: Fortran compiler library directory used to install OpenBLAS (whenBLASLAPACK=OpenBLAS
)
INTELMKL_INC
: Intel MKL include directory (whenBLASLAPACK=IntelMKL
)
INTELMKL_LIB
: Intel MKL library directory (whenBLASLAPACK=IntelMKL
)
[LIBRARY]_INC
and[LIBRARY]_LIB
are unnecessary if paths for include and library files of[LIBRARY]
were already specified in the environment variablesINCLUDE
andLIB
, respectively.
- Build Deneb using Makefile:
make
- Run Deneb excutable file (bin/Deneb):
For serial run,
bin/Deneb -c <Configuration file>
For parallel run,
mpirun -np <# cores> bin/Deneb -c <Configuration file>
- hojun.you@sejong.ac.kr (Hojun You)
- kjhunkk@gmail.com (Juhyun Kim)
- chongam@snu.ac.kr (Chongam Kim)
Please cite the following article when mentioning Deneb in your own papers.
- Hojun You, Juhyun Kim, and Chongam Kim, Deneb: An Open-source High-performance Multi-physical Flow Solver Based on High-order DRM-DG Method. Computer Physics Communications, Vol. 286, 2023, 108672. Link
Bibtex
@article{You2023deneb,
title = {{Deneb: An Open-source High-performance Multi-physical Flow Solver Based on High-order DRM-DG Method}},
author = {You, Hojun and Kim, Juhyun and Kim, Chongam},
journal = {Computer Physiccs Communications},
volume={286},
year = {2023},
pages = {108672},
doi = {10.1016/j.cpc.2023.108672}
}