import scipy import scipy.sparse import SimPEG import shutil, os, errno from IPython.parallel import require, interactive, Reference DEFAULT_FREESURF_BOUNDS = [False, False, False, False] DEFAULT_PML_SIZE = 10 DEFAULT_IREG = 4 DEFAULT_DTYPE = 'double' try: from pymatsolver import MumpsSolver DEFAULT_SOLVER = MumpsSolver except: DEFAULT_SOLVER = SimPEG.SolverWrapD(scipy.sparse.linalg.splu) class SeisFDFDKernel(object): # source array ref # receiver array ref mesh = None freq = None Solver = lambda: None def __init__(self, systemConfig, **kwargs): if systemConfig.get('cache', False):
def Solver(self): if getattr(self, '_Solver', None) is None: self._Solver = SimPEG.SolverWrapD(DEFAULT_SOLVER) return self._Solver