Skip to main content

Numerical integration technique

Project description

https://raw.github.com/saullocastro/cubature/master/cubature_logo.png

Cubature

Build status

Coverage

What is Cubature?

It is a numerical integration technique. From MathWorld, Ueberhuber (1997, p. 71) and Krommer and Ueberhuber (1998, pp. 49 and 155-165) use the word “quadrature” to mean numerical computation of a univariate integral, and “cubature” to mean numerical computation of a multiple integral.

Python wrapper for the Cubature package

From the Nanostructures and Computation Wiki at MIT, Steven W. Johnson has written a simple C package for adaptive multidimensional integration (cubature) of vector-valued functions over hypercubes and this is a Python wrapper for the referred C package.

Installation

Installation from source code …

You must have Cython installed. Then do:

python setup.py install

or (usually in Linux):

python3 setup.py install

Installation from pip repository …

Just do:

pip install cubature

or (usually in Linux):

pip3 install cubature

Running the tests

To run the tests you will have to download the source code. After installing as explained above, go to the source code root folder and run:

py.test .

The Python wrapper has been proven using test integrands from the C package and some additional testing functions from Genz. The integrands were implemented in Cython and verified with Mathematica.

Citing this Python wrapper for Cubature

We kindly ask you to cite this Python library properly. Also, it would be helpful if you could cite the papers where this methods has been applied as well.

Castro, S.G.P.; Loukianov, A.; et al. “Python wrapper for Cubature: adaptive multidimensional integration”. DOI:10.5281/zenodo.2541552. Version 0.14.3, 2020.

Citing Papers using this Python wrapper for Cubature

Used to integrate tangent stiffness matrices in computational solid mechanics

Castro, S.G.P. et al. “Evaluation of non-linear buckling loads of geometrically imperfect composite cylinders and cones with the Ritz method”. Composite Structures, Vol. 122, 284-299, 2015.

Castro, S.G.P. et al. “A semi-analytical approach for linear and non-linear analysis of unstiffened laminated composite cylinders and cones under axial, torsion and pressure loads”. Thin-Walled Structures, Vol. 90, 61-73, 2015.

Examples

Some examples are given in ./examples.

Fork me!

You are welcome to fork this repository and modify it in whatever way you want. It will also be nice if you could send a pull request here in case you think your modifications are valuable for another person.

License

This wrapper follows the GNU-GPL license terms of Steven G. Johnson described in the C Package.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for cubature, version 0.14.5
Filename, size File type Python version Upload date Hashes
Filename, size cubature-0.14.5-cp36-cp36m-win_amd64.whl (10.6 MB) File type Wheel Python version cp36 Upload date Hashes View
Filename, size cubature-0.14.5-cp37-cp37m-win_amd64.whl (10.6 MB) File type Wheel Python version cp37 Upload date Hashes View
Filename, size cubature-0.14.5-cp38-cp38-win_amd64.whl (10.6 MB) File type Wheel Python version cp38 Upload date Hashes View
Filename, size cubature-0.14.5.tar.gz (15.6 MB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page