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.7.0). 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.7.0.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.7.0-cp314-cp314-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.14Windows x86-64

pyfe3d-0.7.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (12.6 MB view details)

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

pyfe3d-0.7.0-cp314-cp314-macosx_10_15_universal2.whl (2.9 MB view details)

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

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

Uploaded CPython 3.13Windows x86-64

pyfe3d-0.7.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (12.7 MB view details)

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

pyfe3d-0.7.0-cp313-cp313-macosx_10_13_universal2.whl (2.9 MB view details)

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

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

Uploaded CPython 3.12Windows x86-64

pyfe3d-0.7.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (12.3 MB view details)

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

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

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

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

Uploaded CPython 3.11Windows x86-64

pyfe3d-0.7.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (12.1 MB view details)

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

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

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

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

Uploaded CPython 3.10Windows x86-64

pyfe3d-0.7.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (11.7 MB view details)

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

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

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

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

Uploaded CPython 3.9Windows x86-64

pyfe3d-0.7.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (11.7 MB view details)

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

pyfe3d-0.7.0-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.7.0.tar.gz.

File metadata

  • Download URL: pyfe3d-0.7.0.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.7.0.tar.gz
Algorithm Hash digest
SHA256 85cc52f39a52235c71cc2d0e022b8f44c0ed6343f9cfcfb49d48aeabd89891ad
MD5 f9bba60c668e9db6ef7f73e06c36bfb6
BLAKE2b-256 320b438e631fe0ede339a3808600a782bd797b4768ce9fd3f47bf1d02ca110a1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyfe3d-0.7.0-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.7.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 70ab1289b2c0b718d232386a7db28c1b5773dcef0d2c2966249c7a93848ef831
MD5 3ee0f45ebec29f7e021e7e8d5080904d
BLAKE2b-256 5679f59df50c7656c84dfea3db8ef7f7ffff900c7899df606db5f701668cc2dd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyfe3d-0.7.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 04cb80480732b0d32d66373fe1d517aedae7278710f2192bd50e0bfa4d01f136
MD5 9d00d0a17a911a08039a23e623404746
BLAKE2b-256 7d24d0af0ddc25d5e2a1507635703fbfdfe14c67edce6566c6e7f5a394ee032a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyfe3d-0.7.0-cp314-cp314-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 e2eea672070d1e3188ceba74db0795ce72aaff43561b38d17591651c454bd43a
MD5 3e33159541f969905aafcfb4ea2fc16a
BLAKE2b-256 abdf82fb8643f3b28b91c5773d7dce30f79a8686adb961e0d5947cd307de5831

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyfe3d-0.7.0-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.7.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 4db042c0f484fda66e765bae48f860b6d864c0c406fa041791121d8f7817c7a3
MD5 7ed32090bb2ea6ff2765df8d9eb11f6b
BLAKE2b-256 71fa8ba3ca161f74eb7b01a6311cf4c9ec02453b791e88863543b5efaeda981f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyfe3d-0.7.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 baa609789ed12697aa88f5dab054d088b81bb0101c1813918e5994fd3ae49e1c
MD5 5c9b80d107b1ac20422ba83a7b59fa56
BLAKE2b-256 99e3520f77b4598cb86557425ac725beacd8e617c2f97bcb6789a4ed4bce9afb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyfe3d-0.7.0-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 28b4fa2f488685486a132ee79bdedd0a08f2f384b0243c67b21f00ef6af19305
MD5 bccbb4bb8e1925dcae5f977cc8bd9553
BLAKE2b-256 7b82e406d288e739c0f6f825a568a5c8d9cb039bdbbdef4be1367c86b79b882c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyfe3d-0.7.0-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.7.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 f0cc8603f914c768a2ca92979a583544e7c7bab9c0345de4759df3d96e0e1ffa
MD5 405144358cfdd53ba07c0dccc9f9c652
BLAKE2b-256 3102231812903d0fe9a3a31dcccd77b9906b118ebe1b7f5418fb95fba4729577

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyfe3d-0.7.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8fa4331593671b995c59ceff62c177059e7f082bff2f8d79a5e10a798d7236cc
MD5 90386eac6eb6fbfcbf6b40c16ca09f1e
BLAKE2b-256 b359382ebbcf1bdc8671db54c01d46b276491d6417d176c25d18c8aeb277f4da

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyfe3d-0.7.0-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 4f53f234b47b69d528eae518a6b9a5dc695742bd0026e6cc6f67e70908814d95
MD5 45ecd7f5b34232b8fa4215f2ddf9b266
BLAKE2b-256 a27b160e981d8c1799b3c0de9509e3c97c23d4ae3370ead9b7c2c69dc1ea5cb9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyfe3d-0.7.0-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.7.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 74c0ffd551beafdd97ae8e98011868b395bca722cac89b8e1e9728d11de9f50a
MD5 ec95aa5484a1272e3318d5f0de286933
BLAKE2b-256 f1911a9556bc5e811b975ecdb1e4b6440e3db2d0256a1c73e79d5a989eee6a0a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyfe3d-0.7.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 abb522052a8e80b2683ad9d18b984077c9fdea55aa718a2b90f72b1de301c706
MD5 0a515e08815321aba1ed487a02814c81
BLAKE2b-256 849911e30ff2ffd0d0db6f6d9734a807675ad205c6c145a6112c75e957134ac0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyfe3d-0.7.0-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 101f0bc58d145b478dc996ed3574a974bd1159ddad779500f1b95abcf5ce5a17
MD5 003605eec35b938591de0452ecb37640
BLAKE2b-256 a13d38bc344994df187ceebb999a7d7287b009aee6a1c5d0a1a56677a415be7a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyfe3d-0.7.0-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.7.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 9be891148ea6f07f31d6d353276c5c38add4d87d9703f984ef1cd0dd13356ab8
MD5 09b7b991826126745eccad9c349390a4
BLAKE2b-256 6450c3e50f7df109010865b4ba5412d49e8b55d0ec6efbc4bf0b207e17210255

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyfe3d-0.7.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c93c2ce593c86fa8c7cb7a9145ae5213f30b4aaf2ece3cc3070f7864deb3c335
MD5 5ad8f3a109fb9288747bd6a78995f118
BLAKE2b-256 1f8e02e02e99e0ba3b0ea7c5624ab636cfc64622e378fc7ffc076adcb225a479

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyfe3d-0.7.0-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 74f00b1f51181d3e250aaefb3701a0628aec828c9f31e2cbe6e1139d5009541f
MD5 6c102faf5f3443efd8bc496d68a816ab
BLAKE2b-256 4e2ba186aace5eebabb67f534e2ad0d2662ffbe4aafbfb29d85974ea38828ec2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyfe3d-0.7.0-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.7.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 7911f8367edbb6a55bcc264c43472e16e2149ba8930a9bb07426d10aeba7e9d7
MD5 55a8cd29914ceaa7ca5caa0242f476ed
BLAKE2b-256 25bc734ab1c04a1ec3fa56ff8b7bb0cd0c85015a683dc973a603f1290b877f6a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyfe3d-0.7.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 51e5ed481ad5b53f1727db1353ff3a300cadacc2d2ca6491723c569d07aa4f40
MD5 f9cca45bef8c1324d01b781d9fec8c34
BLAKE2b-256 02c142c4b1fe3dfab47286cdc7ac5340e4f0b4710c41e53885c036dd6e627b5a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyfe3d-0.7.0-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 0474b6bb76b636604707d883c1fba98e7202ec6254e67754a16773a7f54bbb11
MD5 eec43725ca456dd1f1da5a3f2b562ea0
BLAKE2b-256 19961bbb24852a648013800d5a67b65441c037b6361b40f12454d79e004b85b6

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