def _getComms(): from fipy.tools.parser import _parseSolver if _parseSolver() in ("trilinos", "no-pysparse"): serialComm, parallelComm = _parallelImport() elif _parseSolver() is None: try: serialComm, parallelComm = _parallelImport() except ImportError: from fipy.tools.comms.dummyComm import DummyComm serialComm, parallelComm = DummyComm(), DummyComm() else: from fipy.tools.comms.dummyComm import DummyComm serialComm, parallelComm = DummyComm(), DummyComm() return serialComm, parallelComm
from __future__ import unicode_literals from fipy.tools.parser import _parseSolver from fipy.tools import parallelComm as _parallelComm from fipy.solvers.solver import * __all__ = list(solver.__all__) from future.utils import text_to_native_str __all__ = [text_to_native_str(n) for n in __all__] solver = _parseSolver() def _envSolver(solver): import os if solver is None and 'FIPY_SOLVERS' in os.environ: solver = os.environ['FIPY_SOLVERS'].lower() return solver solver = _envSolver(solver) class SerialSolverError(Exception): def __init__(self, solver): super(SerialSolverError, self).__init__(solver + ' does not run in parallel') if solver == "pysparse": if _parallelComm.Nproc > 1: raise SerialSolverError('pysparse') from fipy.solvers.pysparse import * __all__.extend(pysparse.__all__) from fipy.matrices.pysparseMatrix import _PysparseMeshMatrix _MeshMatrix = _PysparseMeshMatrix
from fipy.tools.parser import _parseSolver from fipy.tools import parallelComm as _parallelComm from fipy.solvers.solver import * __all__ = list(solver.__all__) solver = _parseSolver() def _envSolver(solver): import os if solver is None and 'FIPY_SOLVERS' in os.environ: solver = os.environ['FIPY_SOLVERS'].lower() return solver solver = _envSolver(solver) class SerialSolverError(Exception): def __init__(self, solver): super(SerialSolverError, self).__init__(solver + ' does not run in parallel') if solver == "pysparse": if _parallelComm.Nproc > 1: raise SerialSolverError('pysparse') from fipy.solvers.pysparse import * __all__.extend(pysparse.__all__) from fipy.matrices.pysparseMatrix import _PysparseMeshMatrix
from __future__ import unicode_literals from builtins import str import os from fipy.tools.parser import _parseSolver from fipy.solvers.solver import * __all__ = list(solver.__all__) from future.utils import text_to_native_str __all__ = [text_to_native_str(n) for n in __all__] _desired_solver = _parseSolver() if _desired_solver is None and 'FIPY_SOLVERS' in os.environ: _desired_solver = os.environ['FIPY_SOLVERS'].lower() del os try: from mpi4py import MPI _Nproc = MPI.COMM_WORLD.size del MPI except ImportError: _Nproc = 1 _exceptions = [] class SerialSolverError(Exception): def __init__(self): super(SerialSolverError, self).__init__('solver does not run in parallel') _exceptions = {}