Skip to main content

Github Actions status: pytest Deploy

Coverage status: codecov Codecov Status

Implementation of the BFSC cylinder finite element

  • Single-curvature BFSC (SC-BFSC) element: a four-node element of the developed mid-surface of a cylindrical shell
  • Donnell-type kinematics, BFSCCylinder, and Sanders-Koiter type kinematics, BFSCCylinderSanders
  • Linear statics: [KC0]{u} = {f}
  • Linear buckling: ([KC0] + lambda[KG]){u} = 0, with [KG] of the membrane stress resultants of a static solution or of a constant membrane stress state
  • Natural frequencies: ([KC0] - omega^2[M]){u} = 0
  • Geometrically nonlinear statics: internal force vector and tangent stiffness matrix [KC0] + [KCNL] + [KG], its exact Jacobian
  • Follower pressure, normal to the deformed shell: force vector and unsymmetric load stiffness matrix
  • The contributions of each element are written in sparse arrays; the model, its boundary conditions and the solution of its equations are written by the user, with NumPy and SciPy

The ABD matrices of the laminates are calculated with my other repository composites, the tests and usage examples solve the nonlinear analyses with structsolve, and the tutorials model the stringers of stiffened cylinders with bfscplate2d.

Citing this library

Saullo G. P. Castro (2026). Implementation of the BFSC cylinder finite element (Version 0.7.1). https://github.com/saullocastro/bfsccylinder.

Documentation

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

History

See CHANGELOG.md for the details of each version.

  • version 0.7.1 (2026-11-03)
    • Tutorial and tests of the Riks method deep into the post-buckling of the axially compressed cylinder of Simo, Fox and Rifai (1990)
    • Tutorial and tests of the cantilever cylinders of Schweizerhof and Ramm (1984) under a follower external pressure: linear buckling with the unsymmetric load stiffness matrix, Table 4, and Riks with the inertia count
    • Requires structsolve>=0.10.0
  • version 0.7.0 (2026-10-26)
    • Follower pressure, for both kinematics: update_fext_follower and update_KCfollower, the force vector and the unsymmetric load stiffness matrix of a pressure normal to the deformed mid-surface
    • BUG: update_M of the Sanders-type element uses the rotation -w,y + v/R in the rotary inertia
    • BUG: the constructors of BFSCCylinder and BFSCCylinderSanders set init_k_KCNL, which a second call of a constructor left at its previous value
    • Deterministic and verified natural frequency tests
    • Sphinx documentation, with a user guide, usage examples, the solution of the analyses with structsolve.Analysis and tutorials of stringer-stiffened cylinders
    • The tests solve the nonlinear analyses with structsolve.Analysis, requiring structsolve>=0.9.3
    • Metadata in pyproject.toml; Python 3.10 to 3.14
  • version 0.6.1 (2026-09-25)
    • Cython compiler flags
  • version 0.6.0 (2026-09-11)
    • Fixed the tangent stiffness matrix, now the derivative of the internal force vector, for both kinematics
    • Fixed update_KC0 of the Sanders-type element, which missed a part of the twisting curvature
  • version 0.5.1 (2026-08-27), including 0.5.0
    • Fixed the bending part of the Sanders-type equations
    • Shape functions renamed from N to S
    • Python 3.14 support
  • versions 0.4.1 to 0.4.8 (2024-09-25 to 2025-11-25)
    • Fixed the compatibility with integer numbers; updated continuous integration and deployment
  • version 0.4.0 (2023-04-12)
    • Removed the dependency on the NumPy C API
  • version 0.3.12 (2021-12-04), including 0.3.11
    • Fixed the nonlinear terms, where v was missing, and fint, which included terms of KG
  • version 0.3.0 (2021-11-03)
    • Sanders-type kinematics: BFSCCylinderSanders, in bfsccylinder.sanders
  • version 0.2.3 (2021-10-04), including 0.2.2
    • 3-Clause BSD license
  • version 0.2.0 (2021-05-26)
    • Geometrically nonlinear analyses: update_KCNL and update_fint
  • version 0.1.1 (2020-08-22)
    • First tagged version: BFSCCylinder, with update_KC0, update_KG, update_KG_constant_stress and update_M

License

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

Contact: S.G.P.Castro@tudelft.nl

Metadata

