+ All Categories
Home > Documents > Use of Symbolic Mathematics in Structural Analysis Problems

Use of Symbolic Mathematics in Structural Analysis Problems

Date post: 21-Nov-2014
Category:
Upload: jalam
View: 114 times
Download: 3 times
Share this document with a friend
Description:
This paper demonstrates the use of an open source freely available symbolic mathematics package MAXIMA to solve the problems related to the structural analysis problems.
Popular Tags:
33
Use of Symbolic Mathematics in Structural Analysis Problems CEEN 5849 Date: May 5 th , 2010 Prepared by: A.B.M. Mostafizur Rahman & Fisseha Habtewold Games Graduate Students Dept. of Civil & Environmental Engineering Youngstown State University
Transcript
Page 1: Use of Symbolic Mathematics in Structural Analysis Problems

Use of Symbolic Mathematics in Structural Analysis Problems

CEEN 5849

Date: May 5th, 2010

Prepared by:

A.B.M. Mostafizur Rahman

&

Fisseha Habtewold Games

Graduate Students

Dept. of Civil & Environmental Engineering

Youngstown State University

Page 2: Use of Symbolic Mathematics in Structural Analysis Problems

This paper demonstrates the use of an open source freely available symbolic mathematics package MAXIMA to solve the problems related to the structural analysis problems.  

Structural Analysis is one of the basic courses in Civil Engineering dealing with establishing different types of structures and degree of determinacy, calculating reactions, deflections and internal forces (axial force, shear, and bending moment) for determinate and indeterminate structures. The manual way of solving problems in Structural Analysis  is thought to Civil Engineering students to improve their understanding of structural analysis basic concepts within a limited time. In professional practice this is conducted with powerful software available nowadays. In this process most software details remain hidden to the user. Assumptions and limitations of the software package are often easy to overlook. The engineer is responsible for assessing the validity of the computer results by conducting independent check. And also the engineer may need to develop custom solutions for research or professional practice. For such cases there are powerful matrix algebra packages like Matlab, MathCAD, Maxima and others which afford the possibility of developing solutions with relative ease.

             Maxima is free software with a fairly complete computer algebra system written in lisp with an emphasis on symbolic computation. It is based on DOE-MACSYMA and licensed under the GPL. Its abilities include symbolic integration, 3D plotting, and an ODE solver. The Maxima source code can be compiled on many systems, including Windows, Linux, and MacOS X. Maxima yields high precision numeric results by using exact fractions, arbitrary precision integers, and variable precision floating point numbers. Maxima can plot functions and data in two and three dimensions.

         The calculations involved in analysis of determinate structures is simple and often can be solved by hand calculations or by using simple electronic calculator. But most of the structures in real life are indeterminate, the solution process of which always involved complex calculations, matrix operations, differential and integral calculus etc and same is true for the deflection problems of both determinate and indeterminate structures. Also for learning and teaching purposes its always very time consuming to solve those problems. These structural analysis problem can be devided into two steps, first step is to develop the equations which can be any type such as: matrix equation, differential equation or integral equation depending on the method adopted to solve the problem. Second step is to solve those equations for the unknowns. For teaching & learning purposes first step should always be done by hand calculation with basic concepts of the method adopted in order to have in depth knowledge of the procedure and fluency in structural analysis. But the second step is purely mathematical which only involves mathematical operations. Softwares for doing symbolic algebra like Maxima can easily solve it.

        We are presenting four problems here to demonstrate how Maxima can be used for mathematical operations to solve structural analysis problems. First & second problem we chose is indeterminate frame problems and we use Castigliano's Method and Virtual Work Method respectively to solve these two problems. Third problem is a plane truss problem with 2 degrees of external indeterminacy. We solved this problem using virtual work and methods of joints. Finally our fourth problem is a gable frame with side sway which is solved using Slope-Deflection Method. The following paragraphs include the brief description of the problems and their solution using symbolic algebraic computation software Package Maxima.

Page 3: Use of Symbolic Mathematics in Structural Analysis Problems

Problem #1: Determine the reactions at the supports for the frame shown below using Castigliano's method.   

