Beispiel #1
0
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
Beispiel #2
0
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
Beispiel #3
0
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
Beispiel #5
0
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 = {}