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. (2025). General-purpose finite element solver based on Python and Cython (Version 0.6.2). 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-2025, 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.2.tar.gz (2.9 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.2-cp313-cp313-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.13Windows x86-64

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

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

pyfe3d-0.6.2-cp312-cp312-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.12Windows x86-64

pyfe3d-0.6.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

pyfe3d-0.6.2-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.2-cp311-cp311-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.11Windows x86-64

pyfe3d-0.6.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

pyfe3d-0.6.2-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.2-cp310-cp310-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.10Windows x86-64

pyfe3d-0.6.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

pyfe3d-0.6.2-cp310-cp310-macosx_10_9_universal2.whl (2.7 MB view details)

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

pyfe3d-0.6.2-cp39-cp39-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.9Windows x86-64

pyfe3d-0.6.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.8 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

pyfe3d-0.6.2-cp39-cp39-macosx_10_9_universal2.whl (2.7 MB view details)

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

pyfe3d-0.6.2-cp38-cp38-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.8Windows x86-64

pyfe3d-0.6.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.9 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

pyfe3d-0.6.2-cp38-cp38-macosx_11_0_universal2.whl (2.7 MB view details)

Uploaded CPython 3.8macOS 11.0+ universal2 (ARM64, x86-64)

File details

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

File metadata

  • Download URL: pyfe3d-0.6.2.tar.gz
  • Upload date:
  • Size: 2.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyfe3d-0.6.2.tar.gz
Algorithm Hash digest
SHA256 b2a1b03945da6b150c39a214550ccc6962cc1f0e814ca96252aff48f1bf06fc9
MD5 23c26594dd11b226636164eb60413137
BLAKE2b-256 b37d13b2d5b54635afd08cd7bd4fa1a317dbfa08ae4fe7c1b157f074b1f9416e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyfe3d-0.6.2-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.1.0 CPython/3.13.7

File hashes

Hashes for pyfe3d-0.6.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 b2d3b3b74b82f13dfaa4884c235eb1221692d94cf2804f92235c521f78980392
MD5 6a1ee477280260fa78ba779a33bce7e9
BLAKE2b-256 813018223a4f720ab27c090df9f6435dc3e55e7abde33ab545e98002de99c0dd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyfe3d-0.6.2-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 9d38a348d0aa330e229da52674d9e5ac2850c3be5ba80f81bc006e05efa3b906
MD5 d0f9ed896edaf27187f9fdbe79206024
BLAKE2b-256 b31be40ffb892d63e7eced1f72abcc3cfeb47e7387c11d793eaad04699c745e3

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pyfe3d-0.6.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 4c51f7919e260ca5b60ce5521d89866a0801dcd0fcdccb1bb12c11b70523c3bc
MD5 0312acc0bb5f6dfa375b01b60d0eb0f6
BLAKE2b-256 b28354a11ef1871f2b1fd7705e986d9efc8b350d773977d4ec763d5329097375

See more details on using hashes here.

File details

Details for the file pyfe3d-0.6.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyfe3d-0.6.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f01f2f71285e136bd0a69ff73321e7ec645cf1335ec5ae9e465f8f7e2cc08a8e
MD5 e6555159ba79157c050621363eb380c9
BLAKE2b-256 6802bb8cb455849fb645c9ed11e0555330d14bc781b63cb1bc5c66443cb0f26c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyfe3d-0.6.2-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 68514d1fcb19d6795aaa13294f0b2a669bc2a968f53bd0cb521474f37e2cd0ad
MD5 99f2c9c14d5ea05b5ad4141fe16a8ca5
BLAKE2b-256 9fb222261e36361aea1b6cddfd86a1e35932c8e2debb0683177a56b28281f2e6

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pyfe3d-0.6.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 19d31a17ace1070c24d7d3b1069ef2b7e5ac0872bc593a0df5b999db26b653f8
MD5 d283a9be46b3a139f4c59bea08aa7f31
BLAKE2b-256 425fc7c00ffad219e51fb939cc5339e3426ea5ddbde25d17d57a8c9be1a87eba

See more details on using hashes here.

File details

Details for the file pyfe3d-0.6.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyfe3d-0.6.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 25ed2da961ec2614d687c4ecbb6f3b789d22f85b2379d565899e183b694c06b7
MD5 5a3f2871630699f2f6e16aa37f69f924
BLAKE2b-256 e661bcc480e391fc62741d2091b5cad32764afe98b5fcd90d49cac52a4909023

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyfe3d-0.6.2-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 b29a4e44b7d16ca224393353e3945709171614077360daa06dec38be226015de
MD5 b05e07752088e9430010a08a611b2ada
BLAKE2b-256 0014fd851c09958e0d335fbe4e52c03ace8e9d04923e3c040243363bcf5a4e0f

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pyfe3d-0.6.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 6e9fc5ef73a2bffcd15379467a69f75e2d9564c3b6558f814cea3e6548fc17ca
MD5 1d1370f97bf708d43830525b1dffccdb
BLAKE2b-256 6b8376a58545d4e05ec601529e31467ed1fc3f10195f586b8efd4119afbe26dd

See more details on using hashes here.

File details

Details for the file pyfe3d-0.6.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyfe3d-0.6.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1b89d1a59a3816469d37fec468feb924276b18394b8861fd673e956da7789a7a
MD5 deeb1b7f4e8c3f9bdb8c3811573f03b1
BLAKE2b-256 434f3803e8a387b2744053f686406f68688aa4fcbb05ee6a6239e6737caec56d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyfe3d-0.6.2-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 ed13c70d6d0ff47f0b278af835c9cbe3f3fb8cfa6a07bcfc6f586adf0e3eb48c
MD5 3755ea5de8f72d2b96bf50d699df0d3f
BLAKE2b-256 54fce20343be1077b8e620b210a9bb308c26e8b7602b9b6907ca1792bbd1466b

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pyfe3d-0.6.2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 e194cc17c638771617a647c64e8c0e5b3fccb1c4e2d23845909b6287d453ee36
MD5 086936d91b039fb9578c112e5de7746f
BLAKE2b-256 ed84c3df7c2e17dafce37ac16172bd7ebbe833bf8f45f2b7569d422086bc4380

See more details on using hashes here.

File details

Details for the file pyfe3d-0.6.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyfe3d-0.6.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d846756317fb2bea6cf8de359c8456dec242e4cce5c1a5d15b5c4b5f0ae72ad3
MD5 03b4ee27272e188b7f78a661ba3b8ce2
BLAKE2b-256 a9bcbcd58bfd2466b2d40af6d8638123dc21157c345d1d456d15d4f7f2c22d60

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyfe3d-0.6.2-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 4adb80829e4dbac75e48175bc474cac050c68e33d5b5684ed28dc424a6bd6607
MD5 b06e21a48c20f5e851c10791d22a88ae
BLAKE2b-256 a32467deae8cfcd75d2d6bffa683041b4dd65b595f169b6fb67cf3736c6a02de

See more details on using hashes here.

File details

Details for the file pyfe3d-0.6.2-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: pyfe3d-0.6.2-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.10

File hashes

Hashes for pyfe3d-0.6.2-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 ea8a55b69c89cb7b33cd1db3fad309b118c7378e4f56dafbfd224da6856b0499
MD5 65c2668f07d34d46119934d96a7bc17d
BLAKE2b-256 51dbc27da022e0c5711d28dbff44b77f1970cd59ae7d35454a1e63a11d2970d7

See more details on using hashes here.

File details

Details for the file pyfe3d-0.6.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyfe3d-0.6.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3c19a37b92418ca2b322a5b097ca99d4b11b225aab23f2c09312b3558210460d
MD5 0177777a0cdc7a7f4e310ef5cc8dcca4
BLAKE2b-256 789afb6ecb430a04a066c05d53f47e1c3654cce27f18d775f42051084be8dd21

See more details on using hashes here.

File details

Details for the file pyfe3d-0.6.2-cp38-cp38-macosx_11_0_universal2.whl.

File metadata

File hashes

Hashes for pyfe3d-0.6.2-cp38-cp38-macosx_11_0_universal2.whl
Algorithm Hash digest
SHA256 9a1f8c8bec403a753eea76ca1a8c2624c6b9ea54d7ee8f96820f23dcfcc68f40
MD5 b13f4dc0066522e451db6f5867d9616e
BLAKE2b-256 127ef3e30bfb79b1912b30358ac0112bf78311b24172f9a606da38b59e7d2379

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