Euler-Bernoulli element with shear/mass center offsets

From standard beam formulas and using a stiffness transformation rule, the stiffness and mass matrix of the element can be computed. This is done in the Octave script beam-matrices-calc.m in \testdata\TestElement. The resulting stiffness matrix can be found in stiffnessmatrix2.txt. 

The verification is done in the unit test TestFrameElt::TestElementStiffnessWithShearCenterOffset()

Element properties

E = 3
A = 2
G = 4
J = 1
L = 1
I_x = 3
I_y = 4
shearOffsetX = s_x = 2
shearOffsetY = s_y = 3

1 Stiffness matrix

Using symbolic multiplication, the resulting stiffness matrix becomes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Table
StiffnessMatrix
 6 0 0 0 0 0 -6 0 0 0 0 0
 0 108 0 -324 0 54 0 -108 0 324 0 54
 0 0 144 288 -72 0 0 0 -144 -288 -72 0
 0 -324 288 1552 -144 -162 0 324 -288 -1552 -144 -162
 0 0 -72 -144 48 0 0 0 72 144 24 0
 0 54 0 -162 0 36 0 -54 0 162 0 18
 -6 0 0 0 0 0 6 0 0 0 0 0
 0 -108 0 324 0 -54 0 108 0 -324 0 -54
 0 0 -144 -288 72 0 0 0 144 288 72 0
 0 324 -288 -1552 144 162 0 -324 288 1552 144 162
 0 0 -72 -144 24 0 0 0 72 144 48 0
 0 54 0 -162 0 18 0 -54 0 162 0 36



Pass criterion: The full stiffness matrix computed in Ashes shall be equal to the values above.

2 Mass matrix

Element properties
Mass = M = 42
massOffsetX = s_x = 2
massOffsetY = s_y = 3

In the same fashion, for a lumped mass element: Analytical mass matrix is found in massmatrix2.txt.

The verification is done in TestFrameElt::TestEulerElementMassWithMassOffsetLumpedMass()


1
2
3
4
5
6
7
8
9
10
11
12
13
14
Table
MassMatrix
 21 0 0 0 0 0 0 0 0 0 0 0
 0 21 0 -63 0 0 0 0 0 0 0 0
 0 0 21 42 0 0 0 0 0 0 0 0
 0 -63 42 273 0 0 0 0 0 0 0 0
 0 0 0 0 0 0 0 0 0 0 0 0
 0 0 0 0 0 0 0 0 0 0 0 0
 0 0 0 0 0 0 21 0 0 0 0 0
 0 0 0 0 0 0 0 21 0 -63 0 0
 0 0 0 0 0 0 0 0 21 42 0 0
 0 0 0 0 0 0 0 -63 42 273 0 0
 0 0 0 0 0 0 0 0 0 0 0 0
 0 0 0 0 0 0 0 0 0 0 0 0



Pass criterion: The full mass matrix computed in Ashes shall be equal to the values above.


These tests were written after the current version was released, so we will start publishing them with the next release.