From f54bd837a968e70db7d5ef5b96562432618ab2db Mon Sep 17 00:00:00 2001
From: Thomas Gibson <gibsonthomas1120@hotmail.com>
Date: Fri, 4 Jun 2021 16:18:59 -0500
Subject: [PATCH] Move MPI import

---
 grudge/models/__init__.py | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/grudge/models/__init__.py b/grudge/models/__init__.py
index 51fcb305..579a8601 100644
--- a/grudge/models/__init__.py
+++ b/grudge/models/__init__.py
@@ -46,7 +46,6 @@ class HyperbolicOperator(Operator):
 
     def estimate_rk4_timestep(self, dcoll, t=None, fields=None):
         """Estimate the largest stable timestep for an RK4 method."""
-        from mpi4py import MPI
         from grudge.dt_utils import (dt_non_geometric_factor,
                                      dt_geometric_factors)
         import grudge.op as op
@@ -63,4 +62,7 @@ class HyperbolicOperator(Operator):
         if mpi_comm is None:
             return dt_factor * (1 / max_lambda)
 
+        # NOTE: Do NOT move this import; only import MPI when we need it
+        from mpi4py import MPI
+
         return mpi_comm.allreduce(dt_factor, op=MPI.MIN) * (1 / max_lambda)
-- 
GitLab