pr1sample

# pr1sample - EGM6365 Project #1 Optimization of Space...

This preview shows page 1. Sign up to view the full content.

This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: EGM6365 Project #1 Optimization of Space Structure A space frame structure as shown in the figure consists of 25 truss members. Initially, all members have the same circular cross-sections with diameter d = 2.0 in. At nodes 1 and 2, a constant force F = 60,000 lbf is applied in the positive y-direction. Four nodes (7, 8, 9, and 10) are fixed on the ground. The frame structure is made of a steel material whose properties are Young’s modulus E = 3×107 psi, Poisson’s ration ν = 0.3, yield stress σY = 36,000 psi, and mass density ρ = 7.3×10−4 lb⋅sec2/in4. The safety factor N = 1.5 needs to be used for the yield stress. Due to the manufacturing constraint, the diameter of the frame can be continuously changed between 0.1 in and 2.5 in. (1) Solve the initial truss structure using truss finite element MATLAB program. Provide a plot that shows labels for elements and nodes along with boundary conditions. Provide a stress contour plot and a table of stress at each element. (2) Using ‘fmincon’ function in MATLAB, minimize the structural weight by changing the cross-sectional diameter of each truss element, while all members are safe under the given yield stress and the safety factor. You can use the symmetric geometry of the structure. Identify zero-force members. For zero-force members, use the lower bound of the cross-sectional diameter. Provide a stress contour plot at the optimum design along with a table of stress at each element. Provide structural weights and diameters of each member at initial and optimum designs. Submit your part of MATLAB program. Output max Iter F-count f(x) constraint Step-size 1 26 3.64062 -0.5 1 2 53 3.1317 218.2 1 3 80 2.30249 670 1 4 107 1.87707 6570 1 5 134 1.78052 925.4 1 6 161 1.7421 25.14 1 7 188 1.67351 2.776e-17 1 8 215 1.59223 575.7 1 9 242 1.59204 6.498 1 10 269 1.58079 0.03891 1 11 296 1.57686 0.001086 1 12 323 1.57437 0.00619 1 13 351 1.57146 0.05981 0.5 14 378 1.56778 0.05448 1 15 405 1.56405 0.8109 1 16 432 1.56406 3.385e-06 1 Hessian modified Optimization terminated successfully: Search direction less than 2*options.TolX and maximum constraint violation is less than options.TolCon x = 0.1000 2.1274 0.9803 2.2250 fval = 0.1000 2.1274 0.9803 2.2250 0.1000 0.1000 0.9803 2.2250 0.1000 0.1000 0.1000 2.2250 0.1000 1.6246 0.1000 Directional derivative Pro -0.53 -0.951 -0.503 -0.112 -0.0415 -0.213 -0.0835 -0.000583 -0.0174 Hessia -0.00404 -0.00307 Hessia -0.0167 Hessia -0.00901 -0.00373 6.9e-06 Hessia -1.22e-07 2.1274 1.6246 0.1000 2.1274 0.9803 0.1000 1.5641 Weight = fval * 384 = 600.6 lbf output = iterations: funcCount: stepsize: algorithm: firstorderopt: cgiterations: 16 434 1 'medium-scale: SQP, Quasi-Newton, line-search' Lagrange Multiplier 1.0e-05 * 0 0 0.5551 0.5551 0.1997 0.1997 0.7585 0.7585 0 0 0.1997 0.7585 0 0 0 0.7585 0 0.2281 0 0.5551 0.2282 0 0.5551 0.1997 0 File project1.m x0 = [2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2]; lb=[0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1 ,0.1,0.1,0.1,0.1,0.1,0.1]; ub=[2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5 ,2.5,2.5,2.5,2.5,2.5,2.5]; option=optimset('Display','iter'); [x, fval, flag,output,lambda] = fmincon('objprj',x0,,,,,lb,ub,'conprj',option); File objprj.m % Objective function is the mass of the structures function f = objfun(x) nodes=[ -1.5, 0, 1.5, 1.5, -4, 4, -4, -4, 8; 1.5, 0, 8; -1.5, 1.5, 4; 4; 1.5, -1.5, 4; -1.5, -1.5, 4; 0; 4, 4, 0; 4, -4, 0; 0]*12; %in/ft A = pi; E = 3E7; den = 7.3E-4; % in^2 % psi %node 1, node 2,area, E members = [ 1,2,A,E; 1,4,A,E; 2,4,A,E; 2,5,A,E; 4,5,A,E; 3,4,A,E; 4,9,A,E; 5,8,A,E; 6,9,A,E; 6,10,A,E; 2,3,A,E; 1,3,A,E; 6,5,A,E; 4,7,A,E; 3,7,A,E; 1,5,A,E; 1,6,A,E; 3,10,A,E; 3,8,A,E; 4,8,A,E; 2,6,A,E; 3,6,A,E; 6,7,A,E; 5,10,A,E; 5,9,A,E]; area = 0.25 * pi * (x.^2); f = 0; %mass for i = 1:25 n1 = members(i,1); n2 = members(i,2); length = sqrt((nodes(n1,1)-nodes(n2,1))^2 + (nodes(n1,2)-nodes(n2,2))^2 + (nodes(n1,3)-nodes(n2,3))^2); f = f + den * length * area(i); end File conprj.m function [c, ceq] = confun(x) % 25-member space structure nodes=[ -1.5, 0, 8; 1.5, 0, 8; -1.5, 1.5, 4; 1.5, 1.5, 4; 1.5, -1.5, 4; -1.5, -1.5, 4; -4, 4, 0; 4, 4, 0; 4, -4, 0; -4, -4, 0]*12; %in/ft E = 3E7; A = 0.25 * pi * (x.^2); %node 1, node 2,area, E members = [ 1,2,A(1) ,E; 2,4,A(6) ,E; 4,5,A(11),E; 4,9,A(16),E; 6,9,A(21),E; % psi 1,4 ,A(2) ,E; 2,5 ,A(7) ,E; 3,4 ,A(12),E; 5,8 ,A(17),E; 6,10,A(22),E; 2,3,A(3) ,E; 1,3,A(8) ,E; 6,5,A(13),E; 4,7,A(18),E; 3,7,A(23),E; 1,5 ,A(4) ,E; 2,6 ,A(5) ,E; 1,6 ,A(9) ,E; 3,6 ,A(10),E; 3,10,A(14),E; 6,7 ,A(15),E; 3,8 ,A(19),E; 5,10,A(20),E; 4,8 ,A(24),E; 5,9 ,A(25),E]; active_nodes = [1,2,3,4,5,6]; loads = [1,0,60000,0;2,0,60000,0]; %node, fi,fj,fk dof = 3; %FE solution for the nodal displacements [displacements, stress] = solve_fem(nodes,members,active_nodes,loads,dof); c = abs(stress) - 36000/1.5; ceq=; ...
View Full Document

## This note was uploaded on 06/07/2011 for the course EGM 6365 taught by Professor Staff during the Spring '08 term at University of Florida.

Ask a homework question - tutors are online