15#ifndef dealii_config_h
16#define dealii_config_h
22#define DEAL_II_PACKAGE_NAME "deal.II"
24#define DEAL_II_PACKAGE_VERSION "GIT relicensing-2995-gf925de1750 2025-04-02 00:10:01+00:00"
26#define DEAL_II_VERSION_MAJOR GIT relicensing-2995-gf925de1750 2025-04-02 00:10:01+00:00
27#define DEAL_II_VERSION_MINOR GIT relicensing-2995-gf925de1750 2025-04-02 00:10:01+00:00
28#define DEAL_II_VERSION_SUBMINOR GIT relicensing-2995-gf925de1750 2025-04-02 00:10:01+00:00
35#define DEAL_II_NAMESPACE_OPEN namespace dealii {
36#define DEAL_II_NAMESPACE_CLOSE }
91#define DEAL_II_FEATURE_BOOST_BUNDLED_CONFIGURED
98#define DEAL_II_WITH_KOKKOS
99#define DEAL_II_FEATURE_KOKKOS_BUNDLED_CONFIGURED
106#define DEAL_II_WITH_MUPARSER
107#define DEAL_II_FEATURE_MUPARSER_BUNDLED_CONFIGURED
116#define DEAL_II_WITH_TASKFLOW
117#define DEAL_II_FEATURE_TASKFLOW_BUNDLED_CONFIGURED
118#define DEAL_II_WITH_TBB
119#define DEAL_II_FEATURE_TBB_BUNDLED_CONFIGURED
123#define DEAL_II_USE_VECTORIZATION_GATHER
127#ifdef DEAL_II_WITH_TBB
132#define DEAL_II_WITH_THREADS
134#define TBB_SUPPRESS_DEPRECATED_MESSAGES 1
154#define DEAL_II_COMPILER_USE_VECTOR_ARITHMETICS
156#define DEAL_II_HAVE_BUILTIN_EXPECT
157#define DEAL_II_HAVE_GLIBC_STACKTRACE
158#define DEAL_II_HAVE_LIBSTDCXX_DEMANGLER
160#define DEAL_II_ALWAYS_INLINE __attribute__((always_inline))
161#define DEAL_II_RESTRICT __restrict
162#define DEAL_II_COMPILER_HAS_DIAGNOSTIC_PRAGMA
165#define DEAL_II_HOST_DEVICE KOKKOS_FUNCTION
166#define DEAL_II_HOST_DEVICE_ALWAYS_INLINE KOKKOS_FORCEINLINE_FUNCTION
172#if (defined(__clang__) && defined(__CUDA__)) || defined(KOKKOS_ENABLE_HIP)
173# define DEAL_II_HOST __host__
192#define DEAL_II_VECTORIZATION_WIDTH_IN_BITS 128
197#if DEAL_II_VECTORIZATION_WIDTH_IN_BITS == 512
198#define DEAL_II_COMPILER_VECTORIZATION_LEVEL 3
199#elif DEAL_II_VECTORIZATION_WIDTH_IN_BITS == 256
200#define DEAL_II_COMPILER_VECTORIZATION_LEVEL 2
201#elif DEAL_II_VECTORIZATION_WIDTH_IN_BITS == 128
202#define DEAL_II_COMPILER_VECTORIZATION_LEVEL 1
204#define DEAL_II_COMPILER_VECTORIZATION_LEVEL 0
207#define DEAL_II_OPENMP_SIMD_PRAGMA _Pragma("omp simd")
217#define DEAL_II_HAVE_CXX17
221#define DEAL_II_HAVE_FP_EXCEPTIONS
223#define DEAL_II_HAVE_CXX17_BESSEL_FUNCTIONS
228#define DEAL_II_WITH_CXX11
229#define DEAL_II_WITH_CXX14
230#define DEAL_II_WITH_CXX17
238#if defined(DEAL_II_HAVE_CXX20) && !defined(DEAL_II_DOXYGEN_DO_NOT_PARSE_REQUIRES_CLAUSES)
239# define DEAL_II_CXX20_REQUIRES(condition) requires(condition)
241# define DEAL_II_CXX20_REQUIRES(condition)
249#ifdef DEAL_II_HAVE_CXX23
250# define DEAL_II_CXX23_ASSUME(expr) [[assume(expr)]]
252# if defined(__clang__)
253# define DEAL_II_CXX23_ASSUME(expr) __builtin_assume(static_cast<bool>(expr))
254# elif defined(_MSC_VER) || defined(__ICC)
255# define DEAL_II_CXX23_ASSUME(expr) __assume(expr);
258# define DEAL_II_CXX23_ASSUME(expr) \
258# define DEAL_II_CXX23_ASSUME(expr) \ …
266#define DEAL_II_FALLTHROUGH [[fallthrough]]
267#define DEAL_II_CONSTEXPR constexpr
279#define DEAL_II_DEPRECATED [[deprecated]]
280#define DEAL_II_DEPRECATED_WITH_COMMENT(comment) [[deprecated(comment)]]
289#ifndef DEAL_II_DEPRECATED_EARLY
291#ifdef DEAL_II_EARLY_DEPRECATIONS
292#define DEAL_II_DEPRECATED_EARLY [[deprecated]]
294#define DEAL_II_DEPRECATED_EARLY
298#ifndef DEAL_II_DEPRECATED_EARLY_WITH_COMMENT
300#ifdef DEAL_II_EARLY_DEPRECATIONS
301#define DEAL_II_DEPRECATED_EARLY_WITH_COMMENT(comment) [[deprecated(comment)]]
303#define DEAL_II_DEPRECATED_EARLY_WITH_COMMENT(comment)
314#define DEAL_II_HAVE_SYS_RESOURCE_H
315#define DEAL_II_HAVE_UNISTD_H
316#define DEAL_II_HAVE_GETHOSTNAME
317#define DEAL_II_HAVE_GETPID
376#if defined(DEAL_II_BOOST_HAS_BROKEN_HEADER_DEPRECATIONS) || \
377 defined(DEAL_II_CGAL_HAS_DEPRECATED_BOOST_INCLUDES)
378# ifndef BOOST_ALLOW_DEPRECATED_HEADERS
379# define BOOST_ALLOW_DEPRECATED_HEADERS
400#define DEAL_II_VERSION_GTE(major,minor,subminor) \
401 ((DEAL_II_VERSION_MAJOR * 10000 + \
402 DEAL_II_VERSION_MINOR * 100 + \
403 DEAL_II_VERSION_SUBMINOR) \
405 (major)*10000 + (minor)*100 + (subminor))
400#define DEAL_II_VERSION_GTE(major,minor,subminor) \ …
410#define DEAL_II_BOOST_VERSION_MAJOR 1
411#define DEAL_II_BOOST_VERSION_MINOR 84
412#define DEAL_II_BOOST_VERSION_SUBMINOR 0
414#define DEAL_II_BOOST_VERSION_GTE(major,minor,subminor) \
415 ((DEAL_II_BOOST_VERSION_MAJOR * 100000 + \
416 DEAL_II_BOOST_VERSION_MINOR * 100 + \
417 DEAL_II_BOOST_VERSION_SUBMINOR) \
419 (major)*100000 + (minor)*100 + (subminor))
414#define DEAL_II_BOOST_VERSION_GTE(major,minor,subminor) \ …
424#ifdef DEAL_II_WITH_GMSH
425# define DEAL_II_GMSH_EXECUTABLE_PATH ""
433#ifdef DEAL_II_WITH_KOKKOS
434# define DEAL_II_KOKKOS_VERSION_MAJOR 3
435# define DEAL_II_KOKKOS_VERSION_MINOR 7
436# define DEAL_II_KOKKOS_VERSION_SUBMINOR 0
438# define DEAL_II_KOKKOS_VERSION_GTE(major,minor,subminor) \
439 ((DEAL_II_KOKKOS_VERSION_MAJOR * 10000 + \
440 DEAL_II_KOKKOS_VERSION_MINOR * 100 + \
441 DEAL_II_KOKKOS_VERSION_SUBMINOR) \
443 (major)*10000 + (minor)*100 + (subminor))
438# define DEAL_II_KOKKOS_VERSION_GTE(major,minor,subminor) \ …
451#ifdef DEAL_II_WITH_OPENCASCADE
452# define DEAL_II_OPENCASCADE_VERSION_MAJOR
453# define DEAL_II_OPENCASCADE_VERSION_MINOR
454# define DEAL_II_OPENCASCADE_VERSION_SUBMINOR
456# define DEAL_II_OPENCASCADE_VERSION_GTE(major,minor,subminor) \
457 ((DEAL_II_OPENCASCADE_VERSION_MAJOR * 10000 + \
458 DEAL_II_OPENCASCADE_VERSION_MINOR * 100 + \
459 DEAL_II_OPENCASCADE_VERSION_SUBMINOR) \
461 (major)*10000 + (minor)*100 + (subminor))
456# define DEAL_II_OPENCASCADE_VERSION_GTE(major,minor,subminor) \ …
468#ifdef DEAL_II_WITH_P4EST
469# define DEAL_II_P4EST_VERSION_MAJOR
470# define DEAL_II_P4EST_VERSION_MINOR
471# define DEAL_II_P4EST_VERSION_SUBMINOR
472# define DEAL_II_P4EST_VERSION_PATCH
474# define DEAL_II_P4EST_VERSION_GTE(major,minor,subminor,patch) \
475 ((DEAL_II_P4EST_VERSION_MAJOR * 1000000 + \
476 DEAL_II_P4EST_VERSION_MINOR * 10000 + \
477 DEAL_II_P4EST_VERSION_SUBMINOR * 100 + \
478 DEAL_II_P4EST_VERSION_PATCH) \
480 (major)*1000000 + (minor)*10000 + (subminor)*100 + (patch))
474# define DEAL_II_P4EST_VERSION_GTE(major,minor,subminor,patch) \ …
487#ifdef DEAL_II_WITH_SUNDIALS
488 # define DEAL_II_SUNDIALS_VERSION_MAJOR
489 # define DEAL_II_SUNDIALS_VERSION_MINOR
490 # define DEAL_II_SUNDIALS_VERSION_PATCH
492 #define DEAL_II_SUNDIALS_VERSION_GTE(major,minor,patch) \
493 ((DEAL_II_SUNDIALS_VERSION_MAJOR * 10000 + \
494 DEAL_II_SUNDIALS_VERSION_MINOR * 100 + \
495 DEAL_II_SUNDIALS_VERSION_PATCH) \
497 (major)*10000 + (minor)*100 + (patch))
492 #define DEAL_II_SUNDIALS_VERSION_GTE(major,minor,patch) \ …
499 #define DEAL_II_SUNDIALS_VERSION_LT(major,minor,patch) \
500 ((DEAL_II_SUNDIALS_VERSION_MAJOR * 10000 + \
501 DEAL_II_SUNDIALS_VERSION_MINOR * 100 + \
502 DEAL_II_SUNDIALS_VERSION_PATCH) \
504 (major)*10000 + (minor)*100 + (patch))
499 #define DEAL_II_SUNDIALS_VERSION_LT(major,minor,patch) \ …
514#ifdef DEAL_II_WITH_PETSC
515# define DEAL_II_PETSC_VERSION_LT(major,minor,subminor) \
516 PETSC_VERSION_LT(major,minor,subminor)
515# define DEAL_II_PETSC_VERSION_LT(major,minor,subminor) \ …
517# define DEAL_II_PETSC_VERSION_GTE(major,minor,subminor) \
518 PETSC_VERSION_GE(major,minor,subminor)
517# define DEAL_II_PETSC_VERSION_GTE(major,minor,subminor) \ …
525#ifdef DEAL_II_WITH_SLEPC
526# define DEAL_II_SLEPC_VERSION_LT(major,minor,subminor) \
527 SLEPC_VERSION_LT(major,minor,subminor)
526# define DEAL_II_SLEPC_VERSION_LT(major,minor,subminor) \ …
528# define DEAL_II_SLEPC_VERSION_GTE(major,minor,subminor) \
529 SLEPC_VERSION_GE(major,minor,subminor)
528# define DEAL_II_SLEPC_VERSION_GTE(major,minor,subminor) \ …
536#ifdef DEAL_II_WITH_TRILINOS
537# define DEAL_II_TRILINOS_VERSION_MAJOR
538# define DEAL_II_TRILINOS_VERSION_MINOR
539# define DEAL_II_TRILINOS_VERSION_SUBMINOR
541# define DEAL_II_TRILINOS_VERSION_GTE(major,minor,subminor) \
542 ((DEAL_II_TRILINOS_VERSION_MAJOR * 10000 + \
543 DEAL_II_TRILINOS_VERSION_MINOR * 100 + \
544 DEAL_II_TRILINOS_VERSION_SUBMINOR) \
546 (major)*10000 + (minor)*100 + (subminor))
541# define DEAL_II_TRILINOS_VERSION_GTE(major,minor,subminor) \ …
553#ifdef DEAL_II_WITH_CGAL
554# define DEAL_II_CGAL_VERSION_MAJOR
555# define DEAL_II_CGAL_VERSION_MINOR
556# define DEAL_II_CGAL_VERSION_SUBMINOR
558# define DEAL_II_CGAL_VERSION_GTE(major, minor, subminor) \
559 ((DEAL_II_CGAL_VERSION_MAJOR * 10000 + DEAL_II_CGAL_VERSION_MINOR * 100 + \
560 DEAL_II_CGAL_VERSION_SUBMINOR) >= \
561 (major)*10000 + (minor)*100 + (subminor))
558# define DEAL_II_CGAL_VERSION_GTE(major, minor, subminor) \ …
568#ifdef DEAL_II_WITH_MPI
569# define DEAL_II_MPI_VERSION_MAJOR
570# define DEAL_II_MPI_VERSION_MINOR
572# define DEAL_II_MPI_VERSION_GTE(major,minor) \
573 ((DEAL_II_MPI_VERSION_MAJOR * 100 + \
574 DEAL_II_MPI_VERSION_MINOR) \
576 (major)*100 + (minor))
572# define DEAL_II_MPI_VERSION_GTE(major,minor) \ …
578# define DEAL_II_MPI_VERSION_GTE(major,minor) false
591#ifdef DEAL_II_COMPILER_HAS_DIAGNOSTIC_PRAGMA
594# define DEAL_II_DISABLE_EXTRA_DIAGNOSTICS \
595_Pragma("GCC diagnostic push") \
596_Pragma("GCC diagnostic ignored \"-Wunknown-pragmas\"") \
597_Pragma("GCC diagnostic ignored \"-Wpragmas\"") \
598_Pragma("GCC diagnostic ignored \"-Wunknown-warning-option\"") \
599_Pragma("GCC diagnostic ignored \"-Wunknown-warning\"") \
600_Pragma("GCC diagnostic ignored \"-Wextra\"") \
601_Pragma("GCC diagnostic ignored \"-Waddress-of-packed-member\"") \
602_Pragma("GCC diagnostic ignored \"-Wcast-function-type\"") \
603_Pragma("GCC diagnostic ignored \"-Wdeprecated-copy\"") \
604_Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"") \
605_Pragma("GCC diagnostic ignored \"-Wdeprecated-volatile\"") \
606_Pragma("GCC diagnostic ignored \"-Wexpansion-to-defined\"") \
607_Pragma("GCC diagnostic ignored \"-Wfloat-conversion\"") \
608_Pragma("GCC diagnostic ignored \"-Wignored-attributes\"") \
609_Pragma("GCC diagnostic ignored \"-Wignored-qualifiers\"") \
610_Pragma("GCC diagnostic ignored \"-Wimplicit-fallthrough\"") \
611_Pragma("GCC diagnostic ignored \"-Winfinite-recursion\"") \
612_Pragma("GCC diagnostic ignored \"-Wint-in-bool-context\"") \
613_Pragma("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") \
614_Pragma("GCC diagnostic ignored \"-Wmisleading-indentation\"") \
615_Pragma("GCC diagnostic ignored \"-Wmissing-field-initializers\"") \
616_Pragma("GCC diagnostic ignored \"-Wnested-anon-types\"") \
617_Pragma("GCC diagnostic ignored \"-Wnon-template-friend\"") \
618_Pragma("GCC diagnostic ignored \"-Wnon-virtual-dtor\"") \
619_Pragma("GCC diagnostic ignored \"-Wnonnull\"") \
620_Pragma("GCC diagnostic ignored \"-Woverflow\"") \
621_Pragma("GCC diagnostic ignored \"-Woverloaded-virtual\"") \
622_Pragma("GCC diagnostic ignored \"-Wpedantic\"") \
623_Pragma("GCC diagnostic ignored \"-Wsuggest-override\"") \
624_Pragma("GCC diagnostic ignored \"-Wtautological-constant-out-of-range-compare\"") \
625_Pragma("GCC diagnostic ignored \"-Wtautological-overlap-compare\"") \
626_Pragma("GCC diagnostic ignored \"-Wtype-limits\"") \
627_Pragma("GCC diagnostic ignored \"-Wundef\"") \
628_Pragma("GCC diagnostic ignored \"-Wunused-but-set-parameter\"") \
629_Pragma("GCC diagnostic ignored \"-Wunused-but-set-variable\"") \
630_Pragma("GCC diagnostic ignored \"-Wunused-function\"") \
631_Pragma("GCC diagnostic ignored \"-Wunused-parameter\"") \
632_Pragma("GCC diagnostic ignored \"-Wunused-private-field\"") \
633_Pragma("GCC diagnostic ignored \"-Wunused-variable\"") \
634_Pragma("GCC diagnostic ignored \"-Wuse-after-free\"") \
635_Pragma("GCC diagnostic warning \"-Wpragmas\"")
594# define DEAL_II_DISABLE_EXTRA_DIAGNOSTICS \ …
637# define DEAL_II_ENABLE_EXTRA_DIAGNOSTICS \
638_Pragma("GCC diagnostic pop")
637# define DEAL_II_ENABLE_EXTRA_DIAGNOSTICS \ …
642# define DEAL_II_DISABLE_EXTRA_DIAGNOSTICS
643# define DEAL_II_ENABLE_EXTRA_DIAGNOSTICS
652#define DEAL_II_FORTRAN_MANGLE(name, NAME) name ## _
654#define DEAL_II_FORTRAN_MANGLE_UNDERSCORE(name, NAME) name ## _
663 #define DEAL_II_STRINGIZE_HELPER(x) #x
664 #define DEAL_II_STRINGIZE(x) DEAL_II_STRINGIZE_HELPER(x)
665 #define DEAL_II_DO_PRAGMA(x) __pragma(x)
666 #define DEAL_II_WARNING(desc) DEAL_II_DO_PRAGMA(message(__FILE__ "(" DEAL_II_STRINGIZE(__LINE__) ") : warning: " #desc))
668 #define DEAL_II_DO_PRAGMA(x) _Pragma(#x)
669 #define DEAL_II_WARNING(desc) DEAL_II_DO_PRAGMA(message(#desc))
683#include <boost/version.hpp>
688 "The version number of boost that you are compiling with does not match the "
689 "version number of boost found during deal.II's configuration step. This "
690 "leads to difficult to understand bugs and is not supported. Please check "
691 "that you have set up your application with the same version of boost as "
#define DEAL_II_BOOST_VERSION_MINOR
constexpr LibraryBuildMode library_build_mode
#define DEAL_II_NAMESPACE_OPEN
constexpr bool running_in_debug_mode()
#define DEAL_II_BOOST_VERSION_MAJOR
#define DEAL_II_NAMESPACE_CLOSE
#define DEAL_II_BOOST_VERSION_SUBMINOR