The Equilibrium Equations Matrix Manipulations for ...

5 downloads 193 Views 409KB Size Report
Integrated CAD environment (AutoCAD) with Visual Basic Application programming lan- guage enlarges possibilities in engineering design. Design system and ...
243

Proceedings of 19th International Conference. Mechanika. 2014

The Equilibrium Equations Matrix Manipulations for Creation of Flat Steel Truss Automated Design System A. Sokas Vilnius Gediminas Technical University, Sauletekio al.11, 10223 Vilnius, Lithuania, E-mail: [email protected] Abstract This article analyzes matrix inversion problem for creating automated design system. The creation methods of flat steel truss automated design system are discovered with Unified Modeling Language. Use case and collaboration diagrams are presented. The problem is solved programmatically in two steps: converting the equilibrium equations and finding the inverse matrix. The inverse matrix is found from artificially created pairs of matrices and using the GaussJordan elimination method. Integrated CAD environment (AutoCAD) with Visual Basic Application programming language enlarges possibilities in engineering design. Design system and an example of flat steel truss project presented. Creation methods of automated design system are discussed and conclusions are made. KEY WORDS: matrix inversion; matrix transformation; truss design; Unified Modeling Language. 1. Introduction Creation methods of flat truss nodes equilibrium equations and expressions of stress finding are specified in the A. Čyras book [1]. We are dealing with the problem of finding inverse matrices. First, the derived equilibrium equations matrix is very rare; there are rows with only one variable. Second, main diagonal of the matrix has elements that are zero. This article provides how to programmatically solve these problems. The problem of finding inverse matrix was addressed by Carl Friedrich Gauss (1777-1855) and extended by William Jordan (1842-1899). Now we know Gauss-Jordan method for equations solution and for finding inverse matrix when manipulated elements of the equation remain solely in the main diagonal. The equation is transformed by multiplying it by non-zero number and adding the result to the other equations of the system [2]. Inverse matrix finding and equations solution problem is still currently being solved. The problem of correct solution of systems of linear algebraic equations by the method of sequential elimination of unknowns, though the conclusions drawn are also applicable to the general elimination problem [3]. Many important methods to find inverse and generalized inverse of matrix have been developed. In these methods, direct methods usually need much cost in both time and space in order to achieve the desirable results, sometimes it may not be able to work at all. So, iterative methods are often effective especially for large scale systems with sparse matrix [4]. Various methods may be used for design steel structures [5-6]. This article is a follow-up for the truss node’s project [7] and truss automated design system’s project [8], in which the stress was given as an input. In this article the stress is found using theory of linear truss analysis by automated design system. AutoCAD is a program used as operating environment, and Visual Basic for Application (VBA) is a language used for programming. Drawing is a very good environment for programming because each point has coordinates and each line segment has start and end coordinates. The creation methods of truss automated design system are discovered with Unified Modeling Language (UML), which used for designing varied programs and systems. For example, it is used to design patterns to capture best practices in object-oriented finite element programming [9]. For example, it is used to object location sensing to reconstruct models of existing buildings [10]. Projects of house foundation from block’s automated design system presented by modeling language UML implemented with Computer Aided Design (CAD) systems [11]. The creation tasks of the truss automated design system solved with UML. 2. UML for modeling design system Use case models presented by use case diagrams. This model presents main system’s functions apprehensible by the end-user. It designed from analysis of end-users demands for the system. Use case diagrams are typical user and system interaction. Design system, may be approached as a group of objects which members use common efforts trying to realize particular functionality. Use case diagram have following cases: finding stress and displacements, designing and drawing construction, formatting specifications. Lets’ analyze only case of finding truss stress and displacements. We begin to research what objects needed for first task of use case diagram and how these objects interact among each other. Collaboration of systems objects. Collaboration diagram describes objects’ behavior in one user case zone. The collaboration diagram presents realization elements such as a class, objects and relationship among them. The diagram presents ensemble’s static and actions. The messages in collaboration diagrams numbered for showing the sending order. In this collaboration diagram (Fig. 1) user controls a form from which it begins to calculate coordinates truss axes.

244 For that the system automatically read initial data with nodes coordinates and bars numbers, writes useful information to a bars matrix and draws the axes of truss. After that the system automatically create matrix [A] of equilibrium equations of truss bars stress external loading. Finally, the system automatically calculate inverse matrix [A-1] and found stress, writes useful information to a bars matrix.

