Skip to content

Commit 67222da

Browse files
committed
use default solver rather than pardiso
1 parent 916a009 commit 67222da

17 files changed

+64
-50
lines changed

geoscilabs/dcip/DCIP_overburden_PseudoSection.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,12 @@
2929
from simpeg.utils import extract_core_mesh
3030
from simpeg.electromagnetics.static import resistivity as DC
3131
from simpeg.electromagnetics.static import induced_polarization as IP
32-
from pymatsolver import Pardiso
32+
from simpeg.utils.solver_utils import get_default_solver
3333

3434
from ..base import widgetify
3535

36+
Solver = get_default_solver()
37+
3638
# Mesh, sigmaMap can be globals global
3739
npad = 12
3840
growrate = 2.0
@@ -179,13 +181,13 @@ def model_fields(A, B, mtrue, mhalf, mair, mover, whichprimary="overburden"):
179181
survey = DC.Survey([src])
180182
# Create three simulations so the fields object is accurate
181183
sim_primary = DC.Simulation2DCellCentered(
182-
mesh, survey=survey, sigmaMap=mapping, solver=Pardiso
184+
mesh, survey=survey, sigmaMap=mapping, solver=Solver
183185
)
184186
sim_total = DC.Simulation2DCellCentered(
185-
mesh, survey=survey, sigmaMap=mapping, solver=Pardiso
187+
mesh, survey=survey, sigmaMap=mapping, solver=Solver
186188
)
187189
sim_air = DC.Simulation2DCellCentered(
188-
mesh, survey=survey, sigmaMap=mapping, solver=Pardiso
190+
mesh, survey=survey, sigmaMap=mapping, solver=Solver
189191
)
190192

191193
if whichprimary == "air":
@@ -302,7 +304,7 @@ def getSensitivity(survey, A, B, M, N, model):
302304

303305
survey = DC.Survey([src])
304306
problem = DC.Simulation2DCellCentered(
305-
mesh, sigmaMap=mapping, solver=Pardiso, survey=survey
307+
mesh, sigmaMap=mapping, solver=Solver, survey=survey
306308
)
307309

308310
J = problem.getJ(model)[0]
@@ -458,7 +460,7 @@ def DC2Dsimulation(mtrue, flag="PoleDipole", nmax=8):
458460

459461
survey = DC.Survey(txList)
460462
simulation = DC.Simulation2DCellCentered(
461-
mesh, sigmaMap=mapping, survey=survey, solver=Pardiso
463+
mesh, sigmaMap=mapping, survey=survey, solver=Solver
462464
)
463465

464466
return simulation, xzlocs
@@ -548,7 +550,7 @@ def IP2Dsimulation(miptrue, sigmadc, flag="PoleDipole", nmax=8):
548550
sigma=sigmadc,
549551
etaMap=maps.IdentityMap(mesh),
550552
survey=survey,
551-
solver=Pardiso,
553+
solver=Solver,
552554
)
553555

554556
return simulation, xzlocs

geoscilabs/dcip/DCLayers.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,12 @@
1010
from discretize import TensorMesh
1111

1212
from simpeg import maps, utils
13-
from pymatsolver import Pardiso
13+
from simpeg.utils.solver_utils import get_default_solver
1414

1515
from ..base import widgetify
1616

17+
Solver = get_default_solver()
18+
1719
rcParams["font.size"] = 16
1820

1921
# Mesh parameters
@@ -172,7 +174,7 @@ def solve_2D_potentials(rho1, rho2, h, A, B):
172174
* utils.sdiag(1.0 / (mesh.dim * mesh.aveF2CC.T * (1.0 / sigma)))
173175
* mesh.cell_gradient
174176
)
175-
Ainv = Pardiso(A)
177+
Ainv = Solver(A)
176178

177179
V = Ainv * q
178180
return V

geoscilabs/dcip/DCWidgetPlate2_5D.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,16 @@
1212
from matplotlib.path import Path
1313
import matplotlib.patches as patches
1414

15-
from pymatsolver import Pardiso
15+
from simpeg.utils.solver_utils import get_default_solver
1616

1717
from discretize import TensorMesh
1818
from simpeg import maps, SolverLU, utils
1919
from simpeg.utils import extract_core_mesh
2020
from simpeg.electromagnetics.static import resistivity as DC
2121
from ..base import widgetify
2222

23+
Solver = get_default_solver()
24+
2325
# Mesh, mapping can be globals global
2426
npad = 15
2527
growrate = 2.0
@@ -88,10 +90,10 @@ def plate_fields(A, B, dx, dz, xc, zc, rotAng, sigplate, sighalf):
8890
src = DC.sources.Dipole([], np.r_[A, 0.0], np.r_[B, 0.0])
8991
survey = DC.survey.Survey([src])
9092
problem = DC.Simulation2DCellCentered(
91-
mesh, survey=survey, sigmaMap=mapping, solver=Pardiso
93+
mesh, survey=survey, sigmaMap=mapping, solver=Solver
9294
)
9395
problem_prim = DC.Simulation2DCellCentered(
94-
mesh, survey=survey, sigmaMap=mapping, solver=Pardiso
96+
mesh, survey=survey, sigmaMap=mapping, solver=Solver
9597
)
9698

9799
total_field = problem.fields(mtrue)
@@ -292,7 +294,7 @@ def getSensitivity(survey, A, B, M, N, model):
292294

293295
survey = DC.Survey([src])
294296
sim = DC.Simulation3DCellCentered(
295-
mesh, sigmaMap=mapping, solver=Pardiso, survey=survey
297+
mesh, sigmaMap=mapping, solver=Solver, survey=survey
296298
)
297299
J = sim.getJ(model)[0]
298300

geoscilabs/dcip/DCWidgetPlate_2D.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
from matplotlib.ticker import LogFormatter
1212
from matplotlib.path import Path
1313
import matplotlib.patches as patches
14-
from pymatsolver import Pardiso
14+
from simpeg.utils.solver_utils import get_default_solver
1515

1616
from discretize import TensorMesh
1717
from simpeg import maps, SolverLU, utils
@@ -20,6 +20,8 @@
2020

2121
from ..base import widgetify
2222

23+
Solver = get_default_solver()
24+
2325
# Mesh, mapping can be globals global
2426
npad = 15
2527
growrate = 2.0
@@ -91,10 +93,10 @@ def plate_fields(A, B, dx, dz, xc, zc, rotAng, sigplate, sighalf):
9193
survey = DC.survey.Survey([src])
9294

9395
problem = DC.Simulation3DCellCentered(
94-
mesh, survey=survey, sigmaMap=mapping, solver=Pardiso
96+
mesh, survey=survey, sigmaMap=mapping, solver=Solver
9597
)
9698
problem_prim = DC.Simulation3DCellCentered(
97-
mesh, survey=survey, sigmaMap=mapping, solver=Pardiso
99+
mesh, survey=survey, sigmaMap=mapping, solver=Solver
98100
)
99101

100102
primary_field = problem_prim.fields(mhalf)
@@ -293,7 +295,7 @@ def getSensitivity(survey, A, B, M, N, model):
293295

294296
survey = DC.Survey([src])
295297
sim = DC.Simulation3DCellCentered(
296-
mesh, sigmaMap=mapping, solver=Pardiso, survey=survey
298+
mesh, sigmaMap=mapping, solver=Solver, survey=survey
297299
)
298300
J = sim.getJ(model)[0]
299301

geoscilabs/dcip/DCWidgetResLayer2D.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,14 @@
1111
import matplotlib.patches as patches
1212
from scipy.constants import epsilon_0
1313
import copy
14-
from pymatsolver import Pardiso
14+
from simpeg.utils.solver_utils import get_default_solver
1515

1616
from ipywidgets import interact, IntSlider, FloatSlider, FloatText, ToggleButtons
1717

1818
from ..base import widgetify
1919