Release files for bfsccylinder 0.7.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for bfsccylinder 0.7.1
File Size Uploaded Provenance Actions
bfsccylinder-0.7.1.tar.gz 3.5 MB Without provenance Details for bfsccylinder-0.7.1.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for bfsccylinder 0.7.1
File Actions
bfsccylinder-0.7.1-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details for bfsccylinder-0.7.1-cp314-cp314-win_amd64.whl
bfsccylinder-0.7.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details for bfsccylinder-0.7.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
bfsccylinder-0.7.1-cp314-cp314-macosx_10_15_universal2.whl CPython 3.14 CPython 3.14 macOS 10.15+ universal2 (ARM64, x86-64) Details for bfsccylinder-0.7.1-cp314-cp314-macosx_10_15_universal2.whl
bfsccylinder-0.7.1-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for bfsccylinder-0.7.1-cp313-cp313-win_amd64.whl
bfsccylinder-0.7.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details for bfsccylinder-0.7.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
bfsccylinder-0.7.1-cp313-cp313-macosx_10_13_universal2.whl CPython 3.13 CPython 3.13 macOS 10.13+ universal2 (ARM64, x86-64) Details for bfsccylinder-0.7.1-cp313-cp313-macosx_10_13_universal2.whl
bfsccylinder-0.7.1-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for bfsccylinder-0.7.1-cp312-cp312-win_amd64.whl
bfsccylinder-0.7.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details for bfsccylinder-0.7.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
bfsccylinder-0.7.1-cp312-cp312-macosx_10_13_universal2.whl CPython 3.12 CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64) Details for bfsccylinder-0.7.1-cp312-cp312-macosx_10_13_universal2.whl
bfsccylinder-0.7.1-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for bfsccylinder-0.7.1-cp311-cp311-win_amd64.whl
bfsccylinder-0.7.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 Details for bfsccylinder-0.7.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
bfsccylinder-0.7.1-cp311-cp311-macosx_10_9_universal2.whl CPython 3.11 CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64) Details for bfsccylinder-0.7.1-cp311-cp311-macosx_10_9_universal2.whl
bfsccylinder-0.7.1-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details for bfsccylinder-0.7.1-cp310-cp310-win_amd64.whl
bfsccylinder-0.7.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details for bfsccylinder-0.7.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
bfsccylinder-0.7.1-cp310-cp310-macosx_10_9_universal2.whl CPython 3.10 CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64) Details for bfsccylinder-0.7.1-cp310-cp310-macosx_10_9_universal2.whl

Total release size: 93.2 MB

Release files / bfsccylinder-0.7.1.tar.gz

Download URL bfsccylinder-0.7.1.tar.gz
Size 3.5 MB
Tags Source
SHA-256 checksum
How to use checksums
ab06f8417b091cbc4d85ddfb50337df7431167c7f43ba92dd9607c1887d87333
BLAKE2b-256 checksum
How to use checksums
2e6ede1af26ed898fac29ff9b35218d340b63db0ae4d0e4a7f471c20987e4135
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.9

Release files / bfsccylinder-0.7.1-cp314-cp314-win_amd64.whl

Download URL bfsccylinder-0.7.1-cp314-cp314-win_amd64.whl
Size 4.8 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
80baeccaa2f2e1c61e6e2f41f7cea5e211c7191aff5616c99cf2b18e12f13dbb
BLAKE2b-256 checksum
How to use checksums
26f42640cd8917c93406e0c9bdffa9f5b556425b9ebad8d3d8a81695ff066a3f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.10

Release files / bfsccylinder-0.7.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL bfsccylinder-0.7.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 7.4 MB
Tags CPython 3.14 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
4025c49f1e83c07f097f2d75b966caed63d5ade7dcea6925c6ae8bb53dbaef20
BLAKE2b-256 checksum
How to use checksums
9207a73c04799179c8ef98e1654feae835978997c3dbdccdf8da19b3b85d4d73
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.9

Release files / bfsccylinder-0.7.1-cp314-cp314-macosx_10_15_universal2.whl

Download URL bfsccylinder-0.7.1-cp314-cp314-macosx_10_15_universal2.whl
Size 5.8 MB
Tags CPython 3.14 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
cd0db3481213a13c141cb7762d5c1b37f423821e1ee098039ef250479aa992a3
BLAKE2b-256 checksum
How to use checksums
351342e97d8e220961ac4ea4d5b1d4cd00edc8a9e0445a2d4480700a48f0672f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.10

Release files / bfsccylinder-0.7.1-cp313-cp313-win_amd64.whl

Download URL bfsccylinder-0.7.1-cp313-cp313-win_amd64.whl
Size 4.8 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
140d618945a314b30201cd71fe75bb6ed33efbaf4be311d5bbc1faf8bfeceee7
BLAKE2b-256 checksum
How to use checksums
2753f229a9b7b354deb1edac2f639f62526040ee587dc7abfe56c84d8176941f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.17

Release files / bfsccylinder-0.7.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL bfsccylinder-0.7.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 7.4 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
6a9ba3b9922e38c0065d1731e6be812cc79c8c3c10dcb6e67a6312ada4b341e5
BLAKE2b-256 checksum
How to use checksums
ea8cb1d0c3f5d639a1f228d4d0159622fe729dd0194b0f4b40c7c76043b5c7d7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.9

