BFSC plate finite element - bfscplate2d#

The bfscplate2d module implements the BFSC plate finite element in 2D, a four-node rectangular element of the classical laminated plate theory, with the nonlinear strains of von Karman, aiming linear and nonlinear analyses. The module gives the element, BFSCPlate2D, and the functions that compute the contributions of one element to the matrices and vectors of a model, written in sparse arrays; the model, its boundary conditions and the solution of its equations are written by the user, with NumPy and SciPy. With bfscplate2d you can compute:

  • The linear constitutive stiffness matrix \(\boldsymbol{K}_{C0}\), for linear static analyses, \(\boldsymbol{K}_{C0}\boldsymbol{u} = \boldsymbol{F}_{ext}\), with update_KC0()

  • The geometric stiffness matrix \(\boldsymbol{K}_G\), for linear buckling analyses, \((\boldsymbol{K}_{C0} + \lambda \boldsymbol{K}_G)\boldsymbol{u} = \boldsymbol{0}\), of the membrane forces of a static solution, update_KG(), or of constant membrane forces, update_KG_cte_N()

  • The mass matrix \(\boldsymbol{M}\), for natural frequency analyses, \((\boldsymbol{K}_{C0} - \omega^2 \boldsymbol{M})\boldsymbol{u} = \boldsymbol{0}\), with update_M()

  • The internal force vector \(\boldsymbol{F}_{int}\) and the tangent stiffness matrix \(\boldsymbol{K}_{C0} + \boldsymbol{K}_{CNL} + \boldsymbol{K}_{GNL} + \boldsymbol{K}_G\), its exact Jacobian, for geometrically nonlinear static analyses, with update_fint() and update_KCNL()

  • The force vector and the load stiffness matrix of a follower pressure, normal to the deformed plate, with update_fext_follower() and update_KCfollower()

Code repository#

saullocastro/bfscplate2d

User guide#

Usage examples#

bfscplate2d API#

Installing bfscplate2d#

Changelog#

License#

Copyright (c) 2020-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.

Citing this library#

Saullo G. P. Castro (2026). Implementation of the BFSC plate finite element in 2D (Version 0.5.0). saullocastro/bfscplate2d.

In BibTeX:

@misc{castro_bfscplate2d,
  author  = {Castro, Saullo G. P.},
  title   = {Implementation of the BFSC plate finite element in 2D},
  year    = {2026},
  version = {0.5.0},
  url     = {https://github.com/saullocastro/bfscplate2d}
}

The repository also has a CITATION.cff file with the same data.

Indices and tables#