From 38de4b9d8b452d0eb3dfe707d78edfaaf37d6f6d Mon Sep 17 00:00:00 2001 From: Matteo Cusini <49037133+CusiniM@users.noreply.github.com> Date: Thu, 11 Jul 2024 21:55:00 +0100 Subject: [PATCH] chore: update trilinos, hypre and fmt. (#3214) Updated tpls: - Trilinos: 15.1.1 - Hypre: hypre-v2.31.0-26-gf6cfb0355. Contains MGR improvements that required GEOS code changes. - fmt 11.01.1 --- .devcontainer/devcontainer.json | 2 +- .github/workflows/ci_tests.yml | 45 ++++------------ .../thirdparty/SetupGeosxThirdParty.cmake | 51 ++++++++++--------- src/coreComponents/common/CMakeLists.txt | 4 +- src/coreComponents/common/DataTypes.hpp | 2 +- src/coreComponents/common/Format.hpp | 4 +- src/coreComponents/common/Units.hpp | 2 +- .../dataRepository/DataContext.hpp | 2 +- .../functions/unitTests/CMakeLists.txt | 4 +- .../interfaces/hypre/HypreMGR.hpp | 28 ++++++---- .../interfaces/hypre/HypreUtils.hpp | 3 +- .../CompositionalMultiphaseFVM.hpp | 2 +- .../CompositionalMultiphaseHybridFVM.hpp | 2 +- .../CompositionalMultiphaseReservoirFVM.hpp | 2 +- ...positionalMultiphaseReservoirHybridFVM.hpp | 2 +- .../mgrStrategies/MultiphasePoromechanics.hpp | 4 +- .../MultiphasePoromechanicsReservoirFVM.hpp | 38 +++++++------- .../SinglePhasePoromechanics.hpp | 2 - ...ePhasePoromechanicsConformingFractures.hpp | 5 +- ...glePhasePoromechanicsEmbeddedFractures.hpp | 5 +- .../SinglePhasePoromechanicsReservoirFVM.hpp | 4 +- .../SolidMechanicsEmbeddedFractures.hpp | 3 +- .../ThermalMultiphasePoromechanics.hpp | 2 - .../ThermalSinglePhasePoromechanics.hpp | 2 - .../solidMechanics/kernels/ExplicitMPM.hpp | 4 +- .../constitutiveTests/CMakeLists.txt | 4 +- .../dataRepositoryTests/CMakeLists.txt | 4 +- .../fieldSpecificationTests/CMakeLists.txt | 4 +- .../unitTests/fluidFlowTests/CMakeLists.txt | 4 +- .../linearAlgebraTests/CMakeLists.txt | 4 +- .../unitTests/meshTests/CMakeLists.txt | 4 +- .../virtualElementTests/CMakeLists.txt | 4 +- .../wavePropagationTests/CMakeLists.txt | 4 +- .../unitTests/wellsTests/CMakeLists.txt | 4 +- 34 files changed, 113 insertions(+), 147 deletions(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 7640cb6bd49..cd04ad09b4b 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -2,7 +2,7 @@ "build": { "dockerfile": "Dockerfile", "args": { - "GEOS_TPL_TAG": "270-418" + "GEOS_TPL_TAG": "273-460" } }, "runArgs": [ diff --git a/.github/workflows/ci_tests.yml b/.github/workflows/ci_tests.yml index 20d093a79a4..4d814993e90 100644 --- a/.github/workflows/ci_tests.yml +++ b/.github/workflows/ci_tests.yml @@ -170,19 +170,6 @@ jobs: ENABLE_HYPRE: ON ENABLE_TRILINOS: OFF - - name: Pecan CPU (centos 7.7, gcc 8.2.0, open-mpi 4.0.1, mkl 2019.5) - CMAKE_BUILD_TYPE: Release - DOCKER_REPOSITORY: geosx/pecan-cpu-gcc8.2.0-openmpi4.0.1-mkl2019.5 - HOST_CONFIG: host-configs/TOTAL/pecan-CPU.cmake - GCP_BUCKET: geosx/Pecan-CPU - - - name: Pangea 2 (centos 7.6, gcc 8.3.0, open-mpi 2.1.5, mkl 2019.3) - CMAKE_BUILD_TYPE: Release - DOCKER_REPOSITORY: geosx/pangea2-gcc8.3.0-openmpi2.1.5-mkl2019.3 - ENABLE_HYPRE: ON - ENABLE_TRILINOS: OFF - GCP_BUCKET: geosx/Pangea2 - - name: Sherlock CPU (centos 7.9.2009, gcc 10.1.0, open-mpi 4.1.2, openblas 0.3.10) CMAKE_BUILD_TYPE: Release DOCKER_REPOSITORY: geosx/sherlock-gcc10.1.0-openmpi4.1.2-openblas0.3.10-zlib1.2.11 @@ -305,16 +292,6 @@ jobs: DOCKER_RUN_ARGS: "--cpus=8 --memory=256g --runtime=nvidia --gpus all -v /etc/pki/ca-trust/source/anchors/:/usr/local/share/ca-certificates/llnl:ro" DOCKER_CERTS_DIR: "/usr/local/share/ca-certificates" DOCKER_CERTS_UPDATE_COMMAND: "update-ca-certificates" - - - name: Centos (7.7, gcc 8.3.1, open-mpi 1.10.7, cuda 11.8.89) - BUILD_AND_TEST_CLI_ARGS: "--no-run-unit-tests --no-install-schema" - CMAKE_BUILD_TYPE: Release - DOCKER_REPOSITORY: geosx/centos7.7-gcc8.3.1-cuda11.8.89 - RUNS_ON: streak2 - NPROC: 8 - DOCKER_RUN_ARGS: "--cpus=8 --memory=128g --runtime=nvidia -v /etc/pki/ca-trust/source/anchors/:/etc/pki/ca-trust/source/anchors/llnl:ro" - DOCKER_CERTS_DIR: "/etc/pki/ca-trust/source/anchors" - DOCKER_CERTS_UPDATE_COMMAND: "update-ca-trust" # compiler error in ElasticFirstOrderWaveEquationSEMKernel::StressComputation::launch in call to FE_TYPE::computeFirstOrderStiffnessTermX # - name: Rockylinux (8, clang 17.0.6, cuda 12.5) @@ -325,20 +302,20 @@ jobs: # NPROC: 2 # DOCKER_RUN_ARGS: "--cpus=1 --memory=128g --runtime=nvidia -v /etc/pki/ca-trust/source/anchors/:/etc/pki/ca-trust/source/anchors/llnl:ro" # DOCKER_CERTS_DIR: "/etc/pki/ca-trust/source/anchors" + # DOCKER_CERTS_UPDATE_COMMAND: "update-ca-trust" + + # compiler error in ElasticFirstOrderWaveEquationSEMKernel::StressComputation::launch in call to FE_TYPE::computeFirstOrderStiffnessTermX + # - name: Rockylinux (8, gcc 8.5, cuda 12.5) + # BUILD_AND_TEST_CLI_ARGS: "--no-run-unit-tests --no-install-schema" + # CMAKE_BUILD_TYPE: Release + # DOCKER_REPOSITORY: geosx/rockylinux8-gcc8-cuda12.5 + # RUNS_ON: streak2 + # NPROC: 2 + # DOCKER_RUN_ARGS: "--cpus=1 --memory=128g --runtime=nvidia -v /etc/pki/ca-trust/source/anchors/:/etc/pki/ca-trust/source/anchors/llnl:ro" + # DOCKER_CERTS_DIR: "/etc/pki/ca-trust/source/anchors" # DOCKER_CERTS_UPDATE_COMMAND: "update-ca-trust" # Below this line, jobs that deploy to Google Cloud. - - name: Pecan GPU (centos 7.7, gcc 8.2.0, open-mpi 4.0.1, mkl 2019.5, cuda 11.5.119) - BUILD_AND_TEST_CLI_ARGS: "--build-exe-only --no-install-schema" - CMAKE_BUILD_TYPE: Release - DOCKER_REPOSITORY: geosx/pecan-gpu-gcc8.2.0-openmpi4.0.1-mkl2019.5-cuda11.5.119 - HOST_CONFIG: host-configs/TOTAL/pecan-GPU.cmake - RUNS_ON: streak2 - NPROC: 8 - DOCKER_RUN_ARGS: "--cpus=8 --memory=128g --runtime=nvidia -v /etc/pki/ca-trust/source/anchors/:/etc/pki/ca-trust/source/anchors/llnl:ro" - DOCKER_CERTS_DIR: "/etc/pki/ca-trust/source/anchors" - DOCKER_CERTS_UPDATE_COMMAND: "update-ca-trust" - - name: Sherlock GPU (centos 7.9.2009, gcc 10.1.0, open-mpi 4.1.2, openblas 0.3.10, cuda 11.7.1,) BUILD_AND_TEST_CLI_ARGS: "--no-run-unit-tests --no-install-schema" CMAKE_BUILD_TYPE: Release diff --git a/src/cmake/thirdparty/SetupGeosxThirdParty.cmake b/src/cmake/thirdparty/SetupGeosxThirdParty.cmake index ac21231f023..6a43fcfcd52 100644 --- a/src/cmake/thirdparty/SetupGeosxThirdParty.cmake +++ b/src/cmake/thirdparty/SetupGeosxThirdParty.cmake @@ -338,6 +338,31 @@ if(DEFINED CAMP_DIR) endif() endif() +################################ +# FMT +################################ +if(DEFINED FMT_DIR) + message(STATUS "FMT_DIR = ${FMT_DIR}") + + find_package(fmt REQUIRED + PATHS ${FMT_DIR} + NO_DEFAULT_PATH) + + message( " ----> fmt_VERSION = ${fmt_VERSION}") + + get_target_property(includeDirs fmt::fmt-header-only INTERFACE_INCLUDE_DIRECTORIES) + + set_property(TARGET fmt::fmt-header-only + APPEND PROPERTY INTERFACE_SYSTEM_INCLUDE_DIRECTORIES + ${includeDirs}) + + set(ENABLE_FMT ON CACHE BOOL "") + + set(thirdPartyLibs ${thirdPartyLibs} fmt::fmt-header-only ) +else() + mandatory_tpl_doesnt_exist("{fmt}" FMT_DIR) +endif() + ################################ # Umpire ################################ @@ -711,7 +736,7 @@ endif() if(DEFINED TRILINOS_DIR AND ENABLE_TRILINOS) message(STATUS "TRILINOS_DIR = ${TRILINOS_DIR}") - include(${TRILINOS_DIR}/lib/cmake/Trilinos/TrilinosConfig.cmake) + include(${TRILINOS_DIR}/lib64/cmake/Trilinos/TrilinosConfig.cmake) list(REMOVE_ITEM Trilinos_LIBRARIES "gtest") list(REMOVE_DUPLICATES Trilinos_LIBRARIES) @@ -813,30 +838,6 @@ else() message(STATUS "Not using VTK") endif() -################################ -# FMT -################################ -if(DEFINED FMT_DIR) - message(STATUS "FMT_DIR = ${FMT_DIR}") - - find_package(fmt REQUIRED - PATHS ${FMT_DIR} - NO_DEFAULT_PATH) - - message( " ----> fmt_VERSION = ${fmt_VERSION}") - - get_target_property(includeDirs fmt::fmt INTERFACE_INCLUDE_DIRECTORIES) - - set_property(TARGET fmt::fmt - APPEND PROPERTY INTERFACE_SYSTEM_INCLUDE_DIRECTORIES - ${includeDirs}) - - set(ENABLE_FMT ON CACHE BOOL "") - - set(thirdPartyLibs ${thirdPartyLibs} fmt::fmt ) -else() - mandatory_tpl_doesnt_exist("{fmt}" FMT_DIR) -endif() ################################ # uncrustify diff --git a/src/coreComponents/common/CMakeLists.txt b/src/coreComponents/common/CMakeLists.txt index f771a9cf4e9..ea5e2409bf3 100644 --- a/src/coreComponents/common/CMakeLists.txt +++ b/src/coreComponents/common/CMakeLists.txt @@ -59,8 +59,8 @@ if (TARGET conduit) set( dependencyList ${dependencyList} conduit ) endif() -if (TARGET fmt::fmt) - set( dependencyList ${dependencyList} fmt::fmt ) +if (TARGET fmt::fmt-header-only) + set( dependencyList ${dependencyList} fmt::fmt-header-only ) endif() if (TARGET fmt) diff --git a/src/coreComponents/common/DataTypes.hpp b/src/coreComponents/common/DataTypes.hpp index 6e211a5f1f3..ee32867b1b1 100644 --- a/src/coreComponents/common/DataTypes.hpp +++ b/src/coreComponents/common/DataTypes.hpp @@ -684,7 +684,7 @@ struct GEOS_FMT_NS::formatter< std::optional< T > > : GEOS_FMT_NS::formatter< T * @param ctx formatting state consisting of the formatting arguments and the output iterator * @return return the corresponding value string. If std::optional is empty retun an empty string */ - auto format( std::optional< T > const & opt, format_context & ctx ) + auto format( std::optional< T > const & opt, format_context & ctx ) const { if( opt ) { diff --git a/src/coreComponents/common/Format.hpp b/src/coreComponents/common/Format.hpp index 039ab14cc6f..43525751b5c 100644 --- a/src/coreComponents/common/Format.hpp +++ b/src/coreComponents/common/Format.hpp @@ -22,7 +22,9 @@ #endif #ifdef GEOS_USE_FMT +#ifndef FMT_HEADER_ONLY #define FMT_HEADER_ONLY +#endif // Differentiate between standalone fmt path and umpire's fmt path #include "../include/fmt/core.h" #include "../include/fmt/chrono.h" @@ -63,7 +65,7 @@ struct fmt::formatter< T, std::enable_if_t< std::is_enum< T >::value > > * @return An iterator pointing to the end of the formatted string. */ template< typename FormatContext > - auto format( const T & value, FormatContext & ctx ) + auto format( const T & value, FormatContext & ctx ) const { return fmt::format_to( ctx.out(), "{}", static_cast< std::underlying_type_t< T > >( value ) ); } diff --git a/src/coreComponents/common/Units.hpp b/src/coreComponents/common/Units.hpp index e072dfe460b..c1025f3c2e4 100644 --- a/src/coreComponents/common/Units.hpp +++ b/src/coreComponents/common/Units.hpp @@ -280,7 +280,7 @@ struct GEOS_FMT_NS::formatter< geos::units::TimeFormatInfo > : GEOS_FMT_NS::form * @param ctx formatting state consisting of the formatting arguments and the output iterator * @return iterator to the output buffer */ - auto format( geos::units::TimeFormatInfo const & durationData, format_context & ctx ) + auto format( geos::units::TimeFormatInfo const & durationData, format_context & ctx ) const { return GEOS_FMT_NS::formatter< std::string >::format( durationData.toString(), ctx ); } diff --git a/src/coreComponents/dataRepository/DataContext.hpp b/src/coreComponents/dataRepository/DataContext.hpp index 6b30face341..aaf4f938d85 100644 --- a/src/coreComponents/dataRepository/DataContext.hpp +++ b/src/coreComponents/dataRepository/DataContext.hpp @@ -217,7 +217,7 @@ struct GEOS_FMT_NS::formatter< geos::dataRepository::DataContext > : GEOS_FMT_NS * @param ctx formatting state consisting of the formatting arguments and the output iterator * @return iterator to the output buffer */ - auto format( geos::dataRepository::DataContext const & dataContext, format_context & ctx ) + auto format( geos::dataRepository::DataContext const & dataContext, format_context & ctx ) const { return GEOS_FMT_NS::formatter< std::string >::format( dataContext.toString(), ctx ); } diff --git a/src/coreComponents/functions/unitTests/CMakeLists.txt b/src/coreComponents/functions/unitTests/CMakeLists.txt index dda9555d8fb..5aa938d9ce4 100644 --- a/src/coreComponents/functions/unitTests/CMakeLists.txt +++ b/src/coreComponents/functions/unitTests/CMakeLists.txt @@ -19,8 +19,8 @@ if (TARGET pugixml) list( APPEND dependencyList pugixml ) endif() -if (TARGET fmt::fmt) - list( APPEND dependencyList fmt::fmt ) +if (TARGET fmt::fmt-header-only) + list( APPEND dependencyList fmt::fmt-header-only ) endif() if (TARGET fmt) diff --git a/src/coreComponents/linearAlgebra/interfaces/hypre/HypreMGR.hpp b/src/coreComponents/linearAlgebra/interfaces/hypre/HypreMGR.hpp index 886d0a8b009..1ee748c1476 100644 --- a/src/coreComponents/linearAlgebra/interfaces/hypre/HypreMGR.hpp +++ b/src/coreComponents/linearAlgebra/interfaces/hypre/HypreMGR.hpp @@ -73,23 +73,28 @@ class MGRStrategyBase { public: - static constexpr HYPRE_Int numLevels = NLEVEL; ///< Number of levels + static constexpr HYPRE_Int numLevels = NLEVEL; ///< Number of levels protected: - HYPRE_Int m_numBlocks{ 0 }; ///< Number of different matrix blocks treated separately + HYPRE_Int m_numBlocks{ 0 }; ///< Number of different matrix blocks treated separately - std::vector< HYPRE_Int > m_labels[numLevels]{}; ///< Dof labels kept at each level - HYPRE_Int m_numLabels[numLevels]{ -1 }; ///< Number of dof labels kept - HYPRE_Int * m_ptrLabels[numLevels]{ nullptr }; ///< Pointers to each level's labels, as consumed by MGR + std::vector< HYPRE_Int > m_labels[numLevels]{}; ///< Dof labels kept at each level + HYPRE_Int m_numLabels[numLevels]{ -1 }; ///< Number of dof labels kept + HYPRE_Int * m_ptrLabels[numLevels]{ nullptr }; ///< Pointers to each level's labels, as consumed by MGR - MGRFRelaxationType m_levelFRelaxType[numLevels]; ///< F-relaxation type for each level - HYPRE_Int m_levelFRelaxIters[numLevels]{ -1 }; ///< Number of F-relaxation iterations for each level - MGRInterpolationType m_levelInterpType[numLevels]; ///< Interpolation type for each level - MGRRestrictionType m_levelRestrictType[numLevels]; ///< Restriction type for each level - MGRCoarseGridMethod m_levelCoarseGridMethod[numLevels]; ///< Coarse grid method for each level + MGRFRelaxationType m_levelFRelaxType[numLevels]; ///< F-relaxation type for each level + HYPRE_Int m_levelFRelaxIters[numLevels]{ -1 }; ///< Number of F-relaxation iterations for each level + MGRInterpolationType m_levelInterpType[numLevels]; ///< Interpolation type for each level + MGRRestrictionType m_levelRestrictType[numLevels]; ///< Restriction type for each level + MGRCoarseGridMethod m_levelCoarseGridMethod[numLevels]; ///< Coarse grid method for each level MGRGlobalSmootherType m_levelGlobalSmootherType[numLevels]; ///< Global smoother type for each level - HYPRE_Int m_levelGlobalSmootherIters[numLevels]{ -1 }; ///< Number of global smoother iterations for each level + HYPRE_Int m_levelGlobalSmootherIters[numLevels]{ -1 }; ///< Number of global smoother iterations for each level +#if GEOS_USE_HYPRE_DEVICE == GEOS_USE_HYPRE_CPU + HYPRE_Real m_coarseGridThreshold{ 1.0e-20 }; ///< Coarse grid truncation threshold +#else + HYPRE_Real m_coarseGridThreshold{ 0.0 }; ///< Coarse grid truncation threshold +#endif // TODO: the following options are currently commented out in MGR's code. // Let's consider their use when re-enable in hypre @@ -159,6 +164,7 @@ class MGRStrategyBase GEOS_LAI_CHECK_ERROR( HYPRE_MGRSetCoarseGridMethod( precond.ptr, toUnderlyingPtr( m_levelCoarseGridMethod ) ) ); GEOS_LAI_CHECK_ERROR( HYPRE_MGRSetLevelSmoothType( precond.ptr, toUnderlyingPtr( m_levelGlobalSmootherType ) ) ); GEOS_LAI_CHECK_ERROR( HYPRE_MGRSetLevelSmoothIters( precond.ptr, m_levelGlobalSmootherIters ) ); + GEOS_LAI_CHECK_ERROR( HYPRE_MGRSetTruncateCoarseGridThreshold( precond.ptr, m_coarseGridThreshold ) ); GEOS_LAI_CHECK_ERROR( HYPRE_MGRSetNonCpointsToFpoints( precond.ptr, 1 )); } diff --git a/src/coreComponents/linearAlgebra/interfaces/hypre/HypreUtils.hpp b/src/coreComponents/linearAlgebra/interfaces/hypre/HypreUtils.hpp index 6bf3d1b9631..583c0310107 100644 --- a/src/coreComponents/linearAlgebra/interfaces/hypre/HypreUtils.hpp +++ b/src/coreComponents/linearAlgebra/interfaces/hypre/HypreUtils.hpp @@ -515,9 +515,8 @@ enum class MGRCoarseGridMethod : HYPRE_Int //!< approximated by its diagonal inverse cprLikeBlockDiag = 3, //!< Non-Galerkin coarse grid computation with dropping strategy: CPR-like approximation with inv(A_FF) //!< approximated by its block diagonal inverse - approximateInverse = 4, //!< Non-Galerkin coarse grid computation with dropping strategy: inv(A_FF) approximated by sparse approximate + approximateInverse = 4 //!< Non-Galerkin coarse grid computation with dropping strategy: inv(A_FF) approximated by sparse approximate //!< inverse - galerkinRAI = 5 //!< Galerkin coarse grid computation with arbitrary classical restriction and injective prolongation }; /** diff --git a/src/coreComponents/linearAlgebra/interfaces/hypre/mgrStrategies/CompositionalMultiphaseFVM.hpp b/src/coreComponents/linearAlgebra/interfaces/hypre/mgrStrategies/CompositionalMultiphaseFVM.hpp index 241593eed7f..12d52ddb351 100644 --- a/src/coreComponents/linearAlgebra/interfaces/hypre/mgrStrategies/CompositionalMultiphaseFVM.hpp +++ b/src/coreComponents/linearAlgebra/interfaces/hypre/mgrStrategies/CompositionalMultiphaseFVM.hpp @@ -73,7 +73,7 @@ class CompositionalMultiphaseFVM : public MGRStrategyBase< 2 > m_levelFRelaxType[1] = MGRFRelaxationType::none; m_levelInterpType[1] = MGRInterpolationType::injection; m_levelRestrictType[1] = MGRRestrictionType::blockColLumped; // True-IMPES - m_levelCoarseGridMethod[1] = MGRCoarseGridMethod::galerkinRAI; + m_levelCoarseGridMethod[1] = MGRCoarseGridMethod::galerkin; m_levelGlobalSmootherType[1] = MGRGlobalSmootherType::ilu0; m_levelGlobalSmootherIters[1] = 1; } diff --git a/src/coreComponents/linearAlgebra/interfaces/hypre/mgrStrategies/CompositionalMultiphaseHybridFVM.hpp b/src/coreComponents/linearAlgebra/interfaces/hypre/mgrStrategies/CompositionalMultiphaseHybridFVM.hpp index 7c2f53c845a..deb27e02aa7 100644 --- a/src/coreComponents/linearAlgebra/interfaces/hypre/mgrStrategies/CompositionalMultiphaseHybridFVM.hpp +++ b/src/coreComponents/linearAlgebra/interfaces/hypre/mgrStrategies/CompositionalMultiphaseHybridFVM.hpp @@ -82,7 +82,7 @@ class CompositionalMultiphaseHybridFVM : public MGRStrategyBase< 3 > m_levelFRelaxType[1] = MGRFRelaxationType::none; m_levelInterpType[1] = MGRInterpolationType::jacobi; m_levelRestrictType[1] = MGRRestrictionType::blockColLumped; // True-IMPES - m_levelCoarseGridMethod[1] = MGRCoarseGridMethod::galerkinRAI; + m_levelCoarseGridMethod[1] = MGRCoarseGridMethod::galerkin; m_levelGlobalSmootherType[1] = MGRGlobalSmootherType::none; // Level 2 diff --git a/src/coreComponents/linearAlgebra/interfaces/hypre/mgrStrategies/CompositionalMultiphaseReservoirFVM.hpp b/src/coreComponents/linearAlgebra/interfaces/hypre/mgrStrategies/CompositionalMultiphaseReservoirFVM.hpp index 55b8cfef2a0..7b72438df7e 100644 --- a/src/coreComponents/linearAlgebra/interfaces/hypre/mgrStrategies/CompositionalMultiphaseReservoirFVM.hpp +++ b/src/coreComponents/linearAlgebra/interfaces/hypre/mgrStrategies/CompositionalMultiphaseReservoirFVM.hpp @@ -94,7 +94,7 @@ class CompositionalMultiphaseReservoirFVM : public MGRStrategyBase< 3 > m_levelFRelaxType[2] = MGRFRelaxationType::none; m_levelInterpType[2] = MGRInterpolationType::injection; m_levelRestrictType[2] = MGRRestrictionType::blockColLumped; // True-IMPES - m_levelCoarseGridMethod[2] = MGRCoarseGridMethod::galerkinRAI; + m_levelCoarseGridMethod[2] = MGRCoarseGridMethod::galerkin; m_levelGlobalSmootherType[2] = MGRGlobalSmootherType::ilu0; m_levelGlobalSmootherIters[2] = 1; } diff --git a/src/coreComponents/linearAlgebra/interfaces/hypre/mgrStrategies/CompositionalMultiphaseReservoirHybridFVM.hpp b/src/coreComponents/linearAlgebra/interfaces/hypre/mgrStrategies/CompositionalMultiphaseReservoirHybridFVM.hpp index 37ea6379208..786663ab896 100644 --- a/src/coreComponents/linearAlgebra/interfaces/hypre/mgrStrategies/CompositionalMultiphaseReservoirHybridFVM.hpp +++ b/src/coreComponents/linearAlgebra/interfaces/hypre/mgrStrategies/CompositionalMultiphaseReservoirHybridFVM.hpp @@ -102,7 +102,7 @@ class CompositionalMultiphaseReservoirHybridFVM : public MGRStrategyBase< 4 > m_levelFRelaxType[2] = MGRFRelaxationType::none; m_levelInterpType[2] = MGRInterpolationType::injection; m_levelRestrictType[2] = MGRRestrictionType::blockColLumped; // True-IMPES - m_levelCoarseGridMethod[2] = MGRCoarseGridMethod::galerkinRAI; + m_levelCoarseGridMethod[2] = MGRCoarseGridMethod::galerkin; m_levelGlobalSmootherType[2] = MGRGlobalSmootherType::none; // Level 3 diff --git a/src/coreComponents/linearAlgebra/interfaces/hypre/mgrStrategies/MultiphasePoromechanics.hpp b/src/coreComponents/linearAlgebra/interfaces/hypre/mgrStrategies/MultiphasePoromechanics.hpp index 22cda3aa388..c575661c4a6 100644 --- a/src/coreComponents/linearAlgebra/interfaces/hypre/mgrStrategies/MultiphasePoromechanics.hpp +++ b/src/coreComponents/linearAlgebra/interfaces/hypre/mgrStrategies/MultiphasePoromechanics.hpp @@ -90,7 +90,7 @@ class MultiphasePoromechanics : public MGRStrategyBase< 3 > m_levelFRelaxType[2] = MGRFRelaxationType::none; m_levelInterpType[2] = MGRInterpolationType::injection; m_levelRestrictType[2] = MGRRestrictionType::blockColLumped; // True-IMPES - m_levelCoarseGridMethod[2] = MGRCoarseGridMethod::galerkinRAI; + m_levelCoarseGridMethod[2] = MGRCoarseGridMethod::galerkin; m_levelGlobalSmootherType[2] = MGRGlobalSmootherType::ilu0; m_levelGlobalSmootherIters[2] = 1; } @@ -106,8 +106,6 @@ class MultiphasePoromechanics : public MGRStrategyBase< 3 > { setReduction( precond, mgrData ); - GEOS_LAI_CHECK_ERROR( HYPRE_MGRSetPMaxElmts( precond.ptr, 0 )); - // Configure the BoomerAMG solver used as F-relaxation for the first level setMechanicsFSolver( precond, mgrData ); diff --git a/src/coreComponents/linearAlgebra/interfaces/hypre/mgrStrategies/MultiphasePoromechanicsReservoirFVM.hpp b/src/coreComponents/linearAlgebra/interfaces/hypre/mgrStrategies/MultiphasePoromechanicsReservoirFVM.hpp index 46397b4519f..cebcb8128b3 100644 --- a/src/coreComponents/linearAlgebra/interfaces/hypre/mgrStrategies/MultiphasePoromechanicsReservoirFVM.hpp +++ b/src/coreComponents/linearAlgebra/interfaces/hypre/mgrStrategies/MultiphasePoromechanicsReservoirFVM.hpp @@ -83,34 +83,34 @@ class MultiphasePoromechanicsReservoirFVM : public MGRStrategyBase< 4 > setupLabels(); // Level 0 - m_levelFRelaxType[0] = MGRFRelaxationType::amgVCycle; - m_levelFRelaxIters[0] = 1; - m_levelInterpType[0] = MGRInterpolationType::jacobi; - m_levelRestrictType[0] = MGRRestrictionType::injection; - m_levelCoarseGridMethod[0] = MGRCoarseGridMethod::nonGalerkin; - m_levelGlobalSmootherType[0] = MGRGlobalSmootherType::none; + m_levelFRelaxType[0] = MGRFRelaxationType::amgVCycle; + m_levelFRelaxIters[0] = 1; + m_levelInterpType[0] = MGRInterpolationType::jacobi; + m_levelRestrictType[0] = MGRRestrictionType::injection; + m_levelCoarseGridMethod[0] = MGRCoarseGridMethod::nonGalerkin; + m_levelGlobalSmootherType[0] = MGRGlobalSmootherType::none; // Level 1 m_levelFRelaxType[1] = MGRFRelaxationType::gsElimWInverse; - m_levelFRelaxIters[1] = 1; - m_levelInterpType[1] = MGRInterpolationType::blockJacobi; - m_levelRestrictType[1] = MGRRestrictionType::injection; - m_levelCoarseGridMethod[1] = MGRCoarseGridMethod::galerkin; - m_levelGlobalSmootherType[0] = MGRGlobalSmootherType::none; + m_levelFRelaxIters[1] = 1; + m_levelInterpType[1] = MGRInterpolationType::blockJacobi; + m_levelRestrictType[1] = MGRRestrictionType::injection; + m_levelCoarseGridMethod[1] = MGRCoarseGridMethod::galerkin; + m_levelGlobalSmootherType[1] = MGRGlobalSmootherType::none; // Level 2 - m_levelFRelaxType[2] = MGRFRelaxationType::jacobi; //default, i.e. Jacobi - m_levelFRelaxIters[2] = 1; - m_levelInterpType[2] = MGRInterpolationType::jacobi; - m_levelRestrictType[2] = MGRRestrictionType::injection; - m_levelCoarseGridMethod[2] = MGRCoarseGridMethod::galerkin; - m_levelGlobalSmootherType[2] = MGRGlobalSmootherType::none; + m_levelFRelaxType[2] = MGRFRelaxationType::jacobi; //default, i.e. Jacobi + m_levelFRelaxIters[2] = 1; + m_levelInterpType[2] = MGRInterpolationType::jacobi; + m_levelRestrictType[2] = MGRRestrictionType::injection; + m_levelCoarseGridMethod[2] = MGRCoarseGridMethod::galerkin; + m_levelGlobalSmootherType[2] = MGRGlobalSmootherType::none; // Level 3 m_levelFRelaxType[3] = MGRFRelaxationType::none; m_levelInterpType[3] = MGRInterpolationType::injection; m_levelRestrictType[3] = MGRRestrictionType::blockColLumped; // True-IMPES - m_levelCoarseGridMethod[3] = MGRCoarseGridMethod::galerkinRAI; + m_levelCoarseGridMethod[3] = MGRCoarseGridMethod::galerkin; m_levelGlobalSmootherType[3] = MGRGlobalSmootherType::ilu0; m_levelGlobalSmootherIters[3] = 1; } @@ -134,8 +134,6 @@ class MultiphasePoromechanicsReservoirFVM : public MGRStrategyBase< 4 > setReduction( precond, mgrData ); - GEOS_LAI_CHECK_ERROR( HYPRE_MGRSetPMaxElmts( precond.ptr, 0 )); - // Configure the BoomerAMG solver used as F-relaxation for the first level setMechanicsFSolver( precond, mgrData ); diff --git a/src/coreComponents/linearAlgebra/interfaces/hypre/mgrStrategies/SinglePhasePoromechanics.hpp b/src/coreComponents/linearAlgebra/interfaces/hypre/mgrStrategies/SinglePhasePoromechanics.hpp index dd1b14b568d..099a3fe1ed8 100644 --- a/src/coreComponents/linearAlgebra/interfaces/hypre/mgrStrategies/SinglePhasePoromechanics.hpp +++ b/src/coreComponents/linearAlgebra/interfaces/hypre/mgrStrategies/SinglePhasePoromechanics.hpp @@ -78,8 +78,6 @@ class SinglePhasePoromechanics : public MGRStrategyBase< 1 > { setReduction( precond, mgrData ); - GEOS_LAI_CHECK_ERROR( HYPRE_MGRSetPMaxElmts( precond.ptr, 0 )); - // Configure the BoomerAMG solver used as F-relaxation for the first level setMechanicsFSolver( precond, mgrData ); diff --git a/src/coreComponents/linearAlgebra/interfaces/hypre/mgrStrategies/SinglePhasePoromechanicsConformingFractures.hpp b/src/coreComponents/linearAlgebra/interfaces/hypre/mgrStrategies/SinglePhasePoromechanicsConformingFractures.hpp index 65341d2ba90..743d280989c 100644 --- a/src/coreComponents/linearAlgebra/interfaces/hypre/mgrStrategies/SinglePhasePoromechanicsConformingFractures.hpp +++ b/src/coreComponents/linearAlgebra/interfaces/hypre/mgrStrategies/SinglePhasePoromechanicsConformingFractures.hpp @@ -21,8 +21,6 @@ #include "linearAlgebra/interfaces/hypre/HypreMGR.hpp" -#define BRANCH_MGR_FSOLVER - namespace geos { @@ -103,7 +101,6 @@ class SinglePhasePoromechanicsConformingFractures : public MGRStrategyBase< 2 > HypreMGRData & mgrData ) { setReduction( precond, mgrData ); - GEOS_LAI_CHECK_ERROR( HYPRE_MGRSetPMaxElmts( precond.ptr, 0 )); // Configure the BoomerAMG solver used as F-relaxation for the second level GEOS_LAI_CHECK_ERROR( HYPRE_BoomerAMGCreate( &mgrData.mechSolver.ptr ) ); @@ -121,7 +118,7 @@ class SinglePhasePoromechanicsConformingFractures : public MGRStrategyBase< 2 > #else GEOS_LAI_CHECK_ERROR( HYPRE_BoomerAMGSetRelaxOrder( mgrData.mechSolver.ptr, 1 ) ); #endif - GEOS_LAI_CHECK_ERROR( HYPRE_MGRSetFSolverAtLevel( 1, precond.ptr, mgrData.mechSolver.ptr ) ); + GEOS_LAI_CHECK_ERROR( HYPRE_MGRSetFSolverAtLevel( precond.ptr, mgrData.mechSolver.ptr, 1 ) ); // Configure the BoomerAMG solver used as mgr coarse solver for the pressure reduced system setPressureAMG( mgrData.coarseSolver ); diff --git a/src/coreComponents/linearAlgebra/interfaces/hypre/mgrStrategies/SinglePhasePoromechanicsEmbeddedFractures.hpp b/src/coreComponents/linearAlgebra/interfaces/hypre/mgrStrategies/SinglePhasePoromechanicsEmbeddedFractures.hpp index 36d8051f1ad..b4e999b71c7 100644 --- a/src/coreComponents/linearAlgebra/interfaces/hypre/mgrStrategies/SinglePhasePoromechanicsEmbeddedFractures.hpp +++ b/src/coreComponents/linearAlgebra/interfaces/hypre/mgrStrategies/SinglePhasePoromechanicsEmbeddedFractures.hpp @@ -82,7 +82,6 @@ class SinglePhasePoromechanicsEmbeddedFractures : public MGRStrategyBase< 2 > m_levelInterpType[1] = MGRInterpolationType::jacobi; m_levelRestrictType[1] = MGRRestrictionType::injection; m_levelCoarseGridMethod[1] = MGRCoarseGridMethod::nonGalerkin; - } /** @@ -96,8 +95,6 @@ class SinglePhasePoromechanicsEmbeddedFractures : public MGRStrategyBase< 2 > { setReduction( precond, mgrData ); - GEOS_LAI_CHECK_ERROR( HYPRE_MGRSetPMaxElmts( precond.ptr, 0 )); - // Configure the BoomerAMG solver used as F-relaxation for the second level GEOS_LAI_CHECK_ERROR( HYPRE_BoomerAMGCreate( &mgrData.mechSolver.ptr ) ); GEOS_LAI_CHECK_ERROR( HYPRE_BoomerAMGSetTol( mgrData.mechSolver.ptr, 0.0 ) ); @@ -114,7 +111,7 @@ class SinglePhasePoromechanicsEmbeddedFractures : public MGRStrategyBase< 2 > #else GEOS_LAI_CHECK_ERROR( HYPRE_BoomerAMGSetRelaxOrder( mgrData.mechSolver.ptr, 1 ) ); #endif - GEOS_LAI_CHECK_ERROR( HYPRE_MGRSetFSolverAtLevel( 1, precond.ptr, mgrData.mechSolver.ptr ) ); + GEOS_LAI_CHECK_ERROR( HYPRE_MGRSetFSolverAtLevel( precond.ptr, mgrData.mechSolver.ptr, 1 ) ); // Configure the BoomerAMG solver used as mgr coarse solver for the pressure reduced system setPressureAMG( mgrData.coarseSolver ); diff --git a/src/coreComponents/linearAlgebra/interfaces/hypre/mgrStrategies/SinglePhasePoromechanicsReservoirFVM.hpp b/src/coreComponents/linearAlgebra/interfaces/hypre/mgrStrategies/SinglePhasePoromechanicsReservoirFVM.hpp index 97ace112cf8..6ae74593e42 100644 --- a/src/coreComponents/linearAlgebra/interfaces/hypre/mgrStrategies/SinglePhasePoromechanicsReservoirFVM.hpp +++ b/src/coreComponents/linearAlgebra/interfaces/hypre/mgrStrategies/SinglePhasePoromechanicsReservoirFVM.hpp @@ -74,7 +74,7 @@ class SinglePhasePoromechanicsReservoirFVM : public MGRStrategyBase< 2 > m_levelGlobalSmootherType[0] = MGRGlobalSmootherType::none; // Level 1 - m_levelFRelaxType[1] = MGRFRelaxationType::gsElimWInverse; + m_levelFRelaxType[1] = MGRFRelaxationType::gsElimWInverse; m_levelFRelaxIters[1] = 1; m_levelInterpType[1] = MGRInterpolationType::blockJacobi; m_levelRestrictType[1] = MGRRestrictionType::injection; @@ -93,8 +93,6 @@ class SinglePhasePoromechanicsReservoirFVM : public MGRStrategyBase< 2 > { setReduction( precond, mgrData ); - GEOS_LAI_CHECK_ERROR( HYPRE_MGRSetPMaxElmts( precond.ptr, 0 )); - // Configure the BoomerAMG solver used as F-relaxation for the first level setMechanicsFSolver( precond, mgrData ); diff --git a/src/coreComponents/linearAlgebra/interfaces/hypre/mgrStrategies/SolidMechanicsEmbeddedFractures.hpp b/src/coreComponents/linearAlgebra/interfaces/hypre/mgrStrategies/SolidMechanicsEmbeddedFractures.hpp index 22f11501731..b367a44af14 100644 --- a/src/coreComponents/linearAlgebra/interfaces/hypre/mgrStrategies/SolidMechanicsEmbeddedFractures.hpp +++ b/src/coreComponents/linearAlgebra/interfaces/hypre/mgrStrategies/SolidMechanicsEmbeddedFractures.hpp @@ -64,7 +64,7 @@ class SolidMechanicsEmbeddedFractures : public MGRStrategyBase< 1 > setupLabels(); // Level 0 - m_levelFRelaxType[0] = MGRFRelaxationType::gsElimWInverse; + m_levelFRelaxType[0] = MGRFRelaxationType::jacobi; m_levelFRelaxIters[0] = 1; m_levelInterpType[0] = MGRInterpolationType::blockJacobi; m_levelRestrictType[0] = MGRRestrictionType::injection; @@ -82,7 +82,6 @@ class SolidMechanicsEmbeddedFractures : public MGRStrategyBase< 1 > HypreMGRData & mgrData ) { setReduction( precond, mgrData ); - GEOS_LAI_CHECK_ERROR( HYPRE_MGRSetPMaxElmts( precond.ptr, 0 )); // Configure the BoomerAMG solver used as mgr coarse solver for the displacement reduced system setDisplacementAMG( mgrData.coarseSolver ); diff --git a/src/coreComponents/linearAlgebra/interfaces/hypre/mgrStrategies/ThermalMultiphasePoromechanics.hpp b/src/coreComponents/linearAlgebra/interfaces/hypre/mgrStrategies/ThermalMultiphasePoromechanics.hpp index bf12729ff28..07010dcde84 100644 --- a/src/coreComponents/linearAlgebra/interfaces/hypre/mgrStrategies/ThermalMultiphasePoromechanics.hpp +++ b/src/coreComponents/linearAlgebra/interfaces/hypre/mgrStrategies/ThermalMultiphasePoromechanics.hpp @@ -109,8 +109,6 @@ class ThermalMultiphasePoromechanics : public MGRStrategyBase< 3 > { setReduction( precond, mgrData ); - GEOS_LAI_CHECK_ERROR( HYPRE_MGRSetPMaxElmts( precond.ptr, 0 )); - // CHECK: the mechanics solver setup was missing: was there a reason? // Configure the BoomerAMG solver used as F-relaxation for the first level setMechanicsFSolver( precond, mgrData ); diff --git a/src/coreComponents/linearAlgebra/interfaces/hypre/mgrStrategies/ThermalSinglePhasePoromechanics.hpp b/src/coreComponents/linearAlgebra/interfaces/hypre/mgrStrategies/ThermalSinglePhasePoromechanics.hpp index 69933bab004..0e0c9943242 100644 --- a/src/coreComponents/linearAlgebra/interfaces/hypre/mgrStrategies/ThermalSinglePhasePoromechanics.hpp +++ b/src/coreComponents/linearAlgebra/interfaces/hypre/mgrStrategies/ThermalSinglePhasePoromechanics.hpp @@ -80,8 +80,6 @@ class ThermalSinglePhasePoromechanics : public MGRStrategyBase< 1 > { setReduction( precond, mgrData ); - GEOS_LAI_CHECK_ERROR( HYPRE_MGRSetPMaxElmts( precond.ptr, 0 )); - // CHECK: the mechanics solver setup was missing: was there a reason? // Configure the BoomerAMG solver used as F-relaxation for the first level setMechanicsFSolver( precond, mgrData ); diff --git a/src/coreComponents/physicsSolvers/solidMechanics/kernels/ExplicitMPM.hpp b/src/coreComponents/physicsSolvers/solidMechanics/kernels/ExplicitMPM.hpp index 3375a7c0eed..d5ae3622ba1 100644 --- a/src/coreComponents/physicsSolvers/solidMechanics/kernels/ExplicitMPM.hpp +++ b/src/coreComponents/physicsSolvers/solidMechanics/kernels/ExplicitMPM.hpp @@ -32,8 +32,8 @@ namespace solidMechanicsMPMKernels // A helper function to calculate polar decomposition. TODO: Previously this was an LvArray method, hopefully it will be again someday. GEOS_HOST_DEVICE -void polarDecomposition( real64 (& R)[3][3], - real64 const (&matrix)[3][3] ) +static inline void polarDecomposition( real64 (& R)[3][3], + real64 const (&matrix)[3][3] ) { // Initialize LvArray::tensorOps::copy< 3, 3 >( R, matrix ); diff --git a/src/coreComponents/unitTests/constitutiveTests/CMakeLists.txt b/src/coreComponents/unitTests/constitutiveTests/CMakeLists.txt index 0dbb48da22f..5a4d61835f5 100644 --- a/src/coreComponents/unitTests/constitutiveTests/CMakeLists.txt +++ b/src/coreComponents/unitTests/constitutiveTests/CMakeLists.txt @@ -54,8 +54,8 @@ if (TARGET pugixml) list( APPEND dependencyList pugixml ) endif() -if (TARGET fmt::fmt) - list( APPEND dependencyList fmt::fmt ) +if (TARGET fmt::fmt-header-only) + list( APPEND dependencyList fmt::fmt-header-only ) endif() if (TARGET fmt) diff --git a/src/coreComponents/unitTests/dataRepositoryTests/CMakeLists.txt b/src/coreComponents/unitTests/dataRepositoryTests/CMakeLists.txt index 412e24db241..4bc2352a09a 100644 --- a/src/coreComponents/unitTests/dataRepositoryTests/CMakeLists.txt +++ b/src/coreComponents/unitTests/dataRepositoryTests/CMakeLists.txt @@ -23,8 +23,8 @@ if (TARGET pugixml) list( APPEND dependencyList pugixml ) endif() -if (TARGET fmt::fmt) - list( APPEND dependencyList fmt::fmt ) +if (TARGET fmt::fmt-header-only) + list( APPEND dependencyList fmt::fmt-header-only ) endif() if (TARGET fmt) diff --git a/src/coreComponents/unitTests/fieldSpecificationTests/CMakeLists.txt b/src/coreComponents/unitTests/fieldSpecificationTests/CMakeLists.txt index 67069262bd7..64577f161f3 100644 --- a/src/coreComponents/unitTests/fieldSpecificationTests/CMakeLists.txt +++ b/src/coreComponents/unitTests/fieldSpecificationTests/CMakeLists.txt @@ -21,8 +21,8 @@ if (TARGET pugixml) list( APPEND dependencyList pugixml ) endif() -if (TARGET fmt::fmt) - list( APPEND dependencyList fmt::fmt ) +if (TARGET fmt::fmt-header-only) + list( APPEND dependencyList fmt::fmt-header-only ) endif() if (TARGET fmt) diff --git a/src/coreComponents/unitTests/fluidFlowTests/CMakeLists.txt b/src/coreComponents/unitTests/fluidFlowTests/CMakeLists.txt index 47d634a7c00..28ef13e3e9f 100644 --- a/src/coreComponents/unitTests/fluidFlowTests/CMakeLists.txt +++ b/src/coreComponents/unitTests/fluidFlowTests/CMakeLists.txt @@ -32,8 +32,8 @@ if (TARGET pugixml) list( APPEND dependencyList pugixml ) endif() -if (TARGET fmt::fmt) - list( APPEND dependencyList fmt::fmt ) +if (TARGET fmt::fmt-header-only) + list( APPEND dependencyList fmt::fmt-header-only ) endif() if (TARGET fmt) diff --git a/src/coreComponents/unitTests/linearAlgebraTests/CMakeLists.txt b/src/coreComponents/unitTests/linearAlgebraTests/CMakeLists.txt index bb5da0cf099..ee5d43ecd0c 100644 --- a/src/coreComponents/unitTests/linearAlgebraTests/CMakeLists.txt +++ b/src/coreComponents/unitTests/linearAlgebraTests/CMakeLists.txt @@ -22,8 +22,8 @@ if (TARGET pugixml) set( dependencyList ${dependencyList} pugixml ) endif() -if (TARGET fmt::fmt) - set( dependencyList ${dependencyList} fmt::fmt ) +if (TARGET fmt::fmt-header-only) + set( dependencyList ${dependencyList} fmt::fmt-header-only ) endif() if (TARGET fmt) diff --git a/src/coreComponents/unitTests/meshTests/CMakeLists.txt b/src/coreComponents/unitTests/meshTests/CMakeLists.txt index d82d5c69387..f40a5267d49 100644 --- a/src/coreComponents/unitTests/meshTests/CMakeLists.txt +++ b/src/coreComponents/unitTests/meshTests/CMakeLists.txt @@ -35,8 +35,8 @@ if (TARGET pugixml) list( APPEND dependencyList pugixml ) endif() -if (TARGET fmt::fmt) - list( APPEND dependencyList fmt::fmt ) +if (TARGET fmt::fmt-header-only) + list( APPEND dependencyList fmt::fmt-header-only ) endif() if (TARGET fmt) diff --git a/src/coreComponents/unitTests/virtualElementTests/CMakeLists.txt b/src/coreComponents/unitTests/virtualElementTests/CMakeLists.txt index 7b76cfa1cd8..65672cd2b56 100644 --- a/src/coreComponents/unitTests/virtualElementTests/CMakeLists.txt +++ b/src/coreComponents/unitTests/virtualElementTests/CMakeLists.txt @@ -18,8 +18,8 @@ if (TARGET pugixml) list( APPEND dependencyList pugixml ) endif() -if (TARGET fmt::fmt) - list( APPEND dependencyList fmt::fmt ) +if (TARGET fmt::fmt-header-only) + list( APPEND dependencyList fmt::fmt-header-only ) endif() if (TARGET fmt) diff --git a/src/coreComponents/unitTests/wavePropagationTests/CMakeLists.txt b/src/coreComponents/unitTests/wavePropagationTests/CMakeLists.txt index 5b37843d081..cf6a341771a 100644 --- a/src/coreComponents/unitTests/wavePropagationTests/CMakeLists.txt +++ b/src/coreComponents/unitTests/wavePropagationTests/CMakeLists.txt @@ -24,8 +24,8 @@ if (TARGET pugixml) list( APPEND dependencyList pugixml ) endif() -if (TARGET fmt::fmt) - list( APPEND dependencyList fmt::fmt ) +if (TARGET fmt::fmt-header-only) + list( APPEND dependencyList fmt::fmt-header-only ) endif() if (TARGET fmt) diff --git a/src/coreComponents/unitTests/wellsTests/CMakeLists.txt b/src/coreComponents/unitTests/wellsTests/CMakeLists.txt index 5c00a354cf4..f1124f513f2 100644 --- a/src/coreComponents/unitTests/wellsTests/CMakeLists.txt +++ b/src/coreComponents/unitTests/wellsTests/CMakeLists.txt @@ -26,8 +26,8 @@ if (TARGET pugixml) list( APPEND dependencyList pugixml ) endif() -if (TARGET fmt::fmt) - list( APPEND dependencyList fmt::fmt ) +if (TARGET fmt::fmt-header-only) + list( APPEND dependencyList fmt::fmt-header-only ) endif() if (TARGET fmt)