Analysis & Solving¶
This section covers the tools to check your model, configure analysis settings, and run the finite element solver.
Check Structure¶
Before solving, use Check Structure to validate your model. This checks for:
- Incomplete or missing connectivity, such as orphan elements.
- Support conditions, including rigid body modes and insufficient restraint.
- Duplicate elements or overlapping geometry.
- Invalid material or section assignments.
- Load case consistency and completeness.
Any issues are reported in a dedicated check window. Resolve all critical issues before proceeding to solve.
Parameters¶
To be completed.
Solver¶
The solver is the computational engine that performs the finite element analysis. It:
- Assembles the global FEM system from your structure, supports, materials, sections, and loads.
- Applies boundary conditions and constraint equations.
- Solves the stiffness matrix equation: KU = F for nodal displacements \(U\).
- Computes internal forces, including normal force, shear, moment, and (for 3D formulations) torsion and bimoment, at each element.
- Calculates reactions at supports and verification checks.
Computation typically completes within seconds for models with under 1,000 degrees of freedom. Progress is displayed in the interface during solving.
Beam formulation¶
BeamLab offers several beam formulations. They differ by three choices:
- Dimension: 2D (in-plane behaviour only) or 3D (in-plane and out-of-plane behaviour, including torsion).
- Shear deformation: neglected (Euler-Bernoulli) or included (Timoshenko).
- Warping: ignored (Saint-Venant torsion only) or included (Vlasov torsion theory).
| Formulation | Degrees of freedom per node | Local matrix | Shear deformation | Warping |
|---|---|---|---|---|
| Euler-Bernoulli 2D | 3 | \(6 \times 6\) | No | No |
| Timoshenko 2D | 3 | \(6 \times 6\) | Yes | No |
| Euler-Bernoulli 3D | 6 | \(12 \times 12\) | No | No |
| Timoshenko 3D | 6 | \(12 \times 12\) | Yes | No |
| Euler-Vlasov 3D | 7 | \(14 \times 14\) | No | Yes |
| Timoshenko-Vlasov 3D | 7 | \(14 \times 14\) | Yes | Yes |
Choose a 2D formulation when the structure is planar and loaded in its plane. Choose a 3D formulation as soon as out-of-plane loads, eccentric loads, or torsion are involved. Choose a Vlasov formulation when torsion acts on open thin-walled sections (I, H, U, C, L, T profiles), see Warping.
The shear modulus \(G\) is derived from the material's Young modulus \(E\) and Poisson ratio \(\nu\) using:
If \(\nu\) is not defined, the solver uses a default value of 0.3 for isotropic materials. If \(E\) is not defined, the solver uses a default value of 210 GPa for steel or another value if the default material is changed.
Degrees of freedom and conventions¶
The global axes are \(X\) and \(Y\) in the plane of the drawing, and \(Z\) perpendicular to it. Each node carries the following degrees of freedom, in this order:
| Index | Symbol | Meaning | Associated force |
|---|---|---|---|
| 0 | \(u\) | Displacement along \(X\) | \(F_x\) |
| 1 | \(v\) | Displacement along \(Y\) | \(F_y\) |
| 2 | \(w\) | Displacement along \(Z\) (out of plane) | \(F_z\) |
| 3 | \(\theta_x\) | Rotation about \(X\) | \(M_x\) |
| 4 | \(\theta_y\) | Rotation about \(Y\) | \(M_y\) |
| 5 | \(\theta_z\) | Rotation about \(Z\) (in-plane rotation) | \(M_z\) |
| 6 | \(\theta_x'\) | Rate of twist (warping DOF, Vlasov formulations only) | Bimoment \(B\) |
2D formulations use only indices 0, 1 and 5 (renumbered 0, 1, 2 in the element matrix). 3D formulations without warping use indices 0 to 5.
In the local frame of a beam, \(x\) follows the beam axis from its first to its second node. For a beam lying along \(x\):
- \(\theta_x\) is the torsion (the beam rotates about its own axis).
- \(\theta_z\) is the in-plane bending rotation, and \(\theta_y\) the out-of-plane bending rotation, with \(\theta_y = -\,dw/dx\).
The element matrix is written in the local frame, then transformed to the global frame by a rotation \(\mathbf{T}\) about \(Z\) by the element angle \(\alpha\):
In 3D formulations, \(\mathbf{T}\) rotates both the translations and the rotations. This is what turns the torsion of one beam into bending of a beam that is perpendicular to it. The warping DOF is a scalar and is not rotated.
Sections must provide the area \(A\), the inertias \(I_y\) and \(I_z\), and for torsion the constants \(J\) and \(I_w\). The orientation of the section (strong axis or weak axis) selects which inertia acts in the plane of the structure.
2D formulations¶
The 2D beam element has 3 degrees of freedom per node: axial displacement, transverse displacement, and rotation. The local stiffness matrix is \(6 \times 6\), then rotated to the global system with the element angle.
Euler-Bernoulli beam (2D)¶
Used when shear deformation is neglected. This is the formulation implemented by beam_stiffness_matrix_euler in the solver.
Timoshenko beam (2D)¶
Used when shear deformation is included. The solver applies the shear factor:
in beam_stiffness_matrix_timoshenko, where \(A_s = A / k\) is the shear area and \(k\) the shear coefficient of the section. When \(\phi \to 0\) (slender beams), the Timoshenko matrix tends to the Euler-Bernoulli matrix.
If one end is released with a hinge, the solver performs a static condensation of the rotational degree of freedom at that end before assembly.
3D formulations¶
The 3D beam element has 6 degrees of freedom per node \([u, v, w, \theta_x, \theta_y, \theta_z]\), so the local matrix is \(12 \times 12\). Because the structure is described in a plane, the 3D element makes it possible to model loads applied out of the plane, eccentric loads, and the torsion of members.
In the local frame, the \(12 \times 12\) matrix is the superposition of four uncoupled sub-problems, each assembled at the positions of its own degrees of freedom:
- Axial behaviour \((u_1, u_2)\)
- Torsion \((\theta_{x1}, \theta_{x2})\)
- In-plane bending \((v_1, \theta_{z1}, v_2, \theta_{z2})\), using \(I_z\)
- Out-of-plane bending \((w_1, \theta_{y1}, w_2, \theta_{y2})\), using \(I_y\)
Euler-Bernoulli beam (3D)¶
Axial and torsion (Saint-Venant) blocks:
In-plane bending \((v_1, \theta_{z1}, v_2, \theta_{z2})\):
Out-of-plane bending \((w_1, \theta_{y1}, w_2, \theta_{y2})\). The sign of the coupling terms is reversed compared with in-plane bending, because \(\theta_y = -\,dw/dx\):
An element has 6 rigid body modes (3 translations, 3 rotations), which is a useful check on the assembled matrix: before supports are applied, a connected structure must have exactly 6 zero eigenvalues.
Timoshenko beam (3D)¶
Axial and torsion blocks are identical to the Euler-Bernoulli 3D element. The two bending blocks are modified by a shear factor for each bending plane:
where \(A_{s,y}\) and \(A_{s,z}\) are the shear areas in the \(y\) and \(z\) directions. In-plane bending becomes:
and out-of-plane bending is obtained by replacing \(I_z\) by \(I_y\), \(\phi_z\) by \(\phi_y\), and reversing the sign of the coupling terms between translation and rotation, as for the Euler-Bernoulli case.
Warping (Vlasov torsion)¶
What is warping?¶
When a beam is twisted, its cross-section rotates about the beam axis. For circular or closed compact sections, each cross-section stays plane. For open thin-walled sections (I, H, U, C, L, T profiles), the section does not stay plane: its points move along the beam axis, and the section warps (it becomes like a potato chip). The magnitude of this out-of-plane displacement is described by the sectorial coordinate \(\omega\) of each point of the section.
If the warping is free (for instance at the end of a cantilever that is not restrained), the torsion is said to be uniform: only shear stresses develop, and the torsional stiffness is \(GJ\). If the warping is restrained (at a fixed support, at a stiffened joint, or by a concentrated torque applied along the beam), the torsion is non-uniform. The restrained warping produces additional longitudinal normal stresses, and the section develops a significant additional torsional stiffness.
Torsion theory¶
The total torsional moment is shared between two contributions:
- \(T_{sv}\) is the Saint-Venant torsion, produced by shear stresses that circulate in the section. It depends on the torsion constant \(J\).
- \(T_w\) is the warping torsion, produced by the restraint of the warping. It depends on the warping constant \(I_w\).
The new internal force associated with warping is the bimoment:
The bimoment is expressed in force × length², for example N·m² in SI units. It is not a force that can be measured directly, but it governs the warping normal stresses:
For a thin-walled open section, these stresses can be as large as the bending stresses, which is why ignoring warping can be unconservative.
Degrees of freedom¶
The Vlasov element adds a seventh degree of freedom to each node, the rate of twist \(\theta_x'\), which controls the amount of warping at the node. Its associated force is the bimoment \(B\). At a node:
- A fixed support blocks both \(\theta_x\) and \(\theta_x'\) (warping is prevented).
- A fork support blocks \(\theta_x\) only (warping is free).
The torsion block of the element uses the Hermite cubic shape functions on \((\theta_{x1}, \theta_{x1}', \theta_{x2}, \theta_{x2}')\) and is the sum of a warping part and a Saint-Venant part:
The axial and bending blocks are not modified.
Euler-Vlasov beam (3D)¶
Euler-Bernoulli 3D element (axial, in-plane bending, out-of-plane bending) where the Saint-Venant torsion block is replaced by \(\mathbf{K}_{\theta_x}\) above. The local matrix is \(14 \times 14\), with the degrees of freedom of each node ordered \([u, v, w, \theta_x, \theta_y, \theta_z, \theta_x']\).
Timoshenko-Vlasov beam (3D)¶
Timoshenko 3D element (axial, in-plane and out-of-plane bending with shear deformation) where the Saint-Venant torsion block is replaced by \(\mathbf{K}_{\theta_x}\). The Vlasov torsion theory assumes that the shear deformation of the walls due to warping is negligible: the shear deformation only influences the bending blocks.
Required section properties and units¶
| Property | Symbol | Unit in the section table | Used in |
|---|---|---|---|
| Area | \(A\) | cm² | All |
| Strong axis inertia | \(I_{zz}\) | cm⁴ | All |
| Weak axis inertia | \(I_{yy}\) | cm⁴ | 3D |
| Torsion constant | \(J\) | cm⁴ | 3D |
| Warping constant | \(I_w\) | cm⁶ | Vlasov |
| Shear coefficients | \(k_y\), \(k_z\) | - | Timoshenko |
The solver converts them to SI units before assembling the matrix (\(1\ \mathrm{cm^4} = 10^{-8}\ \mathrm{m^4}\), \(1\ \mathrm{cm^6} = 10^{-12}\ \mathrm{m^6}\)). If \(J\) or \(I_w\) is zero or missing, the torsional stiffness is null and the structure is reported as unstable.
Assumptions and limitations¶
- Continuity of warping at nodes: the warping degree of freedom is shared by all beams meeting at a node. This represents a joint where the warping is fully transmitted, which is realistic for members that are collinear or for nodes that are stiffened. For members that meet at an angle with an unstiffened web, real warping transmission is usually partial, and the results near such nodes (in particular the bimoment) should be interpreted with caution.
- Sections: the Vlasov theory is meant for thin-walled open sections. For closed sections (hollow profiles), \(I_w\) is negligible and a formulation without warping is sufficient.
- Hinges: a hinge releases the in-plane rotation \(\theta_z\) of the member end. Releases of the out-of-plane rotation, of the torsion, and of the warping are not handled yet.
- Supports: for now, the supports block the out-of-plane displacement, \(\theta_x\), \(\theta_y\) and \(\theta_x'\) by default. Only \(X\), \(Y\) and \(\theta_z\) are configurable.
- Loads: a nodal torsion, or a torque applied along a beam, is defined in the local frame of the beam, and it is projected on the global axes before assembly.
Results¶
In addition to the normal force, the shear force and the bending moment, the Vlasov formulations return:
- the torsional moment \(T\) (N·m),
- the bimoment \(B\) (N·m²),
- the out-of-plane shear force \(V_z\) and bending moment \(M_y\) for 3D formulations,
- the reactions \(F_x, F_y, F_z, M_x, M_y, M_z\) and the reaction bimoment at the supports.