Skip to main content

pyoomph - a multi-physics finite element framework based on oomph-lib and GiNaC

Project description

Description

pyoomph is a object-oriented multi-physics finite element framework. It is mainly a custom high level python frontend for the main functionalities (but by far not all) of the powerful C++ library oomph-lib.

For performance reasons, pyoomph uses GiNaC and CLN to automatically generate C code for the equations you have entered in python. It automatically generates C code for symbolically derived Jacobian matrices, parameter derivatives and Hessians. These even include the complicated derivatives with respect to the moving mesh coordinates on a symbolical level. The generated code is compiled and linked back to the running python script, either with the TinyC compiler (invoked by tccbox) or, when installed, with a more performant alternative like gcc, LLVM/clang or MSBuild.

If you want to use the full flexibility of oomph-lib, you are probably better suited using oomph-lib directly. If your want to use python to solve equations on a single static mesh, you might want to check out FEniCS instead. Also, have a look at NGSolve or nutils which have similar and complementary features. If you are looking for a python framework for multi-physics problems formulated on (potentially multiple) moving meshes, including the possibility of (azimuthal) bifurcation tracking, pyoomph might be the right choice for you.

pyoomph is still in an early stage of development: While most features work nicely, it is neither feature-complete, nor free of bugs.

Installation

Please consult the file INSTALL.md in the git repository for installation instructions. Alternatively, follow the instructions in our tutorial.

Documentation and Examples

Documentation of the API and tons of examples can be found at pyoomph.readthedocs.io. A PDF version of the tutorial is also available.

Some more examples can be found in our repository pyoomph_examples.

License

pyoomph itself is distributed as combined work under the GPL v3 license. However, mind the third-party licences stated below, in particular when distributing derived work or redistributing pyoomph. The full license file can be found in COPYING.

Third-Party-Licenses

The distribution of pyoomph contains code taken from other authors/projects:

The third-party licenses/acknowledgement files can be found in src/thirdparty. In the provided python wheels, these requirements are statically included.

During compilation, pyoomph includes/links against or makes use of the following libraries:

Beyond that, pyoomph makes use of the following libraries at runtime. During installation with pip, many (but not all) of these libraries are automatically fetched as requirements.

Be aware that some of these libraries can have further dependencies.

Authors and acknowledgements

pyoomph was founded in 2021 by Christian Diddens. Later, Duarte Rocha joined the team.

The authors gratefully acknowledge financial support by the Industrial Partnership Programme Fundamental Fluid Dynamics Challenges in Inkjet Printing of the Netherlands Organisation for Scientific Research (NWO) & High Tech Systems and Materials (HTSM), co-financed by Canon Production Printing Netherlands B.V., IamFluidics B.V., TNO Holst Centre, University of Twente, Eindhoven University of Technology and Utrecht University. This work was supported by an Industrial Partnership Programme, High Tech Systems and Materials (HTSM), of the Netherlands Organisation for Scientific Research (NWO); a funding for public-private partnerships (PPS) of the Netherlands Enterprise Agency (RVO) and the Ministry of Economic Affairs (EZ); Canon Production Printing Netherlands B.V.; and the University of Twente.

Contributing

If you want to contribute by e.g. adding new equations, meshes, problems, materials or additional features, get in contact with us or send us a pull request. If you encounter a bug, please also let us know at c.diddens@utwente.nl or d.rocha@utwente.nl.

How to cite

At the moment, just cite the following paper for pyoomph:

Christian Diddens and Duarte Rocha, Bifurcation tracking on moving meshes and with consideration of azimuthal symmetry breaking instabilities, J. Comput. Phys. 518, 113306, (2024), doi:10.1016/j.jcp.2024.113306.

Please mention that pyoomph is based on oomph-lib and GiNaC, i.e. also cite at least:

oomph-lib: M. Heil, A. L. Hazel, oomph-lib - An Object-oriented multi-physics finite-element library, Lect. Notes Comput. Sci. Eng. 53, 19-49, (2006), doi:10.1007/3-540-34596-5_2.

GiNaC: C. Bauer, A. Frink, R. Kreckel, Introduction to the GiNaC framework for symbolic computation within the C++ programming language, J. Symb. Comput. 33(1), 1-12, (2002), doi:10.1006/jsco.2001.0494.

Citing of material properties and activity models

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pyoomph-0.1.6-cp313-cp313-win_amd64.whl (4.9 MB view details)

Uploaded CPython 3.13Windows x86-64

pyoomph-0.1.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