The Maxima Batch file to solve this Problem is:

kill(all);Ay:w*L2/2;Dy:Ay;M1:-Ax*x1+Ma;M2:Ay*x2-(w*x2^2/2)+Ma-Ax*L1;Uab1:integrate(M1*diff(M1,Ax)/EI,x1,0,L1);Ubc1:integrate(M2*diff(M2,Ax)/EI,x2,0,L2);U1:2*Uab1+Ubc1;Uab2:integrate(M1*diff(M1,Ma)/EI,x1,0,L1);Ubc2:integrate(M2*diff(M2,Ma)/EI,x2,0,L2);U2:2*Uab2+Ubc2;eqn1:U1=0;eqn2:U2=0;solve(eqn1,Ma);eqn3:ev(eqn2,%);[eqn1,eqn2];solve (%, [Ax, Ma]);ev(%,w=1,L1=20,L2=10);float(%);

Page 4: Use of Symbolic Mathematics in Structural Analysis Problems

And the Solution will look like this:

Page 5: Use of Symbolic Mathematics in Structural Analysis Problems
Page 6: Use of Symbolic Mathematics in Structural Analysis Problems

Problem # 2: Determine the reactions at the supports for the frame shown below using Virtual work method. 

The Maxima commands for solving this problem:

kill(all);Dvp:integrate((P*(x-l))*(2*l-x)/EI,x,0,l);Dvrv:integrate((Rav*x)*(x)/EI,x,0,2*l);Dvrh:integrate((Rah*3*l)*(x)/EI,x,0,2*l);/*Compatibility eqn 1*/eqn1:Dvp+Dvrv+Dvrh=0;Dhp:integrate((P*(x-l))*(3*l)/EI,x,0,l);Dhrv:integrate((Rav*x)*(3*l)/EI,x,0,2*l);Dhrh:integrate((Rah*x)*x/EI,x,0,3*l)+integrate((Rah*3*l)*(3*l)/EI,x,0,2*l);/*Compatibility eqn 2*/eqn2:Dhp+Dhrv+Dhrh=0;b:solve([eqn1,eqn2],[Rav, Rah]);Rav:rhs(b[1][1]);Rah:rhs(b[1][2]);/*summation of horizontal forces in the x-direction is zero*/eqn3:Rah+Rbh=0;solve(%,Rbh);/*summation of vertical forces in the x-direction is zero*/eqn4:Rav+Rbv-P=0;solve(%,Rbv);/*summation of moment at B is zero*/eqn5:Mb+Rav*(2*l)+Rah*(3*l)-P*l=0;solve(%,Mb);

Page 7: Use of Symbolic Mathematics in Structural Analysis Problems

The Maxima Output will look like this:

Page 8: Use of Symbolic Mathematics in Structural Analysis Problems
Page 9: Use of Symbolic Mathematics in Structural Analysis Problems

Problem # 3: Determine the reactions at the supports for the frame shown below using Virtual work method. The support at 8 settles 0.5 in. AE is constant for all members.AE=150,000K.

The Maxima commands for solving this problem:

kill(all)$

L:read("Enter the Lentgh of each panel,L = ?");

H:read("Enter the Height of the Truss, H = ?");

EA:read("Enter the value of EA = ?");

delta[2]:read("Enter the value of support 2 displacement = ?");

delta[3]:read("Enter the value of support 3 displacement = ?");

theta:atan(2*H/L);

S:sin(theta);

C:cos(theta);

L[1]:l/S;

L[2]:l;

L[3]:l/S;

L[4]:l;

Page 10: Use of Symbolic Mathematics in Structural Analysis Problems

L[5]:l/S;

L[6]:l;

L[7]:l/S;

L[8]:l;

L[9]:l/S;

L[10]:l;

L[11]:l/S;

L[12]:l;

L[13]:l;

L[14]:l/S;

L[15]:l/S;

L:12;

EA:150000;

delta[2]:0;

delta[3]:0.5;

R[5]:rhs(R[5]=0);

e1:R[2]+2*R[3]+3*R[4]=0;

R[4]:rhs(solve(e1,R[4])[1]);

