Skip to content

HojunYouKr/Deneb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Deneb

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.

External Libraries

  • 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.
  • ParMETIS (version 4.0.3) - mesh partition for parallel computing
    • METIS (version 5.1.0) and GKlib libraries are required.
  • 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

Build and Run

  1. Install the external libraries.

  2. 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: either g++ or icpc to use GNU or Intel c++ compiler, respectively
CMAKE_BUILD_TYPE: either Debug or Release 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: either OpenBLAS or IntelMKL to use OpenBLAS or Intel MKL library, respectively
OPENBLAS_INC: OpenBLAS include directory (when BLASLAPACK=OpenBLAS)
OPENBLAS_LIB: OpenBLAS library (when BLASLAPACK=OpenBLAS)
OPENBLAS_FC_LIBRARY: Fortran compiler library directory used to install OpenBLAS (when BLASLAPACK=OpenBLAS)
INTELMKL_INC: Intel MKL include directory (when BLASLAPACK=IntelMKL)
INTELMKL_LIB: Intel MKL library directory (when BLASLAPACK=IntelMKL)

[LIBRARY]_INC and [LIBRARY]_LIB are unnecessary if paths for include and library files of [LIBRARY] were already specified in the environment variables INCLUDE and LIB, respectively.

  1. Build Deneb using Makefile:
make   
  1. 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> 

Contact

Citing Deneb

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}
}

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages