simpeg / pymatsolver

Solve matrix equations in python.
https://pymatsolver.readthedocs.io/en/latest/
MIT License
33 stars 16 forks source link

Changes to get pymatsolver and mumps setup on my Mac. #4

Closed micmitch closed 7 years ago

micmitch commented 8 years ago

Messy but I am now able to call: from pymatsolver import MumpsSolver

In the f2py call in the makefile my system does not recognize the include file directories. For now I modified mumps_interface.f90 to have full pathnames for include files. This must be a problem with our syntax for the f2py command since these include directories are properly linked in the gfortran calls...

Not sure how to fix or clean this up.

also had to add the following to my system path variable /usr/local/lib/i386

From the pymatsolver directory containing setup.py simply ran python setup.py build_ext --inplace

Ran the SimPEG example EM_TDEM_ID_Inversion.py using the MumpsSolver to test it. Results looked quite reasonable.

from pymatsolver import AvailableSolvers AvailableSolvers {'DiagonalSolver': True, 'Mumps': True, 'TriangleFortran': False, 'TrianglePython': True}

Still not getting 'TriangleFortran' but now have mumps. A step in the right direction.

rowanc1 commented 7 years ago

I have removed the mumps stuff. My suggestion is to use Paradiso. The old code is in https://github.com/rowanc1/pymatsolver-mumps

sschnug commented 7 years ago

@rowanc1 It's really sad to see Mumps gone. While i did not have success with the setup at first trial, i considered it the most important use-case of this project just because of the performance/license connection.

rowanc1 commented 7 years ago

I have brought this back in #16. I have updated it to work on my current mac.

With Paradiso working well with conda installs, I was prioritizing ease of install over keeping mumps. you are right to note that we might as well keep it in. Thanks for bugging me on this!

Cheers, Rowan

rowanc1 commented 7 years ago

@sschnug this should now be updated. Let me know if it is working for you, or if you have any improvements to suggest for the makefile.