Choosing an element#
All the elements have six dofs per node and can be combined in one model, e.g. shells stiffened by beams, or beams connected by springs, since they share the dofs of the nodes, see Conventions.
Shells#
The shell elements are flat, with first-order shear deformation theory
(FSDT) kinematics, the constitutive matrices of a ShellProp, see
Shell and beam properties, and the von Karman membrane strains in the
geometrically non-linear analyses.
Element |
Nodes |
Use |
|---|---|---|
4 |
The recommended quadrilateral. Mixed quadrature of the transverse
shear terms against shear locking, and the drilling enrichment of
the in-plane displacement field, see |
|
4 |
One integration point, cheaper than |
|
3 |
The recommended triangle. Discrete shear gap transverse shear field,
free of shear locking by construction and without a tuning
parameter, see |
|
3 |
Kept for continuity with the results obtained before
|
Practical rules:
Prefer quadrilaterals in bending-dominated regions. A mesh of linear triangles is stiffer than the quadrilateral mesh it is split from, and its response depends on the direction of the diagonals; where triangles are needed, alternating the diagonals reduces this bias.
The four nodes of a quadrilateral in a curved surface are, in general, not coplanar, and the element is flat: keep the warping, the out-of-plane deviation of the nodes over the in-plane size, small. The triangles are always flat.
The distorted-mesh variants of the benchmarks of MacNeal and Harder (1985), doi:10.1016/0168-874X(85)90003-4, show how much distortion an element tolerates.
The drilling rotation \(r_z\) of all the shells has, by default, a physics-based stiffness,
drilling_model = 0, without user parameter.drilling_model = 1selects the fictitious penalty of Nastran, controlled byK6ROT, which reproduces the results of versions older than 0.10.0.The aerodynamic matrices of the piston theory,
update_KA_beta,update_KA_gammaandupdate_CA, exist forQuad4andQuad4Ronly.
Beams, truss and spring#
Element |
Use |
|---|---|
The recommended beam. Timoshenko kinematics with the consistent shape functions of Luo (2008), which solve the static equilibrium equations of the beam, such that one element gives the exact tip deflection of a cantilever with shear deformation, and the nodal displacements of a frame under nodal loads, see Linear static analysis of beams and frames. |
|
Timoshenko kinematics with linear interpolation and reduced
integration; it converges to the same solutions with mesh
refinement, quadratically, and needs many more elements, see
|
|
Axial and torsional stiffness only, linear analyses and mass matrix,
without geometric stiffness matrix, hence no linear buckling. The
documentation of |
|
Six constant stiffnesses, |
The cross section of the beams and of the truss is given by a
BeamProp, whose integrals are taken in the element coordinate
system, see Shell and beam properties. Its orientation is defined by the
vector vxyi, vxyj, vxyk of update_rotation_matrix, see
Conventions. The beams have a transverse shear modulus for each
plane of bending, G12 for the element \(xy\) plane and G13 for the
\(xz\) plane, and the beams and the truss take the torsional stiffness
GJ; the three follow G unless they are set.
Methods of each element#
Method |
Quad4, Quad4R |
Tria3DSG, Tria3R |
BeamC, BeamLR |
Truss |
Spring |
|---|---|---|---|---|---|
|
yes |
yes |
yes |
yes |
yes |
|
yes |
yes |
yes |
linear only |
linear only |
|
yes |
yes |
yes |
||
|
yes |
yes |
yes |
||
|
yes |
yes |
|||
|
yes |
yes |
yes |
yes |
|
|
yes |
The arguments of each method are documented in the API pages of the elements, Finite elements.
Mass matrices#
The argument mtype of update_M selects how the kinetic energy of
the element is integrated, with the same values for every element:
|
Mass matrix |
Elements |
|---|---|---|
|
consistent |
Quad4, Quad4R, Tria3R, Tria3DSG, BeamC, BeamLR, Truss |
|
lumped |
Quad4, Quad4R, Tria3R, Tria3DSG, BeamC, BeamLR, Truss |
|
reduced integration, one point |
Quad4, Quad4R, Tria3R |
Any other value, and 2 for an element without a reduced-integration
mass matrix, raises a ValueError. Each matrix is the integral over
the element of the inertia of the section between the interpolated
velocities: for the shells, \(I_\rho\), \(I_{\rho z}\) and \(I_{\rho z^2}\), the
intrho, intrhoz and intrhoz2 of the ShellProp, which
include the offset, see Shell and beam properties; for the beams, the
integrals of the BeamProp. The consistent matrices integrate it
exactly. The lumped matrices integrate it with the points at the nodes,
where each shape function is 1 at its own node and 0 at the others, such
that, for the shells, node \(i\) carries the weight \(w_i\) times
in element coordinates, for \(u, v, w, r_x, r_y, r_z\), with \(w_i = A/3\) for
the triangles and the Jacobian determinant at the node for the
quadrilaterals, and no coupling between nodes. A lumped shell matrix is
diagonal only without offset, when \(I_{\rho z} = 0\); with an offset, the
coupling keeps the centre of mass of the element at the offset. The mass,
first moment and rotary inertia given by each scheme are discussed in the
Notes of update_M, e.g. Tria3R.update_M() and
Quad4R.update_M(). The lumped beam matrices are diagonal, without
the first moments intrhoy, intrhoz and the product intrhoyz of
the section, see BeamC.update_M().