diff --git a/joss.06105/10.21105.joss.06105.crossref.xml b/joss.06105/10.21105.joss.06105.crossref.xml
new file mode 100644
index 0000000000..2326644574
--- /dev/null
+++ b/joss.06105/10.21105.joss.06105.crossref.xml
@@ -0,0 +1,153 @@
+
+
+
+ 20240419T142406-8a7859b801187fdc4ec49d88f4e110ec78438c83
+ 20240419142406
+
+ JOSS Admin
+ admin@theoj.org
+
+ The Open Journal
+
+
+
+
+ Journal of Open Source Software
+ JOSS
+ 2475-9066
+
+ 10.21105/joss
+ https://joss.theoj.org
+
+
+
+
+ 04
+ 2024
+
+
+ 9
+
+ 96
+
+
+
+ sectionproperties: A Python package for the analysis of
+arbitrary cross-sections using the finite element method
+
+
+
+ Robbie
+ van Leeuwen
+ https://orcid.org/0009-0004-8056-3977
+
+
+ Connor
+ Ferster
+ https://orcid.org/0009-0005-0861-2428
+
+
+
+ 04
+ 19
+ 2024
+
+
+ 6105
+
+
+ 10.21105/joss.06105
+
+
+ http://creativecommons.org/licenses/by/4.0/
+ http://creativecommons.org/licenses/by/4.0/
+ http://creativecommons.org/licenses/by/4.0/
+
+
+
+ Software archive
+ 10.5281/zenodo.8433188
+
+
+ GitHub review issue
+ https://github.com/openjournals/joss-reviews/issues/6105
+
+
+
+ 10.21105/joss.06105
+ https://joss.theoj.org/papers/10.21105/joss.06105
+
+
+ https://joss.theoj.org/papers/10.21105/joss.06105.pdf
+
+
+
+
+
+ Analysis and design of elastic beams:
+Computational methods
+ Pilkey
+ 10.1002/9780470172667
+ 9780471381525
+ 2002
+ Pilkey, W. D. (2002). Analysis and
+design of elastic beams: Computational methods. Wiley.
+https://doi.org/10.1002/9780470172667
+
+
+ The finite element method: Theory,
+implementation, and applications
+ Larson
+ 10
+ 10.1007/978-3-642-33287-6
+ 9783642332869
+ 2013
+ Larson, M. G., & Bengzon, F.
+(2013). The finite element method: Theory, implementation, and
+applications (1st ed., Vol. 10). Springer Berlin, Heidelberg.
+https://doi.org/10.1007/978-3-642-33287-6
+
+
+ Shapely
+ Gillies
+ 10.5281/zenodo.5597138
+ 2023
+ Gillies, S., Wel, C. van der, Van den
+Bossche, J., Taves, M. W., Arnott, J., Ward, B. C., & others.
+(2023). Shapely (Version 2.0.2).
+https://doi.org/10.5281/zenodo.5597138
+
+
+ Triangle
+ Rufat
+ GitHub repository
+ 2023
+ Rufat, D. (2023). Triangle. In GitHub
+repository. GitHub.
+https://github.com/drufat/triangle
+
+
+ Delaunay refinement algorithms for triangular
+mesh generation
+ Shewchuk
+ Computational Geometry
+ 1
+ 22
+ 10.1016/S0925-7721(01)00047-5
+ 2002
+ Shewchuk, J. R. (2002). Delaunay
+refinement algorithms for triangular mesh generation. Computational
+Geometry, 22(1), 21–74.
+https://doi.org/10.1016/S0925-7721(01)00047-5
+
+
+
+
+
+
diff --git a/joss.06105/10.21105.joss.06105.jats b/joss.06105/10.21105.joss.06105.jats
new file mode 100644
index 0000000000..b2c0197893
--- /dev/null
+++ b/joss.06105/10.21105.joss.06105.jats
@@ -0,0 +1,377 @@
+
+
+
+
+
+
+
+Journal of Open Source Software
+JOSS
+
+2475-9066
+
+Open Journals
+
+
+
+6105
+10.21105/joss.06105
+
+sectionproperties: A Python package for the analysis of
+arbitrary cross-sections using the finite element method
+
+
+
+https://orcid.org/0009-0004-8056-3977
+
+van Leeuwen
+Robbie
+
+
+
+
+https://orcid.org/0009-0005-0861-2428
+
+Ferster
+Connor
+
+
+
+
+
+Independent Researcher, Australia
+
+
+
+
+Independent Researcher, Canada
+
+
+
+
+13
+10
+2023
+
+9
+96
+6105
+
+Authors of papers retain copyright and release the
+work under a Creative Commons Attribution 4.0 International License (CC
+BY 4.0)
+2022
+The article authors
+
+Authors of papers retain copyright and release the work under
+a Creative Commons Attribution 4.0 International License (CC BY
+4.0)
+
+
+
+python
+computational mechanics
+finite element method
+cross-section
+stress analysis
+engineering
+
+
+
+
+
+ Summary
+
Properties of plane cross-sections are often required in
+ engineering research, analysis, and design. For example,
+ cross-sectional properties are used to determine the displacements,
+ natural frequencies, and stresses within beams under complex loading.
+ sectionproperties is a Python package for the
+ analysis of arbitrary cross-sections using the finite
+ element method. sectionproperties can be used
+ to determine geometric and warping properties, as well as visualising
+ cross-sectional stresses resulting from combinations of applied loads.
+ sectionproperties aims to provide a
+ pre-processor, analysis engine, and post-processor, in a single open
+ source and accessible package, that can be used by researchers,
+ practising engineers, and students.
+
+
+ Statement of Need
+
Obtaining the geometric properties of simple shapes is a classical
+ engineering problem with well-defined analytical solutions. However,
+ obtaining warping properties, e.g. for torsion and shear analyses,
+ involves solving partial differential equations
+ (Pilkey,
+ 2002). While some analytical solutions exist for a small subset
+ of geometries, the method for obtaining these results is not able to
+ be generalised to shapes commonly used in engineering pratice.
+ Further, the analysis of arbitrary composite geometries, in which a
+ cross-section could consist of any shape with any number of internal
+ holes, and be made from any number of materials, complicates both
+ geometric and warping computations.
+
To the best of our knowledge, there is no open source software
+ available for the computation of both geometric and warping propreties
+ for composite, arbitary cross-sections. While there are several
+ commercial solutions available, e.g.
+ RSECTION 1,
+ ShapeDesigner SaaS,
+ or
+ CADRE Profiler,
+ none of these are open source or provide an application programming
+ interface (API) that would enable these programs to be used for
+ research. As a result, sectionproperties
+ supports both engineering practice and research, by implementing an
+ open source solution to the complex modelling problem that is
+ arbitrary composite geometric and warping analyses.
+
+
+ Implementation
+
sectionproperties harnesses the power of
+ Shapely
+ (Gillies
+ et al., 2023) to streamline geometry generation, and triangle
+ (Rufat,
+ 2023) (a python port of Triangle
+ (Shewchuk,
+ 2002)) to produce a triangular mesh of six-noded quadratic
+ elements. The finite element method is used to solve for the geometric
+ and warping properties, the latter involving the solution of partial
+ differential equations and boundary value problems
+ (Pilkey,
+ 2002). For example, the Saint-Venant torsion constant
+ (
+
+ J)
+ is obtained by solving for the warping function,
+
+
+ ω
+ (Pilkey,
+ 2002):
+
+
+ ∇2ω=0
+
subject to the boundary condition:
+
+
+ ∂ω∂xnx+∂ω∂yny=ynx−xny
+
Using the finite element method, this problem is reduced to a set
+ of linear equations of the form:
+
+
+ 𝐊𝛚=𝐅
+
where the stiffness matrix and load vector at the element level are
+ defined as:
+
+
+ 𝐤e=∑i=16wi𝐁iT𝐁iJi
+
+
+ 𝐟e=∑i=16wi𝐁iT[𝐍i𝐲e−𝐍i𝐱e]Ji
+
In the above,
+
+ 𝐍
+ and
+
+ 𝐁
+ are the shape functions and their derivatives, and
+
+
+ wi
+ and
+
+ Ji
+ are the weights and Jacobians of the current integration point. The
+ boundary conditions neccesitate the inversion of a nearly singular
+ global stiffness matrix. As such, the Lagrangian multiplier method is
+ used to solve the set of linear equations of the form
+
+
+ 𝐊𝐮=𝐅
+ by introducing an extra constraint on the solution vector, whereby the
+ mean value is equal to zero
+ (Larson
+ & Bengzon, 2013).
+
+
+ [𝐊𝐂T𝐂0][𝐮λ]=[𝐅0]
+
where
+
+ 𝐂
+ is the assembly of
+
+ ∑iwi𝐍iJi,
+ and
+
+ λ
+ may be though of as a relatively small force acting to enforce the
+ constraints. Once the warping function has been evaluated, the
+ Saint-Venant torsion constant can be calculated as follows:
+
+
+ J=Ixx+Iyy−𝛚T𝐊𝛚
+
The calculation of plastic properties is meshless, and is conducted
+ using an iterative method to enforce plastic equilibrium, yielding the
+ plastic centroids. A full description of the theoretical background
+ underpinning sectionproperties can be found in
+ the
+ documentation.
+
An example of some of the visualisation generated by
+ sectionproperties can be seen in
+ [fig:example]
+ below.
+
+
Plot of the centroids and torsion stress distribution
+ for a bulb-section modelled in
+ sectionproperties.
+
+
+
+
+ Software Development
+
The sectionproperties package is available
+ on
+ GitHub,
+ where the source code, issue tracker, CI workflow, and discussion
+ board can be found. Pre-commit hooks are used to ensure code quality
+ and style is consistent across all contributions. There is an
+ extensive testing and validation suite used to ensure that the output
+ produced by sectionproperties is verified and
+ repeatable, including a set of benchmarking tests.
+ sectionproperties has an actively maintained
+ and complete
+ documentation,
+ including
+ installation
+ instructions, a detailed
+ user
+ guide, a list of
+ examples,
+ and an
+ API
+ reference.
+
+
+ Conclusion
+
In this paper we have described
+ sectionproperties, a Python package that
+ calculates the section properties of arbitrary sections. It is our
+ hope that this project is used by researchers and practising engineers
+ to improve their experimental and analysis workflows.
+
+
+ Acknowledgements
+
We acknowledge the contributions from all the
+ contributors
+ to sectionproperties.
+
+
+
+
+
+
+
+ PilkeyW. D.
+
+
+ Wiley
+ New York
+ 2002
+ 9780471381525
+ 10.1002/9780470172667
+
+
+
+
+
+ LarsonM. G.
+ BengzonF.
+
+
+ Springer Berlin, Heidelberg
+ Netherlands
+ 2013
+ 10
+ 1
+ 9783642332869
+ 10.1007/978-3-642-33287-6
+
+
+
+
+
+ GilliesSean
+ WelCasper van der
+ Van den BosscheJoris
+ TavesMike W.
+ ArnottJoshua
+ WardBrendan C.
+ others
+
+ Shapely
+ 202310
+ https://github.com/shapely/shapely
+ 10.5281/zenodo.5597138
+
+
+
+
+
+ RufatD.
+
+ Triangle
+
+ GitHub
+ 2023
+ https://github.com/drufat/triangle
+
+
+
+
+
+ ShewchukJ. R.
+
+ Delaunay refinement algorithms for triangular mesh generation
+
+ Elsevier B.V
+ 2002
+ 22
+ 1
+ 10.1016/S0925-7721(01)00047-5
+ 21
+ 74
+
+
+
+
+
diff --git a/joss.06105/10.21105.joss.06105.pdf b/joss.06105/10.21105.joss.06105.pdf
new file mode 100644
index 0000000000..fe9c9c8f3a
Binary files /dev/null and b/joss.06105/10.21105.joss.06105.pdf differ
diff --git a/joss.06105/media/figures/example.png b/joss.06105/media/figures/example.png
new file mode 100644
index 0000000000..dca00d4445
Binary files /dev/null and b/joss.06105/media/figures/example.png differ