Droplet Lagrangian Transient One-dimensional Reacting Code
Implementation of both liquid and gas phase governing equations.
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
- cmake_minimum_required(VERSION 3.12.0)
- project(demo)
-
- if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
- set(CMAKE_INSTALL_PREFIX ${PROJECT_SOURCE_DIR} CACHE PATH "Installing prefix of the project" FORCE)
- endif(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
-
- if (NOT CMAKE_BUILD_TYPE)
- message(STATUS "No build type selected, default to Release")
- set(CMAKE_BUILD_TYPE "Release")
- endif()
-
- set(CMAKE_CXX_STANDARD 11)
- find_package(OpenMP REQUIRED)
- find_package(Eigen3 REQUIRED)
- find_package(fmt REQUIRED)
-
- find_package(PkgConfig REQUIRED)
- pkg_check_modules(GSL REQUIRED IMPORTED_TARGET gsl)
- pkg_check_modules(CANTERA REQUIRED IMPORTED_TARGET cantera)
-
- # Define path to header files and libraries
- set(IDA_DIR /usr/local)
- set(COOLPROP_DIR /opt/CoolProp/shared_library/Linux)
-
- set(IDA_INCLUDES ${IDA_DIR}/include)
- set(COOLPROP_INCLUDES ${COOLPROP_DIR}/include)
-
- # Search for source files
- file(GLOB SRC ${PROJECT_SOURCE_DIR}/src/*.cpp)
- add_executable(DropletCombustion ${SRC})
-
- # Link libraries
- target_link_directories(DropletCombustion PRIVATE ${IDA_DIR}/lib ${COOLPROP_DIR}/64bit)
- target_link_libraries(DropletCombustion
- PRIVATE
- PkgConfig::CANTERA
- PkgConfig::GSL
- fmt::fmt
- Eigen3::Eigen
- sundials_nvecopenmp sundials_ida sundials_sunlinsollapackband CoolProp)
- target_link_libraries(DropletCombustion PRIVATE OpenMP::OpenMP_CXX)
-
- # Include directories
- target_include_directories(DropletCombustion
- PRIVATE ${PROJECT_SOURCE_DIR}/include ${IDA_INCLUDES} ${COOLPROP_INCLUDES})
-
- # Set the output path
- install(TARGETS DropletCombustion
- DESTINATION bin)
|