pyoomph-0.1.6-cp313-cp313-macosx_10_13_x86_64.whl (5.1 MB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

pyoomph-0.1.6-cp312-cp312-win_amd64.whl (4.9 MB view details)

Uploaded CPython 3.12Windows x86-64

pyoomph-0.1.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

pyoomph-0.1.6-cp312-cp312-macosx_10_13_x86_64.whl (5.1 MB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

pyoomph-0.1.6-cp311-cp311-win_amd64.whl (4.9 MB view details)

Uploaded CPython 3.11Windows x86-64

pyoomph-0.1.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

pyoomph-0.1.6-cp311-cp311-macosx_10_9_x86_64.whl (5.0 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

pyoomph-0.1.6-cp310-cp310-win_amd64.whl (4.9 MB view details)

Uploaded CPython 3.10Windows x86-64

pyoomph-0.1.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

pyoomph-0.1.6-cp310-cp310-macosx_10_9_x86_64.whl (5.0 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

pyoomph-0.1.6-cp39-cp39-win_amd64.whl (4.9 MB view details)

Uploaded CPython 3.9Windows x86-64

pyoomph-0.1.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.4 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

pyoomph-0.1.6-cp39-cp39-macosx_10_9_x86_64.whl (5.0 MB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

File details

Details for the file pyoomph-0.1.6-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: pyoomph-0.1.6-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 4.9 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pyoomph-0.1.6-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 4e9a1748c4e97133fe7e0df19aeb3534b13c8a9fedd479274e06b1c7a8c6ea85
MD5 64ee011f78df3cefee53bb74becf75c8
BLAKE2b-256 f10e28f2c5f7124704fe3ac5f28f336a90231f834fa445c1d95a29ae22e3b5e3

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyoomph-0.1.6-cp313-cp313-win_amd64.whl:

Publisher: wheels.yml on pyoomph/pyoomph

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyoomph-0.1.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyoomph-0.1.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f38af1bb7a7086048a3e5a46732c693f38a0a686d40565235534653944545df2
MD5 f2d5904eb722ca303077fce01c5a87f4
BLAKE2b-256 8c90dbff54e81801d4658dc50fa452e7c10d97ab9dccd0b034d50b7d43e9f83e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyoomph-0.1.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: wheels.yml on pyoomph/pyoomph

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyoomph-0.1.6-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for pyoomph-0.1.6-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 8cf3f0dc4065f2f034d0e1a8f515831470e39c3c1c3282a30865167b89dbfb91
MD5 52cbe26388a8fdfb7b2f06f38fb3bf98
BLAKE2b-256 012626f5913e57a2cfcedfadc99344e354b3dd19bf9284f7bbcef708565cb969

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyoomph-0.1.6-cp313-cp313-macosx_10_13_x86_64.whl:

Publisher: wheels.yml on pyoomph/pyoomph

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyoomph-0.1.6-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: pyoomph-0.1.6-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 4.9 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pyoomph-0.1.6-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 ccdd07216020e2fb06b6aea9f68254c6bd9088bd2aaf6bcf4f4c9236ce5ac68f
MD5 f40faf45d78bd86930ebd6b9d49abef3
BLAKE2b-256 1baa5f7f2741cb7d88d0c9078b605f886f1145496619be91d14e358404822fa7

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyoomph-0.1.6-cp312-cp312-win_amd64.whl:

Publisher: wheels.yml on pyoomph/pyoomph

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyoomph-0.1.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyoomph-0.1.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fef0e2ecc3f9bb31668e243380e2511b97c139067edb3045e6dfd20f1530ed69
MD5 cd0b37bf9f0051fdd840e809ba58d958
BLAKE2b-256 df4c988d668cd6bcff5691d4321a206190ac3cdb2c707886b03c23f6f346c798

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyoomph-0.1.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: wheels.yml on pyoomph/pyoomph

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyoomph-0.1.6-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for pyoomph-0.1.6-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 b47796af24007e5acd527f6bc885dd33607306f69e9901f1ed4dac964ba6e036
MD5 ae3cbfd88475f72090e22cdda8ce701b
BLAKE2b-256 64d0ae7606524b11208bcc2f1f267eb8b7a50d143c33c353f15656d79523324b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyoomph-0.1.6-cp312-cp312-macosx_10_13_x86_64.whl:

Publisher: wheels.yml on pyoomph/pyoomph

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyoomph-0.1.6-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: pyoomph-0.1.6-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 4.9 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pyoomph-0.1.6-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d9f5a0b0fa80f3130679c26ecc1318e2b931b6f37b7b7a632a0fc20f3035fe14
MD5 14be7f4a9af54c9c7dfcc8ef11b72089
BLAKE2b-256 19f80cf803a034425ac765ee2d01e939cea7cc5fec8a581eb4c34dba33d8b4c6

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyoomph-0.1.6-cp311-cp311-win_amd64.whl:

Publisher: wheels.yml on pyoomph/pyoomph

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyoomph-0.1.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyoomph-0.1.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 dee2a075d6a629dae986f3c3915e1e0115a4344ce64cabdf28f75e7f20f10e37
MD5 b04e2861902840adce4446a6402c2707
BLAKE2b-256 d9425a1c355368f3a4f7bd74eae1d8abef6a1e2bd8a52cdca4c4c5dc90826267

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyoomph-0.1.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: wheels.yml on pyoomph/pyoomph

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyoomph-0.1.6-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyoomph-0.1.6-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 8533ffa691147b21b4312396eba6b73ab53c9cdfa691ce92817cd961badd0a0a
MD5 a42b42538ca767d7572b8b10a8bedf2a
BLAKE2b-256 08a72a874741bf349f91d21cb06a279c8a54c1c52571d2d451173a74f5c6abc3

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyoomph-0.1.6-cp311-cp311-macosx_10_9_x86_64.whl:

Publisher: wheels.yml on pyoomph/pyoomph

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyoomph-0.1.6-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: pyoomph-0.1.6-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 4.9 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pyoomph-0.1.6-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 fd08ddff30435c11a3136883fa3b589a176c7a07c85698227f9189b0b2faff1f
MD5 c8a60bab9098fea62a90d9393f15ab7e
BLAKE2b-256 12b1c79ddb79b50fbf7ba0ec74f525f72f46ac5ee28c8cebec06741515365f2e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyoomph-0.1.6-cp310-cp310-win_amd64.whl:

Publisher: wheels.yml on pyoomph/pyoomph

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyoomph-0.1.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyoomph-0.1.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d91f572cb494c610d8aaf8d2f4c840faa21934915553825763599fc6c049b6d6
MD5 29c50ea63a81504bc81ce9545b92320d
BLAKE2b-256 c3a7032cf707f6461d55974e26f240837dd37e9253538d9ab5b4beb31671439f

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyoomph-0.1.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: wheels.yml on pyoomph/pyoomph

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyoomph-0.1.6-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyoomph-0.1.6-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c8297cebba3a14b0931332133f805bbc9e31f872cf7db1602c044a2b12978b77
MD5 919fcc4acd5545cba4a80844ee6fa1f3
BLAKE2b-256 bacb527103ebbcd30f36b42d0b07ae58f7c4fee31bd7f0075f37ae60b1d800c4

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyoomph-0.1.6-cp310-cp310-macosx_10_9_x86_64.whl:

Publisher: wheels.yml on pyoomph/pyoomph

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyoomph-0.1.6-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: pyoomph-0.1.6-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 4.9 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pyoomph-0.1.6-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 c30a84884ccc58f8b08483245b970eb00f76d72790e17bda68d0b2e4e0de2396
MD5 07a78d7aa3381608fe5112a32eeeebb0
BLAKE2b-256 3085ece26dec5958bf8e5e6effd5c5aca5de88db4e772d2f9c7acd525ca3dc4c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyoomph-0.1.6-cp39-cp39-win_amd64.whl:

Publisher: wheels.yml on pyoomph/pyoomph

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyoomph-0.1.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyoomph-0.1.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e3c8fe6b8d114e943f8f20eb0811736ac81aad80d86daeaf85853de059f57a13
MD5 a33aa43e1e545f40406d9c811c69d86b
BLAKE2b-256 cf2b92d416220886ca464dd853e1d4f42be751aa90a09bccff5a5c86277fe869

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyoomph-0.1.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: wheels.yml on pyoomph/pyoomph

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyoomph-0.1.6-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyoomph-0.1.6-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 152eb4a08dbff12c9126285d75b8dd850302142106d6932dbfd73f76e3124349
MD5 4eebc81c25909510a7bd01a6c4a1ee9f
BLAKE2b-256 891c88dd086896e68c64f90341592e844729ada39913e3201deb1831ce5e4f6c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyoomph-0.1.6-cp39-cp39-macosx_10_9_x86_64.whl:

Publisher: wheels.yml on pyoomph/pyoomph

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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