Skip to content

Latest commit

 

History

History
115 lines (85 loc) · 4.99 KB

README.md

File metadata and controls

115 lines (85 loc) · 4.99 KB

FORbID

GitHub tag Join the chat at https://gitter.im/giacombum/FORbID

License License License License

Status GitHub issues

FORbID, FORtran Integral Definite solver

  • FORbID is a pure Fortran (KISS) library for numerical integration of definite integrals;
  • FORbID is Fortran 2008+ standard compliant;
  • FORbID is OOP designed;
  • FORbID is a Free, Open Source Project.

Table of Contents

What is FORbID?

With modern Fortran standards (2003+) introduction, is possible to develop a KISS and lightweight library for numerical integration of definite integrals using the new features of Object Oriented Programming like Abstract Data Type (ADT).

Go to Top

Main features

FORbID is aimed to be a KISS-pure-Fortran library for numerical integration of definite integrals.

  • Pure Fortran implementation;
  • KISS and user-friendly:
    • simple API, presently based on the Rouson's Abstract Data Type Pattern [2];
    • easy building and porting on heterogeneous architectures;
  • comprehensive integrators set out-of-the-box [1]:
    • Newton-Cotes interpolation formulas;
      • trapezoidal rule;
      • Cavalieri-Simpson's rule;
      • Cavalieri-Simpson's 3/8 rule;
      • Boole's rule;
      • Newton-Cotes' 6 points rule;
      • Newton-Cotes' 7 points rule;
      • Newton-Cotes' 8 points rule;
      • Newton-Cotes' 9 points rule;
      • Newton-Cotes' 10 points rule;
      • Newton-Cotes' 11 points rule;
      • Romberg's method.
    • Gaussian quadrature formulae:
      • Gauss-Legendre formula;
      • Gauss-Kronrod formula;
      • Gauss-Chebyshev formula;
      • Montecarlo schemes for multidimensional function;
      • acceleration methods;
    • Integration formulas of interpolatory type:
      • Fejér interpolation formula;
      • Clenshaw-Curtis interpolation formula;
    • Adaptive quadrature
      • Adaptive Newton-Cotes integration;
      • Adaptive Gaussian integration;
  • efficient:
    • high scalability on parallel architectures:
      • support for shared memory multi/many cores architecture;
      • support for distributed memory cluster;
  • Tests-Driven Developed (TDD):
  • well documented:
    • clear documentation of schemes implementations;
    • comprehensive wiki:
  • collaborative developed on GitHub;
  • FOSS licensed;

Any feature request is welcome.

Bibliography

[1] Methods of Numerical Integration, Davis, P. J., Rabinowitz, P., 1984, Academic Press.

[2] Scientific Software Design: The Object-Oriented Way, Rouson, Damian and Xia, Jim and Xu, Xiaofeng, 2011, ISBN 9780521888134, Cambridge University Press, New York, NY, USA.

Status Status

FORbID project is just started.

We are searching for Fortraners enthusiast joining our team.

Copyrights

FORbID is an open source project, it is distributed under a multi-licensing system:

Anyone is interest to use, to develop or to contribute to FORbID is welcome, feel free to select the license that best matches your soul!

More details can be found on wiki.

Go to Top

Documentation

Besides this README file the FORbID documentation is contained into its own wiki. Detailed documentation of the API is contained into the GitHub Pages that can also be created locally by means of ford tool.

Go to Top