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_followerandupdate_KCfollower, the force vector and the unsymmetric load stiffness matrix of a pressure normal to the deformed mid-surface - BUG:
update_Mof the Sanders-type element uses the rotation-w,y + v/Rin the rotary inertia - BUG: the constructors of
BFSCCylinderandBFSCCylinderSanderssetinit_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.Analysisand tutorials of stringer-stiffened cylinders - The tests solve the nonlinear analyses with
structsolve.Analysis, requiringstructsolve>=0.9.3 - Metadata in
pyproject.toml; Python 3.10 to 3.14
- Follower pressure, for both kinematics:
- 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_KC0of 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
NtoS - 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
vwas missing, andfint, which included terms ofKG
- Fixed the nonlinear terms, where
- version 0.3.0 (2021-11-03)
- Sanders-type kinematics:
BFSCCylinderSanders, inbfsccylinder.sanders
- Sanders-type kinematics:
- 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_KCNLandupdate_fint
- Geometrically nonlinear analyses:
- version 0.1.1 (2020-08-22)
- First tagged version:
BFSCCylinder, withupdate_KC0,update_KG,update_KG_constant_stressandupdate_M
- First tagged version:
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)
| 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)
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.