Fig. 1 Finding truss stress and displacements collaboration diagram The truss geometry is complex: the nodes need to be numbered, the numbers attached to the bars, the nodes coordinates, the bars length and corners need to be known. All data is written to the bars matrix, where specific bar’s information takes one matrix row. Further in design the matrix is written with other information about the bar: bar’s stress, required cross-section area, discovered cross-section area from two angles in the database, angle’s characteristics such as number, height, thickness of mesh, radius of inertia according to horizontal axis of cross-section center, distance to the center of mass. The matrix marks truss top, bottom bars and other useful information for finishing the project. We are dealing with the problem of obtaining inverse matrix. We will analyze matrix operations in the next chapter. 3. Reconstruction of equilibrium equations The equilibrium equations of truss bars stress {S} and external loading {F} is presented (1), there [A] is equilibrium equations coefficients matrix. From this equations we can found bars stress (2), there [A-1] is inverse matrix of [A]. The equilibrium equations matrix of truss nodes forms according to literature [1]. The matrix ends up very rare. It has rows with one member. Many rows on the main diagonal have zero members. Inverse matrix cannot be formed for such matrix. A method is provided how to transform such matrix in order to find the inverse matrix and solve the problem. First, rows which have non-zero member on the main diagonal line of the matrix are found and recorded in the matrix [V] which has the original matrix row numbers in the first column and the changed row numbers of the matrix in the second column (Fig. 2). [A] {S} = {F} {S} = [A-1] {F}

(1) (2)

Second, rows which have only one member are recorded in the row based on the member's column. Third, rows which have only two members are recorded. A check is performed that the rows do not repeat on the matrix [V] in the second column, and if so, they are recorded. Fourth, remaining rows are distributed. Repeating ones are changed by other non-zero members of the row. The program code of the fourth phase (Fig. 3):

For i = 1 To n V(i, 1) = i If A(i, i) 0# Then V(i, 2) = i End If Next i

Fig. 2 Forming matrix [V]

For i = 1 To n If A(i, i) = 0# Then k=0 For j = 1 To n If j i And A(j, i) 0# Then k=k+1 C(k) = j End If Next j For j = 1 To n For j1 = 1 To k If V(j, 2) = C(j1) Then C(j1) = 0

End If Next j1 Next j For j1 = 1 To k If C(j1) 0 Then V(i, 2) = C(j1) End If Next j1 For j1 = 1 To k C(j1) = 0 Next j1 End If Next i

Fig. 3 Forming matrix [A]

245 n – the number of rows and columns of matrix [A]; i, k, j, j1 – matrix row and column indices; C – vector of candidates indices. 4. Finding the inverse matrix One of the methods for finding an inverse matrix is to add the same dimensions unit matrix [E] on the left side of the original matrix [A] (Fig. 4). Manipulations are continued with rows and multipliers until the unit matrix is formed on the right of the initial matrix. The resulting matrix on the left [B] is the inverse matrix. We managed to write a program to make such alterations. The formed matrix [E] [A] is called [D], which has n rows and double the columns n2. Here are programmatic steps: First, all members of the rows are divided by the matrix main diagonal member. The main diagonal members become ones (Fig. 5) For k = 1 To n For i = 1 To n - 1 If D(k, k) 0# Then c = D(k, k) Else c = 1# End If For j = 1 To n2 D(k, j) = D(k, j) / c Next j Next i Fig. 4 [E][A] and [B][E] matrices

Fig. 5 First step

Second, in the same cycle obtained units are multiplied by the member below and deducted. This way the entire column under the main diagonal becomes all zeros. The other members as well are proportionally multiplied and subtracted. After this, zeros appear under the main diagonal (Fig. 6). Third, the same is done with the members located above the main diagonal; they are multiplied and deducted from the bottom up (Fig. 7). Fourth, multiplication and subtraction is performed from the bottom up again (Fig. 8). For i = k + 1 To n c = D(i, k) For j = 1 To n2 D(i, j) = D(i, j) - D(k, j) * c Next j Next i Next k

For k = 1 To n - 1 i=k–1 c = D(n - k, n - i) For j = 1 To n2 D(n - k, j) = D(n - k, j) - D(n - i, j) * c Next j Next k

For kk = 2 To n - 2 For k = kk To n - 1 i = k - kk c = D(n - k, n - i) For j = 1 To n2 D(n - k, j) = D(n - k, j) - D(n - i, j) * c Next j Next k Next kk

Fig. 6 Second step

Fig. 7 Third step

Fig. 8 Fourth step

Following this procedure matrix [D] is transformed consisting of the inverse matrix [A-1] and unit matrix [E]. 5. Example of the steel truss automated design system Flat steel truss automated design system is presented. User has prepared initial data (Fig. 9), where the first row has nodes x, y coordinates, the second row has bars’ start node numbers and the third one has bars’ end node numbers (Fig. 10). The program reads initial data and forms matrices of nodes and bars numbers. Later the bars matrix is formed in a cycle from all truss bars, the axes are drawn and equilibrium equations [A] matrix is formed (Fig. 11). The equilibrium equations consists of five equations of the nodes (2, 3, 4, 5, 6) projections on x-axis and four equations of the nodes (2, 4, 5, 6) projections on the y-axis toward.

