fastalgorithms / chunkie

chunkie: A MATLAB integral equation toolbox
Other
27 stars 14 forks source link

chunkIE: a MATLAB integral equation toolbox

A MATLAB package for prototyping integral equation methods in two dimensions. While chunkie is primarily intended as a proto-typing or pedagogical tool, it is designed to be reasonably efficient and has been used to produce research-grade results.

At-a-glance:

Detailed documentation is being built here

Installing chunkIE

For other install options, see the documentation.

To compile from git, clone the repository with the submodules

git clone --recurse-submodules https://github.com/fastalgorithms/chunkie.git

and run startup.m in the install directory. This will download the FLAM and fmm2d submodules, include FLAM in the matlab path, and generate the fmm2d mex file if a fortran compiler exists.

For troubleshooting suggestions, see the documentation

Using chunkIE

Check out the chunkie/demo folder or the guide (under construction)

License

chunkIE is copyright 2024 the chunkIE team

chunkIE proper (the contents of the chunkie folder) is available under the terms of the BSD 3-clause license, which should have been included in the distribution (see chunkie/LICENSE.md)

chunkIE team

chunkIE has benefitted from the contributions of several developers: Travis Askham, Manas Rachh, Michael O'Neil, Jeremy Hoskins, Dan Fortunato, Shidong Jiang, Fredrik Fryklund, Hai Yang Wang, Hai Zhu, and Tristan Goodwill.

James Bremer and Zydrunas Gimbutas provided generalized Gaussian quadrature rules (chunkie/+chnk/+quadggq)

Many routines were modelled after parts of the legeexps.f library (Copyright Vladimir Rokhlin, Free BSD 3-clause), FMMLIB2D (Copyright Leslie Greengard and Zydrunas Gimbutas, Free BSD 3-clause), and Johan Helsing's RCIP tutorial

Citing this software

If you found this software useful, we ask that you please cite the following works

Contributing

Contributions are welcome. See the issues tab or create a new issue if there is something you're interested in bringing to chunkIE. See the wiki for more on the developer process.