Make sure capi.init is called with intracomm in tests when MPI is enabled

This commit is contained in:
Paul Romano 2019-09-03 21:50:16 -05:00
parent bbe5b7ba5e
commit 56322b9b3f
3 changed files with 17 additions and 6 deletions

View file

@ -1,6 +1,17 @@
import openmc
import pytest
from tests.regression_tests import config
@pytest.fixture(scope='module')
def mpi_intracomm():
if config['mpi']:
from mpi4py import MPI
return MPI.COMM_WORLD
else:
return None
@pytest.fixture(scope='module')
def uo2():

View file

@ -50,8 +50,8 @@ def pincell_model():
@pytest.fixture(scope='module')
def capi_init(pincell_model):
openmc.capi.init()
def capi_init(pincell_model, mpi_intracomm):
openmc.capi.init(intracomm=mpi_intracomm)
yield
openmc.capi.finalize()
@ -408,11 +408,11 @@ def test_mesh(capi_init):
assert msf.mesh == mesh
def test_restart(capi_init):
def test_restart(capi_init, mpi_intracomm):
# Finalize and re-init to make internal state consistent with XML.
openmc.capi.hard_reset()
openmc.capi.finalize()
openmc.capi.init()
openmc.capi.init(intracomm=mpi_intracomm)
openmc.capi.simulation_init()
# Run for 7 batches then write a statepoint.

View file

@ -3,7 +3,7 @@ import openmc.capi
import pytest
@pytest.fixture(autouse=True)
def complex_cell(run_in_tmpdir):
def complex_cell(run_in_tmpdir, mpi_intracomm):
openmc.reset_auto_ids()
@ -74,7 +74,7 @@ def complex_cell(run_in_tmpdir):
model.export_to_xml()
openmc.capi.finalize()
openmc.capi.init()
openmc.capi.init(intracomm=mpi_intracomm)
yield