246

Fig. 9 The initial data of a truss

Fig. 10 The scheme of truss

Program’s procedure results for designing truss and detecting stress are shown in Fig. 12 and Fig. 13.

Fig. 11 Initial matrix [A]

Fig. 12 After manipulations matrix [A]

Vector of the load is equivalent to the balance equations. If the load is only vertical then load vector’s numerical values are F2y = F4y = F6y = 1000 kN, F5y = 2000 kN. Program’s procedure results for detection of stress of truss bars are shown in Fig. 14.

Fig. 13 Inverse matrix [A-1]

Fig. 14 Bars matrix

Program’s procedure results for designing truss are shown in Fig. 15. How the prepared procedures work that draw in the drawing with different number of bars. How need time to carry out all algorithms to create drawing with AutoCAD 2006. The methods were compared in time of performance drawing with different number of bars of truss with PC X86, 2194 MHz, 2 GB RAM. The truss drawing with nine bars were created in 0.25 – 0.28 seconds and the drawing with seventeen bars were created in 0.35 – 0.39 seconds. 6. Conclusions Literature shows that the problem of finding the inverse matrix is still being examined. The authors present a program that allows the realization of flat steel truss design of an automated system. The system modeled by UML. Use case diagrams are typical user and system interaction. Use case diagram have following cases: finding stress and displacements, designing and drawing construction, formatting specifications. Use case “Finding stress and displacements” presented in collaboration diagram. All of this makes programmer’s work and communication with customers much easier.

247

Fig. 15 Automated formed truss The problem is solved programmatically in two steps: converting of the equilibrium equations and finding the inverse matrix. Equilibrium equation’s lines are switched places so that the main diagonal consists of non-zero elements. Inverse matrix is found by artificially created matrix pair [E] [A] and using the Gauss-Jordan elimination method until a pair of matrices [B][E] is formed. Created matrix [B] is the inverse matrix [A-1] of the matrix [A]. Programmatically found stress can fully automate the design of flat truss. A graphical environment and a working programming language in this environment are required for writing of such systems. For example, Visual Basic for Application programming language works with the AutoCAD environment. In the future, using this truss design technology, it is planned to solving truss net and form optimization tasks. References

1. Čyras, A. Structural mechanic. Mokslas. – Vilnius, 1989, 446 p. (in Lithuanian). 2. Bronshtein, I. N., Semendiajev, K. A. Reference of mathematics. Science. – Moscow, 1986, 544 p. (in Russian). 3. Pleshakov, G. N. Computer solution of the fundamental elimination problem, Cybernetics and Systems Analysis, 2010, vol. 46, no. 6, p. 1013–1020.

4. Li, W., Li, Z. A family of iterative methods for computing the approximate inverse of a square matrix and inner inverse of a non-square matrix, Applied Mathematics and Computation, 2010, vol. 215, p. 3433–3442.

5. Daniūnas, A.,Urbonas, K. Characteristics of the semi-rigid bolted steel joints under bending and axial forces and its influence on the frame behaviour, the 9th International conference Modern Building Materials, Structures and Techniques May 16-18, 2007 Vilnius, Lithuania, selected papers 2, 2007, p. 512–516. 6. Šešok, D., Belevicius, R. Global optimization of trusses with a modified genetic algorithm, Journal of Civil Engineering and Management, 2008, vol. 14, no. 3, p. 147–154. 7. Sokas, A. Specific creation features of the truss nodes automated design system - Proceeding of the 9th International Conference Modern Building Materials, Structures and Techniques, Vilnius, 16-18 May 2007, selected papers 2, 2007, p. 792–797. M. J. Skibniewski, P. Vainiūnas and E. K. Zavadskas, Editors. Vilnius, Technika. 8. Sokas, A., Juodagalvienė, B. Flat steel truss automated design system - Proceeding. of the 10th International Conference Modern Building Materials, Structures and Techniques, Vilnius, 19-21 May 2010, selected papers II, 2010, p. 804–809. P. Vainiunas and E. K. Zavadskas, Editors. Technika, Vilnius. 9. Heng, B. C. P., Mackie, R. I. Using design patterns in object-oriented finite element programming, Computers and Structures, 2009, vol. 87, p. 952–961. 10. Suter, G., Brunner, K., Mahdavi, A. Building Model Reconstruction Based on Sensed Object Location Information, Automation in Construction, 2007, vol. 16, p. 2–12. 11. Sokas, A. Automated Design and Visualization System of a House Foundation from Blocks, Journal of Civil Engineering and Architecture, 2010, vol. 4, no. 9, p. 26–31.