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.4-cp313-cp313-win_amd64.whl (4.7 MB view details)

Uploaded CPython 3.13Windows x86-64

pyoomph-0.1.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

pyoomph-0.1.4-cp313-cp313-macosx_10_13_x86_64.whl (4.9 MB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

pyoomph-0.1.4-cp312-cp312-win_amd64.whl (4.7 MB view details)

Uploaded CPython 3.12Windows x86-64

pyoomph-0.1.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

pyoomph-0.1.4-cp312-cp312-macosx_10_13_x86_64.whl (4.9 MB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

pyoomph-0.1.4-cp311-cp311-win_amd64.whl (4.7 MB view details)

Uploaded CPython 3.11Windows x86-64

pyoomph-0.1.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

pyoomph-0.1.4-cp311-cp311-macosx_10_9_x86_64.whl (4.9 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

pyoomph-0.1.4-cp310-cp310-win_amd64.whl (4.7 MB view details)

Uploaded CPython 3.10Windows x86-64

pyoomph-0.1.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

pyoomph-0.1.4-cp310-cp310-macosx_10_9_x86_64.whl (4.9 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

pyoomph-0.1.4-cp39-cp39-win_amd64.whl (4.7 MB view details)

Uploaded CPython 3.9Windows x86-64

pyoomph-0.1.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.2 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

pyoomph-0.1.4-cp39-cp39-macosx_10_9_x86_64.whl (4.9 MB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: pyoomph-0.1.4-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 4.7 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for pyoomph-0.1.4-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 e8fcdfbbbb4d6ef0d829a8245ff8407a0e66b23ed817f28c4cd8c0d865f24e97
MD5 c2531b33e5249c5d84d01dd0294dbd61
BLAKE2b-256 faebccafd9eaac9b8617d37ad02a28119fa62be0343511e44ce3a7aeeb0175db

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyoomph-0.1.4-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.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyoomph-0.1.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f8797081e157160fe443f66698e65134e83da82e8f27332058395b5fb6503670
MD5 a4c487626400df8e6dac2925ccd88b5a
BLAKE2b-256 51403f3d87f0b21e7980becb22a33e82876f7bd419360878d93a676cf17f2cec

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyoomph-0.1.4-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.4-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for pyoomph-0.1.4-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 78955c3c37c98a13f87485f3c60f3439fca045998b85aed325aa3f59224d51d4
MD5 457f2f01e9e2c063e984a404946584e5
BLAKE2b-256 0802e3ac0868baa70ebe6d44bcefc1e26a7f976fff7aa57d23ccdbb2b243b4ab

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyoomph-0.1.4-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.4-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: pyoomph-0.1.4-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 4.7 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for pyoomph-0.1.4-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 d6dc1ba4d07abd7940529cc8df2a2e4c0d221d44b163d6ffbe4124276c92c1c1
MD5 6232106237e317668b1538eb93805886
BLAKE2b-256 70788dda13c916e7d0c26909251feebcbf4a709a96064249b644f554d59706d6

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyoomph-0.1.4-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.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyoomph-0.1.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1804625dec8b3b026cdc6c5467c94ec12488da0be46e08537eb969f6631ff63f
MD5 0e256ceaf2e3e360c726c295a35b3f97
BLAKE2b-256 273807076f16bdc7c6ce2bcf0b82e13d7324f9ceac0e54f4a108396b4c369d84

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyoomph-0.1.4-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.4-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for pyoomph-0.1.4-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 b9f2e20ff75d2e5a6ae250d63af89b49218a64e89b4a60cff529c192857c89ad
MD5 46104e336e45f85ca2994d31b1d1b743
BLAKE2b-256 1caf12cd1c3a9fe94cc1cfb5ca44199083ac146628661bb6826893c1d8b32320

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyoomph-0.1.4-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.4-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: pyoomph-0.1.4-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 4.7 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for pyoomph-0.1.4-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 bf0bd3d1eabb358c36f678da4f587baeca0405ce545be0dba10f4c18dfed2f2b
MD5 bb0949c062950edccb80acc79b434f6f
BLAKE2b-256 e029ecb6ea6dae1fa146eafffdf3b6d9fc994da2131d9b70e173f52d440aafe0

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyoomph-0.1.4-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.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyoomph-0.1.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ee38ef6ff2b9a7f52aa32d976b9c4c87d200182621a5ba577219c29130194b4a
MD5 4144fabf62ab5fcfbbe42f5e5233ae89
BLAKE2b-256 18bc8fd45c53f04e8fedea6f47d1d43530abac3d2bdc3848707eb5fe45b9f099

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyoomph-0.1.4-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.4-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyoomph-0.1.4-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 59743101f75cfdc3f29859c6a581c802305fbda282d060efc3509a34cefc388b
MD5 2e271a92e51b9cdccfeb8c7ee622675f
BLAKE2b-256 3d0d74057402f400801ebb0d09adb1c6cddcff71143c81ce62b5c2a004a5449f

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyoomph-0.1.4-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.4-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: pyoomph-0.1.4-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 4.7 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for pyoomph-0.1.4-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 824e5ba30a90e1e9a64cfd07edab38b39a57471e3f93740ad63f5c61eafe86b1
MD5 93969dde6f879247c53d389ce9f2ab23
BLAKE2b-256 2a0f04e95e8a12e97c0450c8592b7e62364458b4863d6aafad48d1a14d8bf626

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyoomph-0.1.4-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.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyoomph-0.1.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 25368c8c8201214fa0e1e34a4c32f53a8533684a7cba3f0afa6d18f115cf5cce
MD5 875ea39eb0d1b5c0931373a4e7fa2685
BLAKE2b-256 b6f1c3f2e6458b56a155c5dd1be8dd08d53a9d92f12ca3c012d205ba80cba950

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyoomph-0.1.4-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.4-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyoomph-0.1.4-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a56b22f8daf6bc7e27ea4386666ec0c5a1504b7b86da84afccf08dc594337bc2
MD5 2d6a7f1eefacfca7d073cc8ffbae07cb
BLAKE2b-256 edbfb3882b552a27208210340275c7ea6d48354fa9744c2e098ceb5e6969eb31

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyoomph-0.1.4-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.4-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: pyoomph-0.1.4-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 4.7 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for pyoomph-0.1.4-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 313262d88f7beb82b1f24093a36eea7da7ceebb8eeefb98f38521c37cbb2dda8
MD5 88620c1a1d3efe82dee194b0a38ac434
BLAKE2b-256 72cf4cb8ab364da6d911dfa35f9dddbfb0c07cf6e4852bfb4f17070261ba5f2d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyoomph-0.1.4-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.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyoomph-0.1.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 09b49e43d7afa67c6f3ff3a619938c3a56e3c95137da833dfc3d9c813cfbdda5
MD5 97c65b4a95437a61cc3b7ac0792e0537
BLAKE2b-256 9376273797c9ad28c5a34e40a10d7ba80d54d51f986b04abdcc5ec19c15b5032

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyoomph-0.1.4-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.4-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyoomph-0.1.4-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d3f206ea6d0491f6302de779be93b86525fed17cba442ca41276c2b51388bc9a
MD5 98cc2dc026f0d313baf31402b69b7110
BLAKE2b-256 52071e640827b9e9062f4aa7a51409fa3ce480eb352d68519be231822488b643

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyoomph-0.1.4-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