Last updated
Last updated
In this example, we demonstrate how to create arbitrary sections and perform analysis with nonlinear torsion and warping enabled.
The relevant scripts can be .
To represent conventional, bending moment only sections numerically, only geometry information, such as location and area, is required. This allows the usage of predefined basic shapes, such as rectangles, circles. And complex sections can be built up by using those basic shapes. However, such an approach is not practical for sections involving torsion and warping, as some important sectional properties can only be obtained by analysing the section as a whole. Hence, a general approach that only focuses on section discretisation is used. The discretisation refers to the division of the section into a number of fibres/cells. Those fibres are the smallest units that are used in numerical integration. The users shall provide the corresponding sectional properties.
To obtain necessary sectional properties, a section analysis shall be performed. For arbitrary sections, often a general purpose FEA based method shall be used. book provides a thorough discussion on relevant numerical methods.
The library implements such a method. It can be used to prepare data to be used in suanPan
.
We first discuss what sectional properties are required and provide a theoretical background.
The section has the following signature.
Apart from the location (coordinates/eccentricities) and area, it requires sectional coordinate (warping function) (3)
and its derivatives (4)
and (5)
.
The warping function is the conventional one that can be expressed as a function of locations.
The integration shall result in a net-zero warping.
Its derivatives along two axes are also required.
Two shear strains can be expressed as follows.
The mesh is generated internally using second-order triangular elements (CPS6 in ABAQUS notation). One can check the details of the created elements. The following shows the first element.
The library has implemented basic utility functions to elements, such that basic properties for each element can be conveniently obtained.
Alternatively, the area can also be computed as the determinant of the Jacobian matrix of the isoparametric mapping.
We assume the triangle element is small enough so that the centroid can represent the location of the element. The centroid can be obtained by averaging the coordinates of the first three nodes.
The library provides a function to calculate the warping function.
As we are using a circular section as the example, the warping function is zero everywhere. The above method computes the warping in the local coordinate system. If one wants to use the centroid as the origin, one shall translate the coordinates first.
Since for circular sections, there is no warping, the corresponding derivatives are trivial.
It appears to be easy to obtain necessary properties for each element. Here we provide a universal function to generate the required data.
One shall adjust it accordingly for specific purposes.
Now it is possible to pass in a geometry, and call the export function to generate cell data.
Now it is possible to create a simple single element model to validate the data. Remember to change the material tag accordingly.
The nodal displacement and force are as follows.
The circular section has a torsional constant as follows.
In this example, we manually create a W section. It corresponds to the W36X330
section.
We use the following script to validate the result.
The nodal displacement and force are as follows.
We can obtain two moments of inertia as follows.
Furthermore, one can plot the torque-rotation curve.
Use the following model to apply an end twist.
Use the following script to plot the results.
The discretisation introduces some errors. With mesh refinement, the numerical result approaches the analytical solution.
Cell3DOS
is the basic building block. Fibre3DOS
collects all cells and defines the section. B31OS
is the corresponding element.
Sectional integration is always about the origin of the local coordinate system. Shifting of axis can be accounted for by directly defining the section in the shifted position.
, and some other derivatives, uses to approximate shear strain. This is only suitable for thin-walled open sections. Here we use general formulation instead for complex, universal, arbitrary sections. Interested readers can refer to, for example, , for more details.
We start with a simple circular example. Let's assume it is centred and has a diameter of .
We use built-in functionality to create such a geometry and assign a mesh size of .
To obtain and , we use the shape functions.
!!! Note The above functionality has been added to the latest sectionproperties
library, see page.
This is about the numerical result .
The AISC table gives and , respectively.
We shall see the initial stiffness is , which is close to the torsional constant . Due to the existence of bi-moments, the torque is not linearly proportional to the rotation. If one records the S
output, the St. Venant torsion would be .
We show another example with analytical solution. This example is taken from this .