Release files / bfsccylinder-0.7.1-cp313-cp313-macosx_10_13_universal2.whl

Download URL bfsccylinder-0.7.1-cp313-cp313-macosx_10_13_universal2.whl
Size 5.7 MB
Tags CPython 3.13 macOS 10.13+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
b69931005fff62050a026bf7c7fff8260598d296f0d5aa569c369961f9231914
BLAKE2b-256 checksum
How to use checksums
7e5828874d5b8aea146275fad942005556ff36b7f8952b835c0e51f266a4eccb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.17

Release files / bfsccylinder-0.7.1-cp312-cp312-win_amd64.whl

Download URL bfsccylinder-0.7.1-cp312-cp312-win_amd64.whl
Size 4.8 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
44cd541b8750c1418dc25093d49ab6127000b5a3095dfce0a815667257e9d559
BLAKE2b-256 checksum
How to use checksums
2a228fdb4258dd9593df91f3a74e609615b0b9d86f7544927fe94aa82dc437b6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.10

Release files / bfsccylinder-0.7.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL bfsccylinder-0.7.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 7.5 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
25393fad3f7ef0387bbc706ab471ac5db0780b9cef8df1efed27055c2a5f2e61
BLAKE2b-256 checksum
How to use checksums
a871576c9d7d9a7cc6ca9aab765feb0690d8c9fea30e5fff108d1c8e0285d818
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.9

Release files / bfsccylinder-0.7.1-cp312-cp312-macosx_10_13_universal2.whl

Download URL bfsccylinder-0.7.1-cp312-cp312-macosx_10_13_universal2.whl
Size 5.7 MB
Tags CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
8a3df508680c672ba849e663641270271260be9a5d21acea353d47e5185b62a9
BLAKE2b-256 checksum
How to use checksums
87f9c7e28914f220c81ef3e770ad4522acea3b895f89ee9d8f144067ebaf5f25
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.10

Release files / bfsccylinder-0.7.1-cp311-cp311-win_amd64.whl

Download URL bfsccylinder-0.7.1-cp311-cp311-win_amd64.whl
Size 4.8 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
56995639db31d7cf36947d153676520a19f60f97f230f6aeaee2d1fd001ae116
BLAKE2b-256 checksum
How to use checksums
b57a49fca41e2bc82aa8fcfc3e83f66f386b59d13f5ea9678dab85a2e5665783
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.9

Release files / bfsccylinder-0.7.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL bfsccylinder-0.7.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 7.3 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
717be0e6329f86a14eeacf775d3e97941b7a30dced7d0b32b00f872a15632e29
BLAKE2b-256 checksum
How to use checksums
d5c53f2cf7e74978a0d6b1a169b76671c5d09fb1aa864cb94293088d12f82f8c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.9

Release files / bfsccylinder-0.7.1-cp311-cp311-macosx_10_9_universal2.whl

Download URL bfsccylinder-0.7.1-cp311-cp311-macosx_10_9_universal2.whl
Size 5.7 MB
Tags CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
bdbea5964b81d1a896baf63ccd7fe3aded5872bd7e3e7ca8c0423e6a7af26200
BLAKE2b-256 checksum
How to use checksums
46eb91a17fcfc45d1f68a91849164ce0079c051772559c200ca1eca5bd7765c0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.9

Release files / bfsccylinder-0.7.1-cp310-cp310-win_amd64.whl

Download URL bfsccylinder-0.7.1-cp310-cp310-win_amd64.whl
Size 4.8 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
3272017917568232057dce51b633d607c8767484c081d36a2e019806295e785a
BLAKE2b-256 checksum
How to use checksums
c07c1486a0628e5b6463f2c0775791fe3ccb26314e502b0279cd3f95e6a6c5f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.11

Release files / bfsccylinder-0.7.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL bfsccylinder-0.7.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 7.2 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
c177ee9b9722ac7cf353554bda7f7ae44d8e89b8db9b9958d8a1c8f5b06c370c
BLAKE2b-256 checksum
How to use checksums
c7b473de67983a4a2f6befc3623af8a81873d715bdb9a580b66e8e6ecf84d31d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.9

Release files / bfsccylinder-0.7.1-cp310-cp310-macosx_10_9_universal2.whl

Download URL bfsccylinder-0.7.1-cp310-cp310-macosx_10_9_universal2.whl
Size 5.7 MB
Tags CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
a61c85309b4537a509ea1d9dd432e499e7adb66c89376553f51e8f797e8f0305
BLAKE2b-256 checksum
How to use checksums
723e26b1f8866c4e716c7bbdc2d67ad2815591303b56e6fba66fcd1416838df5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.11

Security for bfsccylinder 0.7.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page