cornell university - finite strip method CU-FSM cornell university - finite strip method Finite Strip Analysis of Thin-walled Members User’s Manual v1.0d by Benjamin W. Schafer ACKNOWLEDGEMENT The author would like to acknowledge the sponsorship of the American Iron and Steel Institute (AISI). This software was created to aid research work sponsored by the AISI on the behavior and design of longitudinal stiffeners. Introduction 1. INTRODUCTION ..................................................................................................................................... 4 1.1 DOS VERSION VS. MATLAB® VERSION ................................................................................................... 4 1.2 SYSTEM REQUIREMENTS........................................................................................................................ 4 1.3 INSTALLATION OF DOS VERSION ........................................................................................................... 5 1.4 INSTALLATION OF MATLAB® VERSION ................................................................................................... 5 2. THE FINITE STRIP METHOD .............................................................................................................. 6 2.1 THEORETICAL DEVELOPMENT ............................................................................................................... 6 2.2 INTERPRETATING TYPICAL RESULTS ...................................................................................................... 7 3. DOS COMMAND LINE VERSION ...................................................................................................... 10 3.1 WRITING AN INPUT TEXT FILE ............................................................................................................. 10 3.2 RUNNING AN ANALYSIS ....................................................................................................................... 11 3.3 PROCESSING THE RESULTS................................................................................................................... 11 3.3.1 in Microsoft Excel ....................................................................................................................... 11 3.3.2 In other programs ....................................................................................................................... 12 3.4 TROUBLESHOOTING ............................................................................................................................. 12 4. CU-FSM FOR NOVICE MATLAB® USERS ....................................................................................... 13 4.1 STARTING CU-FSM ............................................................................................................................. 13 4.2 OVERVIEW OF USING CU-FSM ............................................................................................................ 13 4.3 THE MAIN PAGE .................................................................................................................................. 13 4.4 THE SIMPLE PRE-PROCESSOR .............................................................................................................. 15 4.5 THE GENERAL PRE-PROCESSOR ........................................................................................................... 16 4.6 SECTION PROPERTIES........................................................................................................................... 18 4.7 ANALYSIS ............................................................................................................................................ 19 4.8 THE SINGLE POST-PROCESSOR ............................................................................................................. 20 4.9 THE COMPARISON POST-PROCESSOR ................................................................................................... 22 4.10 TROUBLESHOOTING ........................................................................................................................... 23 5. CU-FSM FOR EXPERIENCED MATLAB® USERS .......................................................................... 24 5.1 RUNNING FROM THE COMMAND LINE ................................................................................................... 24 5.2 PRINTING TO A FILE .............................................................................................................................. 25 5.3 COMPARING MULTIPLE PLOTS ............................................................................................................. 25 5.4 USING YOUR OWN M-FILES, EXAMPLE: A PARAMETER STUDY FOR LIP LENGTH .................................... 26 3 Introduction 1. Introduction CU-FSM is a program designed to give the elastic buckling stresses (loads) for any simply supported thin-walled member subjected to arbitrary stress conditions at its ends. Once a cross-section is properly defined, the program proceeds by examining a variety of different lengths for the section. The stress and the shape at which buckling ensues is recorded for each of the lengths. The resulting “buckling curve” and “mode shape” may be used to better understand the behavior of the section under consideration. Since the solution is numerical in nature the geometry of the cross-section may be quite complicated without greatly increasing the demand on the user. Compared to hand methods the solution is much more direct. In addition, since full cross-sections may be modeled, interaction between elements is readily captured. Use of such a numerical technique hopefully frees the engineer to consider more innovative cross-sections without greatly complicating the tasks for the engineer. Warning: CU-FSM only calculates elastic buckling behavior. Just like Pcr for a column, sometimes the elastic buckling behavior is vital to understanding the member – sometimes not. It is up to the engineer to appropriately use the output from such an analysis. 1.1 DOS version vs. Matlab® version Two versions of CU-FSM come on every disk – one may be run within a DOS window, it accepts a text file as input and outputs a text file, the other version is completely graphical and runs within Matlab® v5. The text input—output version is found in the directory a:\execufsm. The executable file is a:\execufsm\execufsm.exe. The user is requested to enter an input filename and an output filename, more on that in section 3. The files for the graphical version of CU-FSM are in the directory a:\cufsm. The program may be run by typing a:\cufsm\cufsm at the command prompt in Matlab® v5. Complete details begin in section 4. 1.2 System Requirements All of the software was tested on a Pentium PC with MMX running Microsoft Windows 95. The DOS command line version “execufsm.exe” should run on any Windows 95 machine – it is 32bit console application and therefore may not run on Win 3.1 machines. This has not been tested. The Matlab® program “cufsm.p” should run on any machine, PC, Macintosh, UNIX workstation, etc. that has Matlab® version 5 or greater. The non-graphical routines will 4 Introduction work on earlier versions of Matlab such as version 4. See section 5 for details on using CU-FSM from the command line in Matlab directly. 1.3 Installation of DOS version No specific program has been written for installation. Simply copy the files to the location you desire on your hard drive. Copy a:\execufsm\*.* and a:\execufsm\examples\*.* to the directory (folder) of your choice. For the examples discussed in this manual it will be assumed that you copied the files to c:\execufsm and c:\execufsm\examples. 1.4 Installation of Matlab® version No specific program has been written for installation. Simply copy the files to the location you desire on your hard drive. Copy a:\cufsm\*.* and a:\execufsm\examples\*.* to the directory (folder) of your choice. For the examples discussed in this manual it will be assumed that you copied the files to c:\cufsm and c:\cufsm\examples. 5 The Finite Strip Method 2. The Finite Strip Method The finite strip method is a specialization of the more general finite element method. Consider the discretizations of the channel sections shown in Figure 1. The finite strip discretization is only in the transverse direction. The resulting “long elements” are termed “strips” – hence the name finite strip method. finite element finite strip Figure 1 If the longitudinal displaced shape is chosen to be a single half sine wave then the solution simplifies a great deal. In fact, the stiffness matrices for the strip may be expressed analytically. This simplifying choice for the longitudinal displaced shape limits the application from handling arbitrary boundary conditions, but creates a solution which is efficient enough and straightforward enough to be useful for everyday practice. 2.1 Theoretical Development The finite strip method was originally developed by Y.K. Cheung. An excellent summary of the method, and the theory behind it, can be found in his book (Cheung 1976). The use of the finite strip method for understanding and predicting the behavior of hot-rolled steel members, and cold-formed steel members has been greatly extended by G. Hancock. Hancock used the stiffness matrices derived in Cheung’s book, and with some modification, created BFINST (currently named THIN-WALL) – a computer program for solution of the elastic buckling problem of open thin-walled members via finite strip. His early work in the field on I-Beams (Hancock 1977, 1978) led to the acceptance and understanding of the use of the finite strip method. More recently, in a book on coldformed steel design, the use of the finite strip method as a design aid is explicitly shown (Hancock 1994). CU-FSM also follows the theoretical development in Cheung. The complete derivation of the stiffness matrices employed can be found in Schafer (1997). The coordinate directions and degrees of freedom for a typical strip are shown in Figure 2. Note the rather unusual choice of the x-z coordinate system. This is consistent with Cheung’s original derivation. 6 The Finite Strip Method b y a x 1 v1 v2 u1 w1 z u2 w2 Figure 2 For a member composed of multiple strips the contribution of each strip must be formed into a global elastic stiffness: # strips K k n n 1 and a global geometric stiffness k Kg #strips n 1 g n . The summation implies proper coordinate transformations and correct addition of the stiffness terms in the global coordinates and degrees of freedom. The elastic buckling problem is then a standard eigenvalue problem K d K g d . Where the eigenvalues , are the buckling load, and the eigenvectors the buckling modes. Both [K] and [Kg] are a function of the length, a. Therefore, the elastic buckling stress and the corresponding buckling modes are also a function of a. The problem can be solved for several lengths, a, and thus a complete picture of the elastic buckling stress and modes can be determined. 2.2 Interpreting Typical Results Consider the analysis of a channel section in pure compression with a 5” web, 2.5” flanges, 1” lips a thickness of 0.04” and a reference input compression stress of 1 ksi as shown in Figure 3. 7 The Finite Strip Method Figure 3 After analyzing at a variety of lengths ranging from 1” to 1000” the result is the following “buckling curve”. The horizontal axis is the half-wavelength, the vertical axis is the load factor. The labeled points indicate numerically observed minimums. Figure 4 The first minimum occurs at a length of 7.0 and a load factor of 2.79. The mode shapes for this minimum are shown in both 2D and 3D in Figure 5. You can see that this corresponds to the local buckling mode. The buckling stress is 2.78 times the input stress. In this case the input stress is 1 ksi, so the elastic buckling stress is simply 1 2.79 ksi. Figure 5 The second minimum occurs at a length of 70.0 and a load factor of 9.82. The mode shapes of Figure 6 show this to be the distortional mode. 8 The Finite Strip Method Figure 6 Note that for long lengths the curve drops of yet again. This is the classic column buckling mode – in this case shown in Figure 7. Figure 7 Note that special attention was given to the minimums in these curves. Why is little attention given to the “upwards” branches of the curve? The reason is that the previous minimum would still control. This is due to the difference between the true displaced shape and the assumed single half sine wave shape.. In addition, the minimum points reveal the fundamental buckling modes. Given a choice the elastic analysis tells us that the member would buckle into sine waves that repeat themselves at a half-wavelength equal to the corresponding minimum wavelengths. The finite strip method reveals several different elastic buckling modes for the member. This is fundamentally different than predicting only the local buckling stress based on assumptions about how the elements will or will not interact. This ability to pick up the different modes is one of the reasons that the method is so useful. 9 DOS Command Line Version 3. DOS Command Line Version 3.1 Writing an Input Text File An input file may be written in any text editor you choose. Also, inputting the data in Microsoft Excel and then pasting into a text file appears to work without any problem. The analysis requires information on the material properties (the general case of an orthotropic plate is considered), the nodal information and stress, the element connectivity and thickness, and the half-wavelengths to be analyzed. The basic format for the input file is: #nodes #elements #lengths Ex Ey x y G node# xcoordinate zcoordinate xDOF zDOF yDOF DOF stress [repeat until all nodes are defined]. element# nodei nodej t [repeat until all elements are defined]. len1 len2 . . .[enter a total of #lengths lengths] Where, the variables used in this text file may be described as: #nodes #elements #lengths Ex Ey x y G node# Xcoordinate zcoordinate xDOF zDOF yDOF DOF stress element# Total number of nodes defined. Total number of elements defined. Total number of lengths to be analyzed. Modulus of Elasticity in the x-direction. Modulus of Elasticity in the y-direction. Poisson’s ratio in the x-direction. Poisson’s ratio in the y-direction. Shear modulus. A node number. x coordinate of node# z coordinate of node# Longitudinal (along the element) x degree of freedom of node# (1 = free, 0 = restrained.) Longitudinal z degree of freedom of node# (1 = free, 0 = restrained.) Longitudinal y degree of freedom of node# (1 = free, 0 = restrained.) Longitudinal rotational degree of freedom of node# (1 = free, 0 = restrained.) Stress at the node. (The stress is linearly interpolated from node to node.) A element number 10 DOS Command Line Version nodei Nodej T Len1 len2 First node (end i) which defines an element. Final node (end j) which defines an element. Thickness of the element. First length to be analyzed Second length to be analyzed. . .. 3.2 Running an Analysis Assuming that the program has been installed in c:\execufsm then the procedure for running the input file c:\execufsm\input.txt is as follows: 1. Go to the location of execufsm.exe and double click on the icon or 2. Go to the DOS prompt and type c:\execufsm then execufsm. The result is: -----------------------------------------------CU-FSM -- Cornell University Finite Strip Method -----------------------------------------------Command Line Executable Version 1.0 Nov. 10,1997 ------------------------------------------------ Enter the filenames within single quotes, for example 'input.txt' is a valid entry. Please Enter the input filename: 'input.txt' Please Enter the output filename: 'output.txt' [The analysis then proceeds through the lengths, reporting each length as it finishes.] ---------------Analysis Complete---------------3.3 Processing the Results During the analysis the user is asked to give the filename for the output. The generated output file is ascii text. The information is delimited by spaces. The buckling curve (length vs. load factor) and the mode shapes for each individual length are given in the output file. 3.3.1 in Microsoft Excel Start Microsoft Excel. Select “File”-“Open”, then change “Files of Type” to “All Files”. Select your output file and hit the “Open” button. Select “delimited” and then “Next”. Check the box marked “Space” and uncheck the “Tab” box. Hit “Finish” the output file should properly import into Excel. Once the data is into Excel, scatter plots of the buckling curve and mode shapes will show all the necessary information. Highlight the appropriate data, select “Insert”-“Chart” and answer the Chart Wizard questions. Make sure to select scatter plot. Do not select a 11 DOS Command Line Version line plot, in Excel a line plot assumes the x-data is equally spaced, this is usually not the case in engineering applications – therefore always use scatter plot. 3.3.2 in other programs Other programs that have automatic text import should have no problem with this data file. However, only importing into Excel was checked. If it is desired to write your own program to read the data file this should be a relatively straightforward task. The length of all the data can be found in the first line of the input file. The number of lengths used and the number of nodes analyzed are the primary variables needed in order to determine the length of the output file. Before writing your own software I highly recommend investigating the Matlab® version of CU-FSM – it can already do much of what you want. Plus, within the Matlab environment you have complete control over all the routines used in the analysis – including the post-processing. 3.4 Troubleshooting Use of a text file for input creates a rather unforgiving interface. If the number of nodes, number of elements, or number of lengths is wrong in the first line of the text file the analysis will not work. Most likely the error will say “divide by zero.” The input text file must be carefully checked. Use spaces to delimit the numbers in the input text file, not commas. Tabs should work fine, but if you experience a problem, by all means remove them. EXECUFSM.EXE has not been checked for DOS on Win 3.1 machines. Remember compression stresses are positive. Still no luck? Perhaps you should try bothering the author – e-mail bs19@cornell.edu. 12 CU-FSM for novice Matlab® users 4. CU-FSM for novice Matlab® users CU-FSM has been designed to work for those who have no Matlab® experience. If you are familiar with Matlab® you will be able to reap the advantages of more advanced capabilities. However, for the typical user it is not required to know even elementary commands. 4.1 Starting CU-FSM Once you have installed Matlab® v5 or higher, double click on the icon and start Matlab®. Assuming you have installed the files for CU-FSM under c:\cufsm then type the following at the Matlab command line: » cd c:\cufsm (If you installed the program in a different directory then use cd to go to the appropriate place.) Now simply type » cufsm the program should begin. 4.2 Overview of Using CU-FSM CU-FSM is a complete graphical interface for finite strip analysis of thin-walled members. The program consists of a pre-processor, section properties, analysis stage, and post-processor. Each of the parts of CU-FSM will be discussed briefly in the following sections. It is hoped that for the most part a person will be able to input a file, analyze, and investigate without significant aid from these instructions. 4.3 The Main Page Upon starting CU-FSM within Matlab® the user is greeted by the main page. The main page provides the way to perform analysis and get into the pre and post processors. 13 CU-FSM for novice Matlab® users Figure 8 Two pre-processors are at the disposal of the user. The simple input pre-processor is for non-branching isotropic thin-walled members. Typical channel, zeds, and hats all fall into this category. The requirements for input are greatly reduced for these types of sections. The general input pre-processor allows complete control over the input file. All the characteristics described in the text input file (section 3.1) may be changed using this preprocessor. Also, some advanced features are available in this pre-processor that are not available in the simple input pre-processor. Select the General Input radio button and then the Pre-Processor button to execute this pre-processor. The Section Properties button allows one to examine the section properties of a member entered in the pre-processor. It also calculates the yield moments and squash load based on a user inputted yield stress. In addition, stress distributions based on entering in a moment or load for the entire cross-section may be generated here. This avoids the sometimes tedious task of determining the desired stress at every node. To perform an analysis simply select the Analyze button. Two different post-processors are at the disposal of the user as well. The One Analysis Only post-processor is for the complete analysis of one finite strip run. The interface allows the buckling curve and the mode shapes in both 2D and 3D to be examined. 14 CU-FSM for novice Matlab® users The Compare Two Runs post-processor allows the buckling curve and 2D mode shapes of two different analyses to be directly compared. Select the Compare Two Runs radio button and then the Post-Processor button to execute this post-processor. 4.4 The Simple Pre-processor After selecting the simple input pre-processor from the main page the window shown in Figure 9 appear. Press the plot button to see the shape and the loading. A default section is provided when the section begins. To modify this section simply highlight any data in yellow and change the number to the desired value. Figure 9 For a non-branching cross-section in which the nodes may be numbered consecutively as the elements are defined the input is particularly simple. Enter the node number, the x coordinate, the z coordinate and the stress on the node to define your section. Remember from Figure 2 that the z coordinate is positive down, and a positive stress is compression. Modify the material properties and the lengths to be analyzed as you see fit. Consistent units must be used. When modifying the lengths, each length to be analyzed may be explicitly entered in order, or you may enter in starting values, ending values and increments. For instance entering “10:10:100” is equivalent to entering in “10 20 30 40 50 60 70 80 90 100”. At any time you may plot your cross-section and stress to make sure you are entering in correct values. 15 CU-FSM for novice Matlab® users Upon completion hit the Save button and give a filename. An extension of .mat will automatically be added to the filename. Of course you may load any file into the simple input pre-processor as well. Simply use the Load button and select the file. You may exit this page and return to the main page by selecting the exit button in the upper right corner. 4.5 The General Pre-processor After selecting the general input pre-processor from the main page the window shown in Figure 10 appears. Press the plot button to see the shape and the loading. A default section is provided when the section begins. To modify this section simply highlight any data in yellow and change the number to the desired value. Figure 10 The general pre-processor allows complete control of the input file. The result is that a significant amount of input is required of the user. The material properties must first be defined. Ex, Ey, x, y, and G are required to define the orthotropic plate properties. (Of course for an isotropic plate Ex = Ey, x, = y, and G is uniquely defined by E and ). See Figure 2 for the coordinate directions and section 3.1 for further discussion of these properties. The next input that is required is all of the nodal information. A typical row requires the user to define the: node#, xcoordinate, zcoordinate, xDOF, zDOF, yDOF, DOF, and stress. The node# is the number for the node being defined. The x and z coordinates (xcoordinate zcoordinate) come next. Then the longitudinal degrees of freedom (xDOF zDOF yDOF DOF). These define 16 CU-FSM for novice Matlab® users whether or not any of the degrees of freedom are supported along the entire longitudinal edge. A 1 for a DOF corresponds to a free state, a 0 a fixed state. For a member all of the degrees of freedom should be 1 as shown in Figure 10. This means that no support is provided longitudinally – only the usual simple support at the ends. In some cases restraint along the longitudinal edge is desired. For instance, an isolated plate in which the longitudinal edges are simply supported would have xDOF and zDOF at the supported edge = 0 instead of the usual 1. The last entry is the stress at the node. Compression stresses take positive values. Stresses are linearly interpolated across the elements. The next input that is needed is the element connectivity. This tells CU-FSM how the elements connect to the nodes as well as the thickness of the element. Four inputs are required: element#, nodei, nodej, and t. The number of the element goes in the first column, then the two nodes which define the element go in the nodei and nodej column. Finally the thickness is entered in the t column. The final input is the half-wavelengths to be analyzed. When modifying the lengths, each length to be analyzed may be explicitly entered in order, or you may enter in starting values, ending values and increments. For instance entering “10:10:100” is equivalent to entering in “10 20 30 40 50 60 70 80 90 100”. Figure 11 An added feature for the general pre-processor is the ability to automatically generate more elements in a given cross-section. (In finite element parlance: you are creating a “finer mesh” by using more elements.) The number of elements may be doubled by pressing the Double Elem. button. 17 CU-FSM for novice Matlab® users Figure 11 shows the result of pressing the Double Elem. button for the member being analyzed in Figure 10. The number of elements is doubled and the node numbers and element numbers are appropriately updated and reported to the screen. At any time you may plot your cross-section and stress to make sure you are entering in correct values. Upon completion hit the Save button and give a filename. An extension of .mat will automatically be added to the filename. Of course you may load any file into the general input pre-processor as well. Simply use the Load button and select the file. You may exit this page and return to the main page by selecting the exit button in the upper right corner. 4.6 Section Properties After selecting the section properties button from the main page the user is immediately requested to select a file for analysis. Once this is completed the section properties module appears. Figure 12 The module consists of three pieces. The Section Properties piece which is found in the upper portion of the module reports the section properties for the selected file. The second piece allows the user to calculate the yield load and/or moments for the member. The final piece allows the user to generate stress distributions for use in subsequent analysis. 18 CU-FSM for novice Matlab® users In the example shown in Figure 12 a Z section has been selected. A yield stress of 55 ksi has been entered and the “Calculate” button has been pushed. The yield moment about the x-x axes has been entered in the Stress Distribution section and the “Generate” button has been pushed. If it is desired to use this stress distribution for a subsequent analysis the “Save” button should be selected. As a default the yield moments and generated stress distribution reflect the unsymmetric bending nature of the problem. Thus, the generated stress distribution for the moment about the x-x axes varies in the x and z direction for a Z section. If the restrained bending option is selected the yield moments and stress distribution may be recalculated assuming the bending is forced around the x-x or z-z axes. The result is shown in Figure 13. The stress distribution for the section now only varies linearly in the z direction for a moment about the x-x axes. Figure 13 You may exit this page and return to the main page by selecting the exit button in the upper right corner. 4.7 Analysis Analysis proceeds from the main page (Figure 8). Simply select the Analysis button and then select the file to be analyzed. A wait bar will come up showing you the progress of the analysis. Upon completion of the analysis select the post-processor and examine the data. 19 CU-FSM for novice Matlab® users 4.8 The Single Post-processor Upon selecting the Post-Processor button from the main page and then selecting a file a screen similar to Figure 14 will appear. Figure 14 The post-processor allows a complete examination of the buckling mode shapes and the buckling curve. The controls for the buckling mode shape are in the upper left. The controls for the buckling curve are in the lower left. For the buckling mode, the most important controls are the arrows which select the length to be plotted. By selecting up or down any of the analyzed lengths may be selected. Once a length is chosen then the mode may be plotted by selecting Plot Mode. Typically the best way to see the mode shape is a 2D plot with the undeformed shape plotted as well. The 2D plots in Figure 5 - Figure 7 show this type of output. This is the default plotting mode in the post-processor. However, at times this is not the best way to understand what the analysis is doing. By selecting the 3D radio button and turning off the deformed shape one can get a very clear picture of how the finite strip analysis works. For the default example in the pre-processor this is done for the length corresponding to the local mode – and shown in Figure 15. 20 CU-FSM for novice Matlab® users Figure 15 In order to examine the loading on the member select the Plot Stress button. This will show the undeformed cross-section and the load that is on the member. If details about the member geometry are needed the user will need to go back to the pre-processor and load the appropriate file. The options for plotting the buckling curve allow for complete control over the axis limits. Simply select the new desired limits and then press the Plot Curve button. If the Min. radio button is selected then the numerically determined minimum points will be reported on the curve. The minimum is reported as an x,y pair so the (wavelength,load factor) are the numbers reported to the screen. If the “load factor” is an unfamiliar concept please see section 2.2. If the Log X radio button is selected then the curve will be plotted with a log scale for the x axis. In Figure 15 a curve in which the ymax, min., and Log X have all been modified from the default choices is shown. A text version of the buckling curve may be readily generated if the user is unfamiliar with Matlab® and would like to use the data in another program. Simply select Text Output and give the filename. You may exit this page and return to the main page by selecting the exit button in the upper right corner. 21 CU-FSM for novice Matlab® users 4.9 The Comparison Post-processor Upon selecting the Compare Two Runs radio button and then the Post-processor button the comparison post-processor will begin. The comparison post-processor is similar to the single post-processor, but allows for two analyses to be examined. [Note: the comparison post-processor was created from an older version of the single post-processor, some of the buttons do not work quite the same and there is no 3D plots – however the rest of the functionality is similar.] The user is queried for both the first and second input files before the post-processor begins. The buckling curve and the mode shapes are plotted by selecting Plot Mode and Plot Curve. The first input file is in the top left. The filename is reported just below the mode shape. The filename is color coded to the curve which plots below. The second input file is in the upper right – its filename is also color coded to the curves outputted in the buckling curve. The analysis of the default channel section loaded first in flexure and then in pure compression is shown in Figure 16. The local modes are plotted for each of the analyses. The member in compression shows a dominant local web buckle, while the member in flexure has a dominant local flange buckle. Of the two curves shown in the buckling curve – the member in compression is the lower one. Use of this post-processor for comparing the affect of geometric changes, loading changes, discretization etc. should be apparent. Figure 16 22 CU-FSM for novice Matlab® users 4.10 Troubleshooting I can’t get CU-FSM to start? – You must have Matlab® version 5.0 or greater to run the program. You must be in the correct directory to run the program. Use cd at the Matlab prompt to change directories. I get a divide by zero error when I try to analyze? – This will happen for a member that is only under tension, remember compression stresses should be positive. I went to the post-processor but nothing plotted? – The same file is used for input and output. Make sure you have run the analysis and that you have the correct file selected for use in the post-processor. Also, you have to select the Plot buttons, a plot is not automatically completed when the program starts. I want to increase the number of elements of a simple member. – The best way to accomplish this is to enter in only the corner coordinates and load in the simple pre-processor. Save the file – then go to the general pre-processor, load the file, select the Double Elem. button the desired number of times, then save again. My buckling curve is “jaggy” not smooth. – You need to increase the number of lengths you are analyzing. Remember when entering in the lengths you do not have to explicitly enter in every length you can use ranges. For instance “1 5 10:10:50 100” will cause analyses to be performed at “1 5 10 20 30 40 50 100”. I want to compare several runs, not just two runs. – For large parameter studies you should use the Matlab® functions directly. More on that in the following section. Still no luck? Perhaps you should try bothering the author – e-mail bs19@cornell.edu. 23 CU-FSM for experienced Matlab® users 5. CU-FSM for experienced Matlab® users For the purposes of this discussion an experienced Matlab® user should be comfortable with the difference between the command line and writing m-files. Familiarity of the syntax for Matlab® programming will be advantageous for understanding some of the examples. Several excellent books exist which explain the basics of Matlab® if you want to take full advantage of CU-FSM it would serve you well to get one of these books. Matlab® is a powerful tool for the engineer. If you use Matlab® for a few weeks, never again will you write a FORTRAN program or use QuickBasic.. Most likely other staples in your analysis diet such as Excel will also see limited use. Enough advertising – let us get to the details. All of the routines for CU-FSM are available as m-files. Thus a user can access any or all of the routines by calling them from the command line in Matlab, or from within their own m-files. This allows complete flexibility in how CU-FSM is used. 5.1 Running from the command line The m-file that actually performs the finite strip analysis is called “strip”. This m-file requires 4 matrices: prop, node, elem, lengths. These four matrices are the exact same as the inputs used in the graphical pre-processors. For instance let’s say we are going to analyze an angle 3”x3”x0.08” in pure compression with a stress of 10 ksi, with only 2 elements. At the command line enter: » prop=[29000 29000 0.3 » node=[1 0.0 0.0 1 1 1 2 0.0 3.0 1 1 1 3 3.0 3.0 1 1 1 » elem=[1 1 2 0.08 2 2 3 0.08]; » lengths=[1:1:10]; 0.3 29000/(2*(1+0.3))]; 1 10.0 1 10.0 1 10.0]; To run the analysis make the call to the m-file strip by: » [curve,shapes]=strip(prop,node,elem,lengths) The two output variables (matrices) are curve and shapes. Curve is the buckling curve in the first column is the lengths analyzed, in the second column is the mode shapes. You may get a quick look at the buckling curve by plotting the first column vs. the second column: » plot(curve(:,1),curve(:,2)) 24 CU-FSM for experienced Matlab® users This obviously seems more cumbersome than using the graphical interface, but all of the above statements could have been made in an m-file. Thus the process can be automated without ever having to deal with the graphical interface. 5.2 Printing to a file Obviously you may use a screen capture at anytime during CU-FSM to get a printout. However, this may not always be satisfactory. Matlab includes a number of ways to print out figures. Currently CU-FSM only supports these through the command line. For instance to print the current figure as an encapsulated postscript select the Matlab command window then type »print -deps -tiff filename In Word use the Insert-Picture command to bring in the picture file. If you are printing to a postscript printer the quality should be quite good. You may also use the print command to “copy” the current figure to the clipboard. Type: »print -dmeta or »print -dbitmap A plethora of printing and copying options exist – type “help print” at the Matlab® command line and dig in. [Note: Getting Matlab® figures into word processors qualifies as one of those, computer programmers don’t quite “get it” events. The best method for quality that I have found is the encapsulated postscript file – but you should experiment.] 5.3 Comparing Multiple Plots It is quite possible that you have three or more buckling curves that you would like to examine at the same time. You may readily compare these curves by loading the curves into the workspace and then plotting all three of them at once. If the data is in data1.mat, data2.mat, data3.mat, then: »load data1 »curve1=curve; »load data2 »curve2=curve; 25 CU-FSM for experienced Matlab® users »load data3 »curve3=curve; »plot(curve1(:,1),curve1(:,2),curve2(:,1),curve2(:,2),curve3 (:,1),curve3(:,2)) »legend(‘data1’,’data2’,’data3’) This will create a plot of the three buckling curves and a legend. You may label the axes, title the plot, etc. Simply type “help plot” and then examine some of the options shown there, such as xlabel, ylabel, axis, title. . .. 5.4 Using your own m-files, Example: A parameter study for lip length The following is a detailed example of how to do your own parameter study and employing some of the routines from CU-FSM. As an example consider a parameter study on a channel section in pure compression in which it is desired to learn the affect of increasing the lip length on the elastic buckling characteristics. Only one dimension the lip length is a variable, in this example the rest are constants. So an analysis must be done for each of the lip lengths to be analyzed. The four matrices prop, node, elem, and lengths will be needed for the analysis. This type of parameter study is actually quite straightforward now: The complete m-file is given here: %param_example.m %Parameter Study Example Problem % %Consider a channel section with varying lip length in pure compression %Millimeters are selected for length, Newtons for force, MPa = N/mm^2 for stress %compression stress of 10MPa is examined % % %The basic variables will be %h = the web height %b = the flange width %d = the lip length %t = thickness % h=100; %mm b=30; %mm d=[5 9 13 17]; %mm t=1; %mm % %Define the material properties prop=[2.03E5 2.03E5 0.3 0.3 2.03E5/(2*(1+0.3))]; % %Define the lengths lengths=[10:10:100 150:50:1000]; % %Enter in a loop where the lip length is varied an analysis is run for i=1:length(d) node=[1 b d(i) 1 1 1 1 1.0 2 b 0.0 1 1 1 1 1.0 3 0.0 0.0 1 1 1 1 1.0 4 0.0 h 1 1 1 1 1.0 5 b h 1 1 1 1 1.0 6 b h-d(i) 1 1 1 1 1.0]; elem=[1 1 2 t 2 2 3 t 26 CU-FSM for experienced Matlab® users 3 3 4 t 4 4 5 t 5 5 6 t]; %double the number of elements to improve the discretization [node,elem]=doubler(node,elem); %perform the finite strip analysis [curve,shapes]=strip(prop,node,elem,lengths); %assign the curve name -- not a pretty way, but explicit. (Type help eval for a %nicer way to do this same function but with variables. if i==1 curve1=curve elseif i==2 curve2=curve elseif i==3 curve3=curve elseif i==4 curve4=curve end end % save curves curve1 curve2 curve3 curve4 %in case a different program is used. % figure(1) plot(curve1(:,1),curve1(:,2),'-o',curve2(:,1),curve2(:,2),'-x',... curve3(:,1),curve3(:,2),'-s',curve4(:,1),curve4(:,2),'-d') %plot solid lines w/ symbols axis([0 1000 0 400]) title('Buckling Curves from Parameter Study') legend('d=5','d=9','d=13','d=17') xlabel('half-wavelength (mm)') ylabel('Buckling Stress (MPa)') %because a reference load of 1MPa was used this is %the buckling stress instead of just the load factor The result of running this analysis is the curves in Figure 17. You can clearly see the influence of increasing the lip length on this member. Analysis at longer lengths would show the classic long-wavelength column buckling modes. Figure 17 The entire finite strip analysis is contained within the line [curve,shapes]=strip(prop,node,elem,lengths); Also the doubler m-file is used to provide a reasonable discretization to the member, but without having to define lots of extra elements. 27 References The ability to perform parameter studies and batch process large amounts of finite strip analysis is beneficial for thorough studies on the behavior. Several parameters may be varied an investigated. The analysis may be further automated by picking the minimums off of the curve. The applications for this type of approach are quite general and numerous. 6. References Cheung, Y.K. (1976). Finite Strip Method in Structural Analysis. Pergamon Press, New York. Hancock, G.J. (1977). “Local, Distortional and Lateral Buckling of I-Beams.” Research Report, School of Civil Engineering, University of Sydney. R312. Hancock, G.J. (1978). “Local, Distortional and Lateral Buckling of I-Beams.” Journal of the Structural Division, ASCE. 104(11). Hancock, G.J. (1994). Design of Cold-Formed Steel Structures (To Australian Standard AS 1538-1988). 2nd Edition, Australian Institute of Steel Construction, North Sydney, Australia. Schafer, B.W. (1997) Cold-Formed Steel Behavior and Design: Analytical and Numerical Modeling of Elements and Members with Longitudinal Stiffeners, Ph.D. Dissertation, Cornell University, Ithaca, NY 28