e2:R[1]+R[2]+R[3]+R[4]=0;

R[1]:rhs(solve(e2,R[1])[1]);

R[1];

f[1]:rhs(f[1]=0);

f[2]:rhs(f[2]=0);

e3:f[3]*S+R[1]=0;

f[3]:rhs(solve(e3,f[3])[1]);

e4:f[3]*C+f[4]=0;

f[4]:rhs(solve(e4,f[4])[1]);

e5:f[3]*S+f[5]*S=0;

Page 11: Use of Symbolic Mathematics in Structural Analysis Problems

f[5]:rhs(solve(e5,f[5])[1]);

e6:f[6]+f[5]*C-f[3]*C=0;

f[6]:rhs(solve(e6,f[6])[1]);

e7:f[7]*S+f[5]*S+R[2]=0;

f[7]:rhs(solve(e7,f[7])[1]);

e8:f[4]+f[5]*C-f[7]*C-f[8]=0;

f[8]:rhs(solve(e8,f[8])[1]);

e9:f[7]*S+f[9]*S=0;

f[9]:rhs(solve(e9,f[9])[1]);

e10:f[6]+f[7]*C-f[9]*C-f[10]=0;

f[10]:rhs(solve(e10,f[10])[1]);

f[13]:rhs(f[13]=0);

f[15]:rhs(f[15]=0);

e11:f[14]*S+f[15]*S+R[4]=0;

f[14]:rhs(solve(e11,f[14])[1]);

e12:f[12]+f[14]*C=0;

f[12]:rhs(solve(e12,f[12])[1]);

e13:f[11]*S+f[14]*S=0;

f[11]:rhs(solve(e13,f[11])[1]);

for i:1 while i<=15 do display(f[i])$

