Skip to main content

General-purpose finite element solver for structural analysis and optimization based on Python and Cython

Project description

General-purpose finite element solver - pyfe3d

Github Actions status:

Actions Status

Coverage status:

Codecov Status

About pyfe3d

The pyfe3d module is a general-purpose finite element solver for structural analysis and optimization based on Python and Cython. The main principles guiding the development of pyfe3d are: simplicity, efficiency and compatibility. The aimed level of compatibility allows one to run this solver in any platform, including the Google Colab environment.

Citing this library

Saullo G. P. Castro. (2026). General-purpose finite element solver based on Python and Cython (Version 0.6.4). Zenodo. DOI: https://doi.org/10.5281/zenodo.6573489.

Documentation

The documentation is available on: https://saullocastro.github.io/pyfe3d.

Important features of this library

  • efficient and simple for linear and nonlinear analyses
  • importable and cimportable code
  • 6 degrees-of-freedom per node

Available finite elements

  • 'Quad4' - 4-node plate with linear interpolation, equivalent to Nastran's CQUAD4. The recommended quadrilateral plate element.

  • 'Quad4R' - 4-node plate with linear interpolation, equivalent to Abaqus' S4R. It has a not very robust hourglass control.

  • 'Tria3R' - 3-node plate with linear interpolation, equivalent to Abaqus' S3R or Nastran's CTRIA3.

  • 'BeamC' - 2-node Timoshenko beam element with consistent shape functions and analytical integration. The recommended beam element.

  • 'BeamLR' - 2-node Timoshenko beam element with linear interpolation and reduced integration.

  • 'Spring' - 2-node spring element with 6 stiffenesses defined in the element coordinate system.

  • 'Truss' - 2-node truss element with only axial and torsion stiffness. I recommend using the BeamLR instead, which is physically more consistent.

Installing pyfe3d

First, you should try to install from the distributed binaries by simply doing:

python -m pip install pyfe3d

If a distribution could not be found, you can try to install from the source code using:

python -m pip install .

Another alternative is the following:

python -m pip install -r requirements.txt
python setup.py install

If none of the above alternatives worked for you, this link shares some information on how to set up a C compiler on different operating systems:

https://cython2.readthedocs.io/en/latest/src/quickstart/install.html

License

