1919#include " local_operator/local_renumbering.hpp"
2020#include " local_operator/virtual_local_to_local_operator.hpp"
2121
22- #include " distributed_operator/distributed_operator.hpp"
23- #include " distributed_operator/utility.hpp"
24-
25- #include " solver/geneo/coarse_operator_builder.hpp"
26- #include " solver/geneo/coarse_space_dense_builder.hpp"
27- #include " solver/interfaces/virtual_coarse_operator_builder.hpp"
28- #include " solver/interfaces/virtual_coarse_space_builder.hpp"
29- #include " solver/solver.hpp"
30- #include " solver/utility.hpp"
22+ #ifdef HAVE_MPI
23+ # include " distributed_operator/distributed_operator.hpp"
24+ # include " distributed_operator/utility.hpp"
25+
26+ # include " misc/wrapper_mpi.hpp"
27+ # include " solver/geneo/coarse_operator_builder.hpp"
28+ # include " solver/geneo/coarse_space_dense_builder.hpp"
29+ # include " solver/interfaces/virtual_coarse_operator_builder.hpp"
30+ # include " solver/interfaces/virtual_coarse_space_builder.hpp"
31+ # include " solver/solver.hpp"
32+ # include " solver/utility.hpp"
33+ #endif
3134
3235#include " matplotlib/cluster.hpp"
3336#include " matplotlib/hmatrix.hpp"
3437#include " misc/logger.hpp"
35- #include " misc/wrapper_mpi.hpp"
3638
3739PYBIND11_MODULE (Htool, m) {
3840 // Delegate logging to python logging module
3941 htool::Logger::get_instance ().set_current_writer (std::make_shared<PythonLoggerWriter>());
4042
43+ #ifdef HAVE_MPI
4144 // import the mpi4py API
4245 if (import_mpi4py () < 0 ) {
4346 throw std::runtime_error (" Could not load mpi4py API." ); // LCOV_EXCL_LINE
4447 }
48+ #endif
4549
4650 declare_cluster_node<double >(m, " Cluster" );
4751 declare_virtual_partitioning<double >(m, " " );
@@ -59,6 +63,7 @@ PYBIND11_MODULE(Htool, m) {
5963 declare_custom_VirtualDenseBlocksGenerator<double >(m, " VirtualDenseBlocksGenerator" );
6064 declare_hmatrix_builder<double , double >(m, " HMatrixTreeBuilder" );
6165
66+ #ifdef HAVE_MPI
6267 declare_local_renumbering<double >(m, " LocalRenumbering" );
6368 declare_global_to_local_operator<double >(m, " " );
6469 declare_virtual_local_to_local_operator<double >(m, " " );
@@ -73,6 +78,7 @@ PYBIND11_MODULE(Htool, m) {
7378 declare_DDM<double >(m, " Solver" );
7479
7580 declare_solver_utility<double , double >(m);
81+ #endif
7682
7783 declare_matplotlib_cluster<double >(m);
7884 declare_matplotlib_hmatrix<double , double >(m);
@@ -85,6 +91,7 @@ PYBIND11_MODULE(Htool, m) {
8591 declare_custom_VirtualDenseBlocksGenerator<std::complex <double >>(m, " ComplexVirtualDenseBlocksGenerator" );
8692 declare_hmatrix_builder<std::complex <double >, double >(m, " ComplexHMatrixTreeBuilder" );
8793
94+ #ifdef HAVE_MPI
8895 declare_global_to_local_operator<std::complex <double >>(m, " Complex" );
8996 declare_virtual_local_to_local_operator<std::complex <double >>(m, " Complex" );
9097 declare_distributed_operator<std::complex <double >>(m, " ComplexDistributedOperator" );
@@ -98,4 +105,5 @@ PYBIND11_MODULE(Htool, m) {
98105 declare_virtual_geneo_coarse_space_dense_builder<std::complex <double >>(m, " VirtualComplexGeneoCoarseSpaceDenseBuilder" );
99106
100107 declare_solver_utility<std::complex <double >, double >(m, " Complex" );
108+ #endif
101109}
0 commit comments