Let us now apply the local coordinate system (x, z) to the truss element shown in Fig. 2.20 (X, Z is the global coordinate system).
For this frame element, the rigid body translations and rigid body rotation at the ends of the element of Eq. (1.1) are shown in Fig.1.1.
The truss element displacements are described in local coordinates in Fig. 2.20.
Rigid body displacements and rotations of an element can be large. The axial deformation of an element is described in the basic coordinate system (in the co-rotational coordinate system []).
The truss element equilibrium equation:
The basic equations of the truss element:
Let us rewrite the basic equations of the truss element of Eq. (2.58) in the following form:
In excerpt 2.14 from the computing diary, GNU Octave commands
for compiling the EST method equations can be found.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -------- Sparse matrix instantiation -------- spA=sparse(NNK,NNK) spA = Compressed Column Sparse (rows = 67, cols = 67, nnz = 0 [0%]) -------- Right-hand side of the equations (RHS). -------- B=zeros(NNK,1); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ----- Writing basic equations of frame ---- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --------The basic equations are inserted into spA -------- rows = rows_of_basic_equations: 30 col = cols_of_basic_equations: 60 spA_nnz = non_zero_elements_in_the_basic_equations: 95 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Compatibility equations of displacements at nodes From_row = Compatibility equations begin from row: 31 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Node = 1 Node = 2 cmd = spA=spInsertBtoA(spA,31,19,SpTM3x3); cmd = spA=spInsertBtoA(spA,31,1,SpTM3x3m); Node = 3 Node = 4 cmd = spA=spInsertBtoA(spA,34,43,SpTM3x3); cmd = spA=spInsertBtoA(spA,34,25,SpTM3x3m); cmd = spA=spInsertBtoA(spA,37,43,SpTM3x3); cmd = spA=spInsertBtoA(spA,37,13,SpTM3x3m); Node = 5 Node = 6 cmd = spA=spInsertBtoA(spA,40,55,SpTM3x3); cmd = spA=spInsertBtoA(spA,40,37,SpTM3x3m); ----- spA_rows = 42 spA_cols = 60 spA_nnz = non_zero_elements_in_spA: 129 Compatibility equations of displacements are inserted into spA compatibility_equations_rows = 12 non_zero_elements_in_compatibility_equations = 34 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Joint equilibrium equations at nodes From_rows = Joint equilibrium equations begin from row: 43 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --------------------------------------------------------- Node = 1 --------------------------------------------------------- Number_of_reactions = The number of reactions at the node (node_no, reactions): 1, 2 cmd = spA=spInsertBtoA(spA,43,10,SpTM2x2); cmd = spA=spInsertBtoA(spA,43,61,SpTM2x2xz); --------------------------------------------------------- Node = 2 --------------------------------------------------------- cmd = spA=spInsertBtoA(spA,45,22,SpTM3x3); cmd = spA=spInsertBtoA(spA,45,4,SpTM3x3); cmd = B(45:47,1)=sF(1:3,1); --------------------------------------------------------- Node = 3 --------------------------------------------------------- Number_of_reactions = The number of reactions at the node (node_no, reactions): 3, 3 cmd = spA=spInsertBtoA(spA,48,34,SpTM3x3); cmd = spA=spInsertBtoA(spA,48,63,SpTM3x3xz); --------------------------------------------------------- Node = 4 --------------------------------------------------------- cmd = spA=spInsertBtoA(spA,51,46,SpTM3x3); cmd = spA=spInsertBtoA(spA,51,28,SpTM3x3); cmd = spA=spInsertBtoA(spA,51,16,SpTM3x3); cmd = B(51:53,1)=sF(1:3,1); --------------------------------------------------------- Node = 5 --------------------------------------------------------- Number_of_reactions = The number of reactions at the node (node_no, reactions): 5, 2 cmd = spA=spInsertBtoA(spA,54,52,SpTM2x2); cmd = spA=spInsertBtoA(spA,54,66,SpTM2x2xz); --------------------------------------------------------- Node = 6 --------------------------------------------------------- cmd = spA=spInsertBtoA(spA,56,58,SpTM3x3); cmd = spA=spInsertBtoA(spA,56,40,SpTM3x3); cmd = B(56:58,1)=sF(1:3,1); ----- spA_rows = 58 spA_cols = 67 spA_nnz = non_zero_elements_in_spA: 172 -----Equilibrium equations are inserted into spA ---- equilibrium_equations_rows = 16 non_zero_elements_in_equilibrium_equations = 43 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Side conditions (hinges) From_rows = Side conditions begin from row: 59 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% cmd = spA=spSisestaArv(spA,59,12,1); cmd = spA=spSisestaArv(spA,60,54,1); ----- spA_rows = 60 spA_cols = 67 spA_nnz = non_zero_elements_in_spA: 174 -----Side conditions are inserted into spA ---- side_condition_rows = 2 non_zero_elements_in_side_condition = 2 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Restrictions on support displacements From_rows = Restrictions on support displacements begin from row: 61 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% cmd = spA=spInsertBtoA(spA,61,7,SpTUv); Support shift tSiire(1,1,1) = 0 in x direction at node 1 cmd = B(61,1)=tSiire(1,1,1); cmd = spA=spInsertBtoA(spA,62,7,SpTWv); Support shift tSiire(2,1,1) = 0 in z direction at node 1 cmd = B(62,1)=tSiire(2,1,1); cmd = spA=spInsertBtoA(spA,63,31,SpTUv); Support shift tSiire(1,1,3) = 0 in x direction at node 3 cmd = B(63,1)=tSiire(1,1,3); cmd = spA=spInsertBtoA(spA,64,31,SpTWv); Support shift tSiire(2,1,3) = 0 in z direction at node 3 cmd = B(64,1)=tSiire(2,1,3); cmd = spA=spInsertBtoA(spA,65,31,SpTFiV); Support shift tSiire(3,1,3) = 0 in y direction at node 3 cmd = B(65,1)=tSiire(3,1,3); cmd = spA=spInsertBtoA(spA,66,49,SpTUv); Support shift tSiire(1,1,5) = 0 in x direction at node 5 cmd = B(66,1)=tSiire(1,1,5); cmd = spA=spInsertBtoA(spA,67,49,SpTWv); Support shift tSiire(2,1,5) = 0 in z direction at node 5 cmd = B(67,1)=tSiire(2,1,5); ----- spA_rows = 67 spA_cols = 67 spA_nnz = non_zero_elements_in_spA: 181 -----Restrictions equations are inserted into spA ---- restrictions_equations_rows = 7 non_zero_elements_in_restrictions_equations = 7 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% spA_rank = 67 spA = Compressed Column Sparse (rows = 67, cols = 67, nnz = 181 [4%])
andres