Skip to main content

Emperical Method of Fundamental Solutions solver for Python.

Project description

empirical README

Getting Started

Check out the examples directory; initial development will focus on getting these working first.

Getting the latest version

If the pypi releases are not up-to-date enough for your tastes, or if you’d like to see how the development is moving along, visit https://bitbucket.org/dhild/empirical

Why does this project exist?

The focus of this project is to create a reduced basis solver for collocation problems. Initially, the collocation problems will be formulated using the method of fundamental solutions, but ideally the framework will allow for easy extension to other collocation formulations as well.

There is an existing solver for a variety of methods using MATLAB codes, called mpspack. (See the ‘Thanks’ section for details). The mfs code base is basically a port of this code to Python.

Since mpspack is available under the GPLv3, there should be no legal issues with creating a Python version. It should be a benefit to the mathematical world to make code like this more widely available. Unfortunately, since this project has no official affiliation with mpspack, or its creators Alex Barnett and Timo Betcke, it will make it harder to keep up with any updates or additions to their library. At the time of inception for this library, I used the 1.31 version of mpspack.

The biggest reason to port mpspack to Python is the fact that Python is free, and MATLAB is expensive. For my Master’s thesis, I need to use their code, but I also need to run it a huge number of times. While my school does have MATLAB, I did not find it simple to get MATLAB to run in parallel. This problem seems to stem from the fact that each running process must have it’s own license; my school does not have an unlimited number of such licenses, and even if they did, I have had lots of trouble getting it to work.

The speed impacts are not anticipated to be significant; numpy benchmarks do not typically have much difference from similar MATLAB code.

Thanks

Special thanks to Alex Barnett and Timo Betcke, for their MPSPACK software.

Originally, much of the code base is based upon their project, which they have distributed MATLAB codes for under the GPLv3. They have a fantastic design and a well documented, maintained, and complete package, at https://code.google.com/p/mpspack/

Changelog

0.1

  • Added a few more example scripts.

  • Added many more unit tests.

  • Restructured package layout (and changed name).

0.0

  • Initial version

What works:

  • The examples/tut_scatt.py script is a port of the mpspack script of the same name. While it is slightly different in some ways, it does successfully calculate a plane wave scattering problem, and display the resultant fields.

  • All of the unit tests written so far run successfully. However, there is only 60% coverage with these, and even that is not a thorough coverage of all the methods called.

Project details


Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page