for i:1 while i<=15 do f2[i]:print('f[i],"=",ev(f[i],R[2]=-1,R[3]=0))$

for i:1 while i<=15 do f3[i]:print('f[i],"=",ev(f[i],R[2]=0,R[3]=-1))$

S1:0;

for i:1 while i<=15 do S1:print(S1+L[i]*f[i]*f2[i])$

E1:ratsimp(S1=delta[2]*EA);

S2:0;

for i:1 while i<=15 do S2:print(S2+L[i]*f[i]*f3[i])$

E2:ratsimp(S2=delta[3]*EA);

Page 12: Use of Symbolic Mathematics in Structural Analysis Problems

sol:ev(solve([E1,E2],[R[2],R[3]]),l=L*12),numer;

R[2]:rhs(sol[1][1]);

R[3]:rhs(sol[1][2]);

for i:1 while i<=15 do f[i]:float(ev(f[i]))$

for i:1 while i<=15 do display(f[i])$

And The Output will be:

Page 13: Use of Symbolic Mathematics in Structural Analysis Problems
Page 14: Use of Symbolic Mathematics in Structural Analysis Problems
Page 15: Use of Symbolic Mathematics in Structural Analysis Problems
Page 16: Use of Symbolic Mathematics in Structural Analysis Problems
Page 17: Use of Symbolic Mathematics in Structural Analysis Problems
Page 18: Use of Symbolic Mathematics in Structural Analysis Problems
Page 19: Use of Symbolic Mathematics in Structural Analysis Problems
Page 20: Use of Symbolic Mathematics in Structural Analysis Problems
Page 21: Use of Symbolic Mathematics in Structural Analysis Problems
Page 22: Use of Symbolic Mathematics in Structural Analysis Problems

Problem # 4: Determine the reactions at the supports for the gable frame shown below using slope deflection method. 

The Maxima Commands for this problem is as follows:

kill(all)$

print("Please enter all the inputs in term of 'L' or 'l'")$

Lab:read("Enter the length of AB,Lab=");

Lc:read("Enter the vertical distance from joint B to C=");

Lae:read("Enter the Horizontal distance from joint A to E,Lae=");

assume(L>0)$

assume(l>0)$

Lde:Lab;

Lbc:sqrt((Lae/2)^2+Lc^2);

Lcd:Lbc;

FEM[AB]:0;

FEM[BA]:0;

FEM[BC]:-w*Lbc^2/12;

FEM[CB]:w*Lbc^2/12;

Page 23: Use of Symbolic Mathematics in Structural Analysis Problems

FEM[CD]:0;

FEM[DC]:0;

FEM[DE]:0;

FEM[ED]:0;

delta[1]:Rab*Lab;

delta[2]:Rde*Lde;

CC:(Lbc/Lc)*0.5*(delta[1]-delta[2]);

Rbc:-CC/Lbc;

Rcd:CC/Lbc;

theta[A]:0;

theta[E]:0;

Mab:FEM[AB]+(2*E*I/Lab)*(2*theta[A]+theta[B]-3*Rab);

Mba:FEM[BA]+(2*E*I/Lab)*(theta[A]+2*theta[B]-3*Rab);

Mbc:FEM[BC]+(2*E*I/Lbc)*(2*theta[B]+theta[C]-3*Rbc);

Mcb:FEM[CB]+(2*E*I/Lbc)*(theta[B]+2*theta[C]-3*Rbc);

Mcd:FEM[CD]+(2*E*I/Lcd)*(2*theta[C]+theta[D]-3*Rcd);

Mdc:FEM[DC]+(2*E*I/Lcd)*(theta[C]+2*theta[D]-3*Rcd);

Mde:FEM[DE]+(2*E*I/Lde)*(2*theta[D]+theta[E]-3*Rde);

Med:FEM[ED]+(2*E*I/Lde)*(theta[D]+2*theta[E]-3*Rde);

wH:w*Lc;

wV:w*Lae/2;

eqn1:(Mab+Mba)/Lab+wH-Hcb=0;

Hcb:rhs(solve(eqn1,Hcb)[1]);

eqn2:Hcd+(Med+Mde)/Lde=0;

Hcd:rhs(solve(eqn2,Hcd)[1]);

eqn3:Vcb*(Lae/2)+Hcb*Lc-(wV*Lae/4)-(wH*Lc/2)-Mcb-Mbc=0;

Vcb:rhs(solve(eqn3,Vcb)[1]);

eqn4:-Hcd*Lc-Mcd-Mdc+Vcd*(Lae/2)=0;

Page 24: Use of Symbolic Mathematics in Structural Analysis Problems

Vcd:rhs(solve(eqn4,Vcd)[1]);

eqn5:Hcb-Hcd=0;

eqn6:Vcb-Vcd=0;

eqn7:Mba+Mbc=0;

eqn8:Mcb+Mcd=0;

eqn9:Mdc+Mde=0;

b:solve([eqn5,eqn6,eqn7,eqn8,eqn9],[theta[B],theta[C],theta[D],Rab,Rde]),numer;

theta[B]:rhs(b[1][1]);

theta[C]:rhs(b[1][2]);

theta[D]:rhs(b[1][3]);

Rab:rhs(b[1][4]);

Rde:rhs(b[1][5]);

'Mab=ev(Mab,float);

'Mba=ev(Mba,float);

'Mbc=ev(Mbc,float);

'Mcb=ev(Mcb,float);

'Mcd=ev(Mcd,float);

'Mdc=ev(Mdc,float);

'Mde=ev(Mde,float);

'Med=ev(Med,float);

The Maxima Solution:

Page 25: Use of Symbolic Mathematics in Structural Analysis Problems
Page 26: Use of Symbolic Mathematics in Structural Analysis Problems
Page 27: Use of Symbolic Mathematics in Structural Analysis Problems
Page 28: Use of Symbolic Mathematics in Structural Analysis Problems
Page 29: Use of Symbolic Mathematics in Structural Analysis Problems

The four Structural analysis problems presented here demonstrates that Maxima handles the mathematical part of the solution well giving output with high precision. As computing these problems manually requires large efforts and time it is a better approach to make use of free matrix algebra packages like maxima.

Page 30: Use of Symbolic Mathematics in Structural Analysis Problems

References:

1. Hibbeler R. C., Structural Analysis, 7th edition.2. Maxima website: http://maxima.sourceforge.net/3. MAXIMA reference Manual: http://maxima.sourceforge.net/docs.shtml


Recommended