20+
Solver = get_default_solver()
21+
2022
# Mesh, sigmaMap can be globals global
2123
npad = 15
2224
growrate = 2.0
@@ -94,10 +96,10 @@ def model_fields(A, B, zcLayer, dzLayer, xc, zc, r, sigLayer, sigTarget, sigHalf
9496
survey = DC.Survey([src])
9597

9698
problem = DC.Simulation3DCellCentered(
97-
mesh, sigmaMap=sigmaMap, solver=Pardiso, survey=survey
99+
mesh, sigmaMap=sigmaMap, solver=Solver, survey=survey
98100
)
99101
problem_prim = DC.Simulation3DCellCentered(
100-
mesh, sigmaMap=sigmaMap, solver=Pardiso, survey=survey
102+
mesh, sigmaMap=sigmaMap, solver=Solver, survey=survey
101103
)
102104

103105
primary_field = problem_prim.fields(mhalf)
@@ -335,7 +337,7 @@ def getSensitivity(survey, A, B, M, N, model):
335337

336338
survey = DC.survey.Survey([src])
337339
problem = DC.Simulation3DCellCentered(
338-
mesh, survey=survey, sigmaMap=sigmaMap, solver=Pardiso
340+
mesh, survey=survey, sigmaMap=sigmaMap, solver=Solver
339341
)
340342
J = problem.getJ(model)
341343

geoscilabs/dcip/DCWidgetResLayer2_5D.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,16 @@
1313
from simpeg import maps, SolverLU, utils
1414
from simpeg.utils import extract_core_mesh
1515
from simpeg.electromagnetics.static import resistivity as DC
16-
from pymatsolver import Pardiso
16+
from simpeg.utils.solver_utils import get_default_solver
1717

1818
from discretize import TensorMesh
1919

2020
from ipywidgets import interact, IntSlider, FloatSlider, FloatText, ToggleButtons
2121

2222
from ..base import widgetify
2323

24+
Solver = get_default_solver()
25+
2426
# Mesh, sigmaMap can be globals global
2527
npad = 15
2628
growrate = 2.0
@@ -99,11 +101,11 @@ def model_fields(A, B, zcLayer, dzLayer, xc, zc, r, sigLayer, sigTarget, sigHalf
99101
src = DC.sources.Dipole([], np.r_[A, 0.0], np.r_[B, 0.0])
100102
survey = DC.Survey([src])
101103
sim = DC.Simulation2DCellCentered(
102-
mesh, survey=survey, sigmaMap=mapping, solver=Pardiso
104+
mesh, survey=survey, sigmaMap=mapping, solver=Solver
103105
)
104106
total_field = sim.fields(mtrue)
105107
sim_prim = DC.Simulation2DCellCentered(
106-
mesh, survey=survey, sigmaMap=mapping, solver=Pardiso
108+
mesh, survey=survey, sigmaMap=mapping, solver=Solver
107109
)
108110
primary_field = sim_prim.fields(mhalf)
109111

@@ -347,7 +349,7 @@ def getSensitivity(survey, A, B, M, N, model):
347349

348350
Src = DC.Survey([src])
349351
sim = DC.Simulation2DCellCentered(
350-
mesh, survey=Src, sigmaMap=mapping, solver=Pardiso
352+
mesh, survey=Src, sigmaMap=mapping, solver=Solver
351353
)
352354
J = sim.getJ(model)
353355

geoscilabs/dcip/DCWidget_Overburden_2_5D.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,12 @@
2525
from simpeg.utils import extract_core_mesh
2626
from simpeg.electromagnetics.static import resistivity as DC
2727

28-
from pymatsolver import Pardiso
28+
from simpeg.utils.solver_utils import get_default_solver
2929

3030
from ..base import widgetify
3131

32+
Solver = get_default_solver()
33+
3234
# Mesh, sigmaMap can be globals global
3335
npad = 12
3436
growrate = 2.0
@@ -165,13 +167,13 @@ def model_fields(A, B, mtrue, mhalf, mair, mover, whichprimary="air"):
165167
src = DC.sources.Dipole([], np.r_[A, surfaceA], np.r_[B, surfaceB])
166168
survey = DC.survey.Survey([src])
167169
problem = DC.Simulation2DCellCentered(
168-
mesh, survey=survey, sigmaMap=mapping, solver=Pardiso
170+
mesh, survey=survey, sigmaMap=mapping, solver=Solver
169171
)
170172
problem_prim = DC.Simulation2DCellCentered(
171-
mesh, survey=survey, sigmaMap=mapping, solver=Pardiso
173+
mesh, survey=survey, sigmaMap=mapping, solver=Solver
172174
)
173175
problem_air = DC.Simulation2DCellCentered(
174-
mesh, survey=survey, sigmaMap=mapping, solver=Pardiso
176+
mesh, survey=survey, sigmaMap=mapping, solver=Solver
175177
)
176178

177179
if whichprimary == "air":
@@ -307,7 +309,7 @@ def getSensitivity(survey, A, B, M, N, model):
307309

308310
Src = DC.Survey([src])
309311
sim = DC.Simulation2DCellCentered(
310-
mesh, survey=Src, sigmaMap=mapping, solver=Pardiso
312+
mesh, survey=Src, sigmaMap=mapping, solver=Solver
311313
)
312314
J = sim.getJ(model)[0]
313315

geoscilabs/dcip/DC_Pseudosections.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
import matplotlib.patches as patches
1919

2020
from discretize import TensorMesh
21-
from pymatsolver import Pardiso
21+
from simpeg.utils.solver_utils import get_default_solver
2222

2323
from simpeg import maps, SolverLU, utils
2424
from simpeg.electromagnetics.static import resistivity as DC
@@ -27,6 +27,7 @@
2727

2828
from ..base import widgetify
2929

30+
Solver = get_default_solver()
3031

3132
class ParametricCircleLayerMap(IdentityMap):
3233

@@ -167,7 +168,7 @@ def DC2Dsurvey(flag="PolePole"):
167168

168169
survey = DC.Survey(txList)
169170
simulation = DC.Simulation2DCellCentered(
170-
mesh, survey=survey, sigmaMap=mapping, solver=Pardiso
171+
mesh, survey=survey, sigmaMap=mapping, solver=Solver
171172
)
172173

173174
sigblk, sighalf, siglayer = 2e-2, 2e-3, 1e-3

geoscilabs/dcip/DC_cylinder.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
from matplotlib.path import Path
88
import matplotlib.patches as patches
99

10-
from pymatsolver import Pardiso
10+
from simpeg.utils.solver_utils import get_default_solver
1111
from discretize import TensorMesh
1212

1313
from simpeg import maps, utils
@@ -18,6 +18,8 @@
1818

1919
from ..base import widgetify
2020

21+
Solver = get_default_solver()
22+
2123
# Mesh, sigmaMap can be globals global
2224
npad = 15
2325
growrate = 2.0
@@ -88,10 +90,10 @@ def cylinder_fields(A, B, r, sigcyl, sighalf, xc=0.0, zc=-20.0):
8890

8991
# make two simulations for the seperate field objects
9092
sim_primary = DC.Simulation2DCellCentered(
91-
mesh, survey=survey, sigmaMap=sigmaMap, solver=Pardiso
93+
mesh, survey=survey, sigmaMap=sigmaMap, solver=Solver
9294
)
9395
sim_total = DC.Simulation2DCellCentered(
94-
mesh, survey=survey, sigmaMap=sigmaMap, solver=Pardiso
96+
mesh, survey=survey, sigmaMap=sigmaMap, solver=Solver
9597
)
9698

9799
primary_field = sim_primary.fields(mhalf)
@@ -194,7 +196,7 @@ def getSensitivity(survey, A, B, M, N, model):
194196

195197
Src = DC.Survey([src])
196198
sim = DC.Simulation2DCellCentered(
197-
mesh, survey=Src, sigmaMap=sigmaMap, solver=Pardiso
199+
mesh, survey=Src, sigmaMap=sigmaMap, solver=Solver
198200
)
199201
J = sim.getJ(model)[0]
200202

geoscilabs/em/HarmonicVMDCylWidget.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,8 @@
22
from discretize import CylindricalMesh, TensorMesh
33
from simpeg import maps, utils
44
from simpeg.electromagnetics import frequency_domain as fdem
5-
from pymatsolver import Pardiso
5+
from simpeg.utils.solver_utils import get_default_solver
66

7-
# from pymatsolver import PardisoSolver
87
import matplotlib.pyplot as plt
98
import numpy as np
109
from PIL import Image
@@ -16,6 +15,7 @@
1615
from .DipoleWidgetFD import DisPosNegvalues
1716
from .BiotSavart import BiotSavartFun
1817

18+
Solver = get_default_solver()
1919

2020
class HarmonicVMDCylWidget(object):
2121
"""FDEMCylWidgete"""
@@ -193,7 +193,7 @@ def simulate(self, srcLoc, rxLoc, freqs):
193193

194194
survey = fdem.survey.Survey(self.srcList)
195195
sim = fdem.Simulation3DMagneticFluxDensity(
196-
self.mesh, survey=survey, sigmaMap=self.mapping, mu=self.mu, solver=Pardiso
196+
self.mesh, survey=survey, sigmaMap=self.mapping, mu=self.mu, solver=Solver
197197
)
198198

199199
self.f = sim.fields(self.m)

0 commit comments

Comments
 (0)