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.0). 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.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.0

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.0
File Size Uploaded Provenance Actions
bfsccylinder-0.7.0.tar.gz 3.5 MB Without provenance Details for bfsccylinder-0.7.0.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for bfsccylinder 0.7.0
File Actions
bfsccylinder-0.7.0-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details for bfsccylinder-0.7.0-cp314-cp314-win_amd64.whl
bfsccylinder-0.7.0-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.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
bfsccylinder-0.7.0-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.0-cp314-cp314-macosx_10_15_universal2.whl
bfsccylinder-0.7.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for bfsccylinder-0.7.0-cp313-cp313-win_amd64.whl
bfsccylinder-0.7.0-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.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
bfsccylinder-0.7.0-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.0-cp313-cp313-macosx_10_13_universal2.whl
bfsccylinder-0.7.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for bfsccylinder-0.7.0-cp312-cp312-win_amd64.whl
bfsccylinder-0.7.0-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.28+ x86-64, Linux glibc 2.17+ x86-64 Details for bfsccylinder-0.7.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
bfsccylinder-0.7.0-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.0-cp312-cp312-macosx_10_13_universal2.whl
bfsccylinder-0.7.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for bfsccylinder-0.7.0-cp311-cp311-win_amd64.whl
bfsccylinder-0.7.0-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.17+ x86-64, Linux glibc 2.28+ x86-64 Details for bfsccylinder-0.7.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
bfsccylinder-0.7.0-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.0-cp311-cp311-macosx_10_9_universal2.whl
bfsccylinder-0.7.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details for bfsccylinder-0.7.0-cp310-cp310-win_amd64.whl
bfsccylinder-0.7.0-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.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
bfsccylinder-0.7.0-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.0-cp310-cp310-macosx_10_9_universal2.whl

Total release size: 93.2 MB

Release files / bfsccylinder-0.7.0.tar.gz

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

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

Download URL bfsccylinder-0.7.0-cp314-cp314-win_amd64.whl
Size 4.8 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
cb3001560cb053a2d0d38dcf53e85e8fb52af2934b8140ea6ea3f05af53104f1
BLAKE2b-256 checksum
How to use checksums
8d6f52c23bde5fe4107c0f80f56dd70fd301b791e4872fd48d4794d0e235f9dd
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.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL bfsccylinder-0.7.0-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
afd33ef989701e7e38fa183facd47ba42c51d15db88db268386f4bfd9bf7c201
BLAKE2b-256 checksum
How to use checksums
412da85f2ebcbf6c7cc6bde23b3897807af598917b1d8619e42e733c76321519
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

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

Download URL bfsccylinder-0.7.0-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
8fc36566a4d5010994abbf4cce62e77581ddab3c45add1da667ae0b4b5659b27
BLAKE2b-256 checksum
How to use checksums
cbe74c08523bb822d9452be20db91e85d29246bfd46b446758301d48159fc9bb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

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

Download URL bfsccylinder-0.7.0-cp313-cp313-win_amd64.whl
Size 4.8 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
36a59158de322e7aecf371e45cd5abfdaeae0157f17bc0616938ec32f55d213a
BLAKE2b-256 checksum
How to use checksums
9670f07b4e9f3fe794df3826f2e5d3264ba0592fb16b2b847f028879369baf4e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

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

Download URL bfsccylinder-0.7.0-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
ec7356f2bd52bf8754339d4d875d3374cb3d21d4f4b4bc55ade24293a1cf757f
BLAKE2b-256 checksum
How to use checksums
f15f68ac12306dfee54f1577354fccccec582522b3c34cfb95f52547c7e41a06
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

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

Download URL bfsccylinder-0.7.0-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
f1356e975f4a899835b175fcddc051338c05c0d78020d4110eb6660ba677bebc
BLAKE2b-256 checksum
How to use checksums
26355b3139bbd19f863772c67502202b87b75c86e873636b918e0f667f72ea38
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

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

Download URL bfsccylinder-0.7.0-cp312-cp312-win_amd64.whl
Size 4.8 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
ada72fffe1a149725cf70878cee1f4e1fe340ac070fbdcb13701b8f8ad112a87
BLAKE2b-256 checksum
How to use checksums
444ed20cc265ccf6b2933c3f633b609f1e76bd25b729cebad7463e147e4b05f3
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.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL bfsccylinder-0.7.0-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
1137bf9374e6c8b527fb1af86fbb95d5aad16a6b8cd27d966e4777783d6ad4f2
BLAKE2b-256 checksum
How to use checksums
3842a6cd2ba7b0989a4f1b77f8b6c0773d58dd4e5f2bb36e6955c26a0c2d5333
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

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

Download URL bfsccylinder-0.7.0-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
9bf38410ddb85c39b35364ca14fb910faef0f94eedd1205f90c7ea88b1086a6d
BLAKE2b-256 checksum
How to use checksums
c444fc9850907cd5d59cd571cc03a55f8b9cc73c8366f978d8497616bd8a24b4
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.0-cp311-cp311-win_amd64.whl

Download URL bfsccylinder-0.7.0-cp311-cp311-win_amd64.whl
Size 4.8 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
a6bd19d11572198547286c5689042de9cad382879bc69c2bb232c7ad75e021f0
BLAKE2b-256 checksum
How to use checksums
3400d4ebc58dbd3511b81cc7bcf3ba22a0f501e7e4d812e694b9d79e0b727b26
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.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL bfsccylinder-0.7.0-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
dec0e1f19737689860754605a885d9f70b4a59c37162284483b8772e5732f8ef
BLAKE2b-256 checksum
How to use checksums
5362e1185d300fdd4032e4c08b043dd04039b7d4c11d76c2cff0b65368814ff3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

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

Download URL bfsccylinder-0.7.0-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
27f9067b78aee628200e3a67e72b5ec14389fabec59af82f012e4a2871a089c1
BLAKE2b-256 checksum
How to use checksums
7e0d4a7f7731a61a5fac067b1c2b0bfd6d29c03e0f56c9ce8af47e52a5d17661
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.0-cp310-cp310-win_amd64.whl

Download URL bfsccylinder-0.7.0-cp310-cp310-win_amd64.whl
Size 4.8 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
8a6435c8a0e2758a70f40ca767653fcaeb19051a3eb817d02af6f6854a17b18e
BLAKE2b-256 checksum
How to use checksums
5faec86870c888fe139f2a1950e75fdcaf6df4696c2186a947a0e2cd5314f43d
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.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL bfsccylinder-0.7.0-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
9d13665b2f9d91f5d79be5ac7bfb441053addb14fed4c4e2db417691fb062b9c
BLAKE2b-256 checksum
How to use checksums
f5f0cc4aa18451209a24582949ff2188a31d65171c06ed23a6f35fe14de7680b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

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

Download URL bfsccylinder-0.7.0-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
dfcde16b1e068bc14ee1571f96fcd19f245c0c012755e5b15589b883e53b55d1
BLAKE2b-256 checksum
How to use checksums
675d0ea8b972b921fdb9b6f78cbb9db58010a53a3a0a721647542d516a3bbe43
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.0

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