Distrubuted under the 3-Clause BSD license (https://raw.github.com/saullocastro/pyfe3d/main/LICENSE):

Copyright (c) 2021-2026, Saullo G. P. Castro (S.G.P.Castro@tudelft.nl)
All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Contacts:

Project details


Download files

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

Source Distribution

pyfe3d-0.6.4.tar.gz (3.1 MB view details)

Uploaded Source

Built Distributions

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

pyfe3d-0.6.4-cp314-cp314-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.14Windows x86-64

pyfe3d-0.6.4-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (12.5 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

pyfe3d-0.6.4-cp314-cp314-macosx_10_15_universal2.whl (2.8 MB view details)

Uploaded CPython 3.14macOS 10.15+ universal2 (ARM64, x86-64)

pyfe3d-0.6.4-cp313-cp313-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.13Windows x86-64

pyfe3d-0.6.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (12.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

pyfe3d-0.6.4-cp313-cp313-macosx_10_13_universal2.whl (2.8 MB view details)

Uploaded CPython 3.13macOS 10.13+ universal2 (ARM64, x86-64)

pyfe3d-0.6.4-cp312-cp312-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.12Windows x86-64

pyfe3d-0.6.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (12.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

pyfe3d-0.6.4-cp312-cp312-macosx_10_13_universal2.whl (2.8 MB view details)

Uploaded CPython 3.12macOS 10.13+ universal2 (ARM64, x86-64)

pyfe3d-0.6.4-cp311-cp311-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.11Windows x86-64

pyfe3d-0.6.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (12.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

pyfe3d-0.6.4-cp311-cp311-macosx_10_9_universal2.whl (2.8 MB view details)

Uploaded CPython 3.11macOS 10.9+ universal2 (ARM64, x86-64)

pyfe3d-0.6.4-cp310-cp310-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.10Windows x86-64

pyfe3d-0.6.4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (11.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

pyfe3d-0.6.4-cp310-cp310-macosx_10_9_universal2.whl (2.8 MB view details)

Uploaded CPython 3.10macOS 10.9+ universal2 (ARM64, x86-64)

pyfe3d-0.6.4-cp39-cp39-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.9Windows x86-64

pyfe3d-0.6.4-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (11.6 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

pyfe3d-0.6.4-cp39-cp39-macosx_10_9_universal2.whl (2.8 MB view details)

Uploaded CPython 3.9macOS 10.9+ universal2 (ARM64, x86-64)

File details

Details for the file pyfe3d-0.6.4.tar.gz.

File metadata

  • Download URL: pyfe3d-0.6.4.tar.gz
  • Upload date:
  • Size: 3.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for pyfe3d-0.6.4.tar.gz
Algorithm Hash digest
SHA256 f4929704b979747ffaf0a669f2875fd737ab520e4c223024286a0fcbdccc6ae5
MD5 b3aacadb51a7d07a4ce370e38ee270bc
BLAKE2b-256 7e3abee4379a4ed79d0a9b88c060e942b85af9ef2407a63e342d453858f39cb8

See more details on using hashes here.

File details

Details for the file pyfe3d-0.6.4-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: pyfe3d-0.6.4-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for pyfe3d-0.6.4-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 27ffddf5d6a7eb1ce3888bf360bdbe48ea3f3d8bf7a4dedc9bbd334973152895
MD5 6ef218d773515d90e2dabdcd8c7f5f37
BLAKE2b-256 111adf456a2f1a42382e68645a5ac066a32d7560faf312686c83cd65375ab357

See more details on using hashes here.

File details

Details for the file pyfe3d-0.6.4-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyfe3d-0.6.4-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 cd4d4dbf3dc795bb5798b86226bd2e2ff2c3ac23fad28ad22cf63dee06cbefec
MD5 6cb61e44b2016d70c320f15f6ee40a4e
BLAKE2b-256 385a02c48b8913709009079cd7a82a63f293318fe0f9b9253be56d809f43e58c

See more details on using hashes here.

File details

Details for the file pyfe3d-0.6.4-cp314-cp314-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for pyfe3d-0.6.4-cp314-cp314-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 5c12ef44cbb4fd0fe419d45db35aa75432e3949e16c2304fd7bce59992ae4b60
MD5 d8d4898fc958c1de2792ae52989f9943
BLAKE2b-256 56202db5b94ff6f02dc5f5c8630a9803fba4b238e13388bbe9dc741b15a7f212

See more details on using hashes here.

File details

Details for the file pyfe3d-0.6.4-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: pyfe3d-0.6.4-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.14

File hashes

Hashes for pyfe3d-0.6.4-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 22c80d649b059d04b0c0a5bb145ac226c1c409185ca5b7350e6acece2b96a71c
MD5 13b0a6788573b4fd16df52914865be94
BLAKE2b-256 b8263aa97fab2360ee25d5f74dd4a00cbcdeacfcbb6a168a1f6edd649f2917a7

See more details on using hashes here.

File details

Details for the file pyfe3d-0.6.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyfe3d-0.6.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0a759149f81bbd72fe447c5f6bd51f1a9612bbbffd4bcae3f1342af5c21e0ecf
MD5 eea5577bddf1ae8cd83977b291103b95
BLAKE2b-256 06628ccd0a540f8198a727a90cb71d55bbcf692f04da61894ca011b9dd05820e

See more details on using hashes here.

File details

Details for the file pyfe3d-0.6.4-cp313-cp313-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for pyfe3d-0.6.4-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 21317978e2a0b4bff4ef7dece9a0eabb8233b67077a600c1545326422b7adf5f
MD5 a04ecd9124703ab05cca1641427bbd85
BLAKE2b-256 e43b12a298d6291f29c0aef13298d0f9e7df0f6d39c33b700ab3d90c011ed6cc

See more details on using hashes here.

File details

Details for the file pyfe3d-0.6.4-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: pyfe3d-0.6.4-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for pyfe3d-0.6.4-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 6146b11ad27af4240107704318c919d42d92c520e625053e37d39a0e92c07d17
MD5 37c22152d945b2a4ed68b99b75372a74
BLAKE2b-256 0ffc8e7d036d50053d31daf4143548def94c07a1cd5e3cf7cd62a067e56b5ca0

See more details on using hashes here.

File details

Details for the file pyfe3d-0.6.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyfe3d-0.6.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4572abdf8e3fb640e7e2130ffe66bebdb24057ca6cdd7da4a72f8ed4c35ba1fa
MD5 0fd712beec48b506af1c7cb08204ee43
BLAKE2b-256 6b8fdcc354044ed547e20d0639c72bfdf062defda98e331a16d91ea9b1c6ac95

See more details on using hashes here.

File details

Details for the file pyfe3d-0.6.4-cp312-cp312-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for pyfe3d-0.6.4-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 a6fab3fe7d04c7e9c22aabe77400b51abfc0cd66f3d13fa94c628957a2671fde
MD5 ffd4fed6b05bcfa141692573fa9b123b
BLAKE2b-256 23c8c15df867d3b8f96087b2284685f01599921147f70cda50867647b2be578f

See more details on using hashes here.

File details

Details for the file pyfe3d-0.6.4-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: pyfe3d-0.6.4-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for pyfe3d-0.6.4-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 5e23b752bee273ac1fac2e371f4df086ec46fb0683215d5a240be57f535213d9
MD5 d2172dcd7934f030e10b3adf90ac11f2
BLAKE2b-256 9bf0aa5e5aea6a34a23c1b1d5706662545900ac54815ad5dd4bffef331ace193

See more details on using hashes here.

File details

Details for the file pyfe3d-0.6.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyfe3d-0.6.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 dd139ec568a5d0242d42e5eaa1fc3c15164cb4fd2bc5627b63257f85578e0d38
MD5 f144eaafc381dfae08323033a10dc4a0
BLAKE2b-256 1eae21f6ed9aa25ae855d5d6aec9364b27998ae0939a738844e855b07fb3fdae

See more details on using hashes here.

File details

Details for the file pyfe3d-0.6.4-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for pyfe3d-0.6.4-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 7c7ac5a432f25a8ac48f31583be4e693133a914a06ba9814a91f7d50e7840a40
MD5 40a16d4bd6356312eacaa1db0d81423d
BLAKE2b-256 678273627c857db511000aea79f89f30d674fd1b40f984af05a99259873d1025

See more details on using hashes here.

File details

Details for the file pyfe3d-0.6.4-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: pyfe3d-0.6.4-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.11

File hashes

Hashes for pyfe3d-0.6.4-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 104cc6d6540e8fb24398f7245d45a8ebf5526e8de1d2a44a80f95c1e288c6dc6
MD5 2092714a0ebd6c50db9d731d0b952d3d
BLAKE2b-256 290878eb671e219c6e65f090a25c5a6c340f020125bc945194047fd864702c5b

See more details on using hashes here.

File details

Details for the file pyfe3d-0.6.4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyfe3d-0.6.4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7eabc5f560238cffbfd81ed3ef84554ac8d1b9e6666eeb5f6396c1d42a132771
MD5 7c1000db583a5095e904972c4eff279c
BLAKE2b-256 ac055a55bacfb31b2212866258fd2dae356517e0b5d8bcf4f05defb0402e2414

See more details on using hashes here.

File details

Details for the file pyfe3d-0.6.4-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for pyfe3d-0.6.4-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 0846d5f890416c020f678dfc024fef964c71a3b26bc50ce0f93b7c5f1d32dcba
MD5 7e7da411a142866ed73147bea853ac76
BLAKE2b-256 5eff91da427048ab4da7da67e3361c6bbdb34e885cb9d7b7593a2e2244d54127

See more details on using hashes here.

File details

Details for the file pyfe3d-0.6.4-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: pyfe3d-0.6.4-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.13

File hashes

Hashes for pyfe3d-0.6.4-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 8a6540545c1d14b44fa526ccca40a9e662b83a853f131346fa0d90a371cdf576
MD5 7ab39619918758fc990aaafc7c9ffc8c
BLAKE2b-256 49a4540b2911db0e351c7a6066b9024a2c1a894b94d110d667aefe8ac9a78690

See more details on using hashes here.

File details

Details for the file pyfe3d-0.6.4-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyfe3d-0.6.4-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 35719fce9fc00ad82b14650a2c619d901ec92b316aff0638689308807d104355
MD5 091fd24393bb1c1ab13e6a2f9166a378
BLAKE2b-256 dd34af84e9925adac6561a511bd8edeadf0f8e3a90acc92791776e99564899b5

See more details on using hashes here.

File details

Details for the file pyfe3d-0.6.4-cp39-cp39-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for pyfe3d-0.6.4-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 11fdd65e538b27150fffe2f80d50613c8468e3fa21296bcb7fadd32c63e3c903
MD5 e54c406082b8559065656d24ab64da1e
BLAKE2b-256 7aec1f590bfecc7c4401f6fdc190907cd2a82ee5f5abb284488c7c8259c2cf9a

See more details on using hashes here.

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