|
|||||||||||
|
TABLE OF CONTENT
This program is suitable for mechanical engineers who occasionally need to perform a stress analysis. It is as well a good professional tool to check analysis provided by others. In these functions I used it in my professional practice and brought it into very practical shape. Cofea input is simple and almost intuitive. Any engineer with knowledge of basic terms like tension, shear and bending should understand. Nevertheless it always helps to read the manual. All files created by Cofea are ASCII text files. Input file is space delimited file except for weld input, which is comma delimited. Course of computation consist of three basic steps: 1) Use File menu Start from the scratch to create an input table template for a new job, or use File menu Open file from disk to open previously saved file. 2) When editing table for a new job, replace all # characters and all default values with wanted numbers. Then you may create a DXF file and check the geometry of the model in AutoCAD or Insert it as Picture From file... to MS Word, Excel etc. 3) Finally you have to Run Cofea, review the results, correct the errors. It is very common to try few approaches before the model is satisfactory. When you run the program, you may indicate separate output files or you may append the input file with output. Both methods have their advantages and disadvantages. It is upon the user to decide which filing method to use. It is usually practical to use separate files in the development stage and then use append mode only for the final report. Whenever you open Cofea, the program is looking for Cofea.ini file and reads default values for: file extension for input file If the Cofea.ini doesn't exist, program shall create one using the pre-defined values. You may change them using the Configuration menu. Cofea.ini is a hidden file located in the directory which is specified in Properties form of Windows as the Start up directory. Whenever you exit Cofea, the program shall write new Cofea.ini file using the latest values for the above variables. To return variables for file extensions to .in and .out, name to Cofea and title to Case 1, use menu Configuration/Restore defaults. Restoring defaults shall not alter any paths. Cofea text editor is a part of the Cofea program. To specify Cofea editor, set path to editor to Cofea.exe. As an alternative you may use external text editors supplied with the Windows; the Notepad, Write, MS Word or any other word processor of your choice. When using the alternative option you should use only Save, Exit or Print functions. Save the files as text (ASCII) only; other file formats e.g. MSWord documents (*.doc) etc. must not be used as input file. To keep figures and tables aligned, select font Courier New. With other fonts, the tables may be crooked as the fonts use the proportional spacing, while Courier font applies equal spacing. You need a DXF viewer to review geometry of your model. It is a good checking tool. Although MS Word, Excel, PowerPoint do not officially support three dimensional DXF files, they do import nicely. The view point may be specified when DXF file is created. Standard installation of MS Office does not install DXF viewer. Nevertheless the viewer may be installed any time later from MS Office CD ROM. When you want to alter an input file, you may use File menu Rename and save input block . Command saves only the input part of the file. This is the part of the file above the last row of at least five stars (*). Therefore if the file was appended with output data, the appended data shall not appear in the renamed file. The Title of the file shall be altered to the new file name and the new file will be automatically inserted into Cofea so you can immediately start editing of an alternative model. The first line of the input file is a Title. The Title may be edited. Cofea reads the Title from the input file and prints it on the first line of the output file, but not vice versa. It is convenient to use title line to list some details and identification of a job. Input numbers are organized in tables. When the tables are edited the numbers may become disarranged. It does not affect function of the program as far as there is at least one space between two numbers on the same line (except for weld connections input), the file is a space delimited file. Negative sign must proceeds the number without space, decimal numbers may have form .1 (-.1) or 0.1 (-0.1). Large numbers may be entered as 3.456e6 (-3.456e6). Small numbers may be entered as 3e-6 (-3e-6). Properties of welds at nodes may be entered at the bottom of the input file. This part of the file is comma delimited - there must be comma between numbers e.g. 7, 14, -1.87, X, Y etc. The Cofea is dimensionally homogeneous, you may use any system of measures. a) GLOBAL coordinates b) LOCAL coordinates x', y', z' have origin at the 'from' node of an element and positive coordinate z' goes through the 'to' node of the element. Therefore LOCAL coordinate z' is centerline of the element. Orientation of the element is given by element properties as specified in MATERIAL table and rotation gamma in ELEMENTS table. c) Node labels may be any combination of letters and numbers but they may not contain space (because tables are space delimited) or character # (because program would interpret it as missing number). d) Weight always acts in the positive direction of the GLOBAL coordinate y. Therefore when y is up, weight must be negative. You may specify two weights for one element e.g. for empty and full pipe. e) Expansion/contraction acts in the direction of LOCAL coordinate z' (centerline of the element). Expansion is positive, contraction is negative. Expansion/contraction may be caused by temperature, internal pressure etc. It must be specified in percent of the total element length. f) Uniformly Distributed Loads (UDLs) qx' and qy' act in the direction of LOCAL coordinates x' and y'. g) Any node may be listed in support tables both as rigid support, as a spring support, or with a pre-determined deformation. When the program is run, a form for calculation selection appears. If the box for pre-determined deformation or spring is not checked, support is calculated as rigid. When it is checked, then support is calculated with deformation or spring. If for the same node and direction, both deformation and spring is specified, then the deformation takes precedence. h) Weld properties (comma delimited) may be entered at the end of the input file. Weld must be located at, or very close to a node. 3. START FROM SCRATCH - INPUT FILE: To start new job from scratch, the following information must be known: Number of materials of construction and you have to decide a file name and title of the job. 'Number of ...' is used only to build blank input form. They may be revised and changed later. Input blank form contains only table headings and input numbers are marked by the character #, or some default values are pre-printed on the form. They all have to be changed into wanted numbers. Weld input is not included in this stage. You have to add it later manually. It is important not to add or delete (although you may modify them if required) a line from the input table headers. Program is written to read these lines as dummy and expect them to be there, even if they have no impact on calculations. The number which indicates number of inputs in given input section e.g. 3 MATERIALS, 15 NODES etc. must reflect the current number of inputs. Program reads file line by line and this number tells it how many lines to read in the given input section. Therefore if the number doesn't correspond exactly with the number of inputs, program would read wrong numbers into wrong variables and would not run. If you started the input table with wrong number of inputs and you added or deleted some input lines from the table, you must change the number in the table header to fit. The first section is MATERIALS. This table has a multiple-line header and corresponding multiple-line input, see example below. The first number in the header (e.g. 2 MATERIALS) specify, how many materials shall be declared. This number is the only data the program reads from the header. After reading this number, the program skips the header lines (except for material description, see below) and proceed to read data about the materials itself. For easier user orientation in table some lines are only spacers to separate inputs. The spacer may be just an empty line, but if specified, it must be presented in the input. Important note: In this table, all sectional properties are listed for local coordinates that is, you input them as you read them from the material catalog, no recalculation is required. Be careful though, when specify two dimensional problems. Important material properties are not in one column e.g. you need to specify Jx' and Wx' but at the same time you need Az' to calculate tension - if you specify Ax' instead, you get no tension but shear, which usually is irrelevant. If the cross section of the element is rotated, e.g. it is in different position then shown in catalog, then this rotation gamma must be specified in the table ELEMENTS. The first line is a spacer. The second line of material data contains pre-printed string 'Matl.' followed by sequential number of the material. Program ignores this but it reads the material verbal description, which is on the first line after the colon (:). By default, Cofea prints in this area string 'matl. description', which, in the example below, was replaced by string 'bolt' and '*dummy'. Purpose of the colon is just to show the beginning of the material verbal description, it would not appear in the printout. The position of the colon on the line is also irrelevant, you may move it. In material description you may use any character (including the space) except a pound character (#), as the program would interpret it as missing input. The pre-printed sequential number is the material reference number. You will have to refer to this number in the section ELEMENTS. The description may be about fifty characters long, but only the first 8 letters behind the colon shall be used in the Cofea printout. If the first character following the colon is star (*) than the Cofea shall not print any calculated data for the element using this material. Thus you may designate dummy elements with unusual material properties (which is a very useful concept) and at the same time avoid their printout. Special pre-defined material is material number 0 (zero). This material has very low numerical value of all inputs and therefore may be used to virtually remove an element from the structure, without correcting the input file. Properties of the 'matl. 0' are: Ax' = Ay' = Az' = Wx' = Wy' = Q' = Jx' = Jy' = K' = 1e-6, E = 1, Poisson = 1, weight 1 & 2 = 0. You do not have to declare matl. 0, it is pre-defined. Case 1 title ================================================================== spacer 2 MATERIALS header E cold Ax' Ay' Az' header E hot Poisson Wx' Wy' Q' header weight1 weight2 Jx' Jy' K' header ------------------------------------------------------------------ 1st line, spacer Matl. 1 :bolt 2nd line 27.9e6 0 0 .11 3rd line 27.9e6 0.3 5.18e-3 0 0 4th line 0 0 9.7e-4 0 0 5th line ------------------------------------------------------------------ Matl. 2 :*dummy 27.9e6 0 0 0.54 27.9e6 0.3 0 0 0 0 0 0 0 0 ================================================================== Note that some of input table values in the example above were not altered and 0 (zero) has been left as pre-printed. It doesn't mean the value e.g. of Ax' or Ay' for the material number 1 was taken as 0 (zero). It only indicates that default values for this material property shall be used. Program shall use default values for A' and W' as 1e9, for J' as 1e-9. In that context, program shall see the material number 2 - the dummy - as extremely flexible material, which may carry only the axial force and no bending moment or torsion. Only the axial tension or compression stress therefore shall have a meaningful value. Other stresses shall be zero. Such element may be used e.g. in statically determined structures with elements in tension or compression only. This is a time saving feature, you do not have to find or calculate material properties you do not intend to apply. The third line contains four numbers for: shear areas Young modulus E cold (e.g. at room temp.), Ax', Ay', and tension or compression area Az'. The fourth line contains five numbers. Young modulus E hot (e.g. at operating temp.), Poisson constant, bending moduluses Wx', Wy' and torsional modulus Q'. The fifth line contains five numbers, dead weight 1 and 2 (e.g for empty and full pipe), and moduluses of inertia in bending Jx', Jy' and torsional constant K'. If the cross section of the element is rotated, e.g. joist is installed as H not as I, then this rotation gamma must be specified in the table ELEMENTS.
Young modulus for carbon steel at room temperature E = 27.9e6 psi and Poisson constant = 0.3 are pre-printed into the input form. If you are using material with different value of Young modulus or Poisson constant, just type over new values. Tension or compression area Az' is sectional area which resist axial force Fz' (e.g. for the joist above Az'= 0.5 * 2.5 * 2 + 0.25 * 3 = 3.25). Shear area Ax' and Ay' is the sectional area which resists shear force Fx' and Fy'. Ax' and Ay' are required to calculate maximum shear and depends on the shape of the section. E.g. for a flat bar Ax' = Ay' = 2/3 Az', for a circular section Ax' = Ay' = 3/4 Az'. For sections like joist, channel etc. the shear areas may be given in the tables. If not, you may roughly estimate Ax' and Ay' as area of rectangular shapes which have longer side parallel with the given direction. E.g. for joist with vertical web as shown above, the Ax' = area of top and bottom flanges Ax'= 0.5 * 2.5 * 2 = 2.5, Ay'= area of the web Ay'= 0.25 * 3 = 0.75. For any rectangular shape (web, flange etc.), the maximum shear is located in the middle of longer side. If you want to ignore shear stress, use default values for Ax' and Ay' (that is input table shall show Ax' = Ay' = 0, which the program interprets as Ax' = Ay' = 1e9 - large area, therefore zero stress). Shear stress in web may be used to calculate size of the weld connecting the beam web and flange. Only for circular sections like rod, pipe etc. and for welds it may be assumed that section stay planar and therefore K' = polar moment of inertia and Q'= polar moment'/radius. For open sections like joist, channel, angle etc., torsional properties are listed in tables. For other open shapes, special formula must be found in literature. E.g. for thin flat bar approximate value for K' = 1/3 * width * thickness 3 and Q' = Jz'/thickness. For any open section composed from rectangular shapes of uniform thickness, the fist approximation of K'= (sum of K' for all rectangulars) and Q'= K'/thickness. If the section has variable thickness, use the maximum thickness as section thickness. Maximum shear is in the middle of the longer side of the thickest rectangular. Shear is zero at corners. For closed sections you may use following approximations: K'= 4 * Am 2 * t/Om, where Am = mean area enclosed by the boundaries, t = wall thickness, Om = length of wall centerline, Q'= 2 * Am * t. When investigating structure where all elements are only in tension or compression, use default values for Jx' and Jy'. Useful data about any section may as well be obtained from utility program Inertia. Weight 1 or 2 is UDL and it always acts in the direction of positive GLOBAL coordinate y. For the same material two dead weights may be specified, e.g. as for empty pipe and pipe full of water. As UDL, it is simulated by two forces and two moments. Weight of a material must be stated in units homogeneous with the units selected for unit of length (L) and weight (F). Let say you decide to use inch for unit of length [L], and pound for unit of weight [F] in imperial units; Newton and millimeter (note that 1m = 1000mm) in SI units. In imperial units it is customary to give weight in pounds per foot, therefore 1 lb/foot = 1/12 lb/inch. In SI units it is customary to give weight as mass per meter e.g. kg/m (be aware that laymen usually do not distinguish between weight in Newtons and mass in kilograms and that they interchange these terms freely). To convert mass into force (weight), you must multiply the mass by gravity acceleration (note that it is true on Earth only) of 9.81 m/sec2. Therefore 1 kg/m = 1 x 9.81/1000 = 0.00981 N/mm or approximately 0.01 N/mm. In the next section NODES, you must list GLOBAL coordinates x, y, z of nodes. There is one input line for each node and each line contains five numbers. The first number is node sequential number. Sequential numbers must be unbroken sequence of integers 1, 2, 3, ... n. They are pre-printed by the Cofea, and if you do not add or remove a node, they do not have to be edited, program shall supply the right sequential number using the total number of inputs in the section header. The second number is a node label which may be combination of letters and numbers. Do not use space and character #. Default node labels is sequence of multiples of 5, that is 5, 10, 15... They may be listed in any order but each node must be given a unique label; you may not have two different nodes with the same label. ================================================================== 12 NODES label x y z 1 10 -1.375 0 0 2 15 -1.375 0 1.375 3 20 -1.270 0 1.682 4 25 -0.972 0 2.233 5 30 -0.526 0 2.614 6 35 0 0 2.75 7 40 0.526 0 2.614 8 45 0.972 0 2.233 9 50 1.270 0 1.682 10 55 1.375 0 1.375 11 60 1.375 0 0 12 65 0 0 1.375 ================================================================== The next table is ELEMENTS and there is one line of input data for each element. Each line contains eight numbers. The fist number on the line is pre-printed element number followed by 'from' and 'to' nodes of the element. LOCAL coordinates of the element have origin at 'from' node and LOCAL positive z' is the centerline of the element. Any node of the element may be the 'from' or 'to' node but it is easier to determine direction of UDLs if the element is in the positive direction (roughly speaking it is when the from node is closer to the origin of coordinates). ================================================================== 19 ELEMENTS Matl. % UDL elem from to No. ex/con gamma qx' qy' 1 10 15 1 0 0 0 0 2 15 20 1 0 0 0 0 3 20 25 1 0 0 0 0 4 25 30 1 0 0 0 0 5 30 35 1 0 0 0 0 6 35 40 1 0 0 0 0 7 40 45 1 0 0 0 0 8 45 50 1 0 0 0 0 9 50 55 1 0 0 0 0 10 55 60 1 0 0 0 0 11 65 15 0 0 0 0 0 12 65 20 0 0 0 0 0 13 65 25 0 0 0 0 0 14 65 30 0 0 0 0 0 15 65 35 2 0 0 0 0 16 65 40 0 0 0 0 0 17 65 45 0 0 0 0 0 18 65 50 0 0 0 0 0 19 65 55 2 0 0 0 0 ================================================================== The fourth number is the material number. Refer to the applicable material number from the MATERIALS section. Note usage of material number 0 (zero) in the above example. After a load was applied some elements carried tensile force, which, is impossible because elements only touch each other - they therefore can carry only compression force. To remove the element, the matl. 0 was specified. This method is acceptable for developmental stage. For final printout, you may delete superfluous inputs. At the same time you must alter number of ELEMENTS at the top of the table accordingly. The fifth number is expansion (positive) or contraction (negative) of the element in percent of true element length. Apart for thermal stresses calculations, this feature may be used to model e.g. bolt pre-stressing. Let say a steel bolt (E = 27.9e6 psi) must be pre-stressed to 30000 psi. Therefore the bolt element must be shrinked by 30000/E = 30000/27.9e6 = 1.03e-3 = 0.108%, and the number shall be negative. This calculation assumes that connected parts are rigid; if they are flexible (e.g. flanges) the right amount of shrinkage often must be found by trial and error. Thermal expansion of element may be found by multiplying the temperature by thermal expansion coefficient. E.g. steel expansion coefficient is 12e-6 per degree C. An element heated to 200 degree C therefore expands 200 * 12e-6 = 24e-4 = 24e-2% = 0.24%. Another case where this feature may be used is for pipe elongation due to the fluid pressure. Longitudinal stress in pipe of mean diameter d, pressure p and wall thickness t may be calculated from the formula sigma = p.d/(4.t). Calculate the elongation using this stress and the same method as for the bolt pre-stressing. The value in this case shall be positive (expansion).
Next number is rotation gamma of the cross section of the element. Properties of the element cross section for rotation gamma = 0 are defined by the section properties in the MATERIALS table. Note that some sections e.g. T section has the same numerical input for both position as shown in the figure below, therefore program cannot distinguishes which is which. It is upon the user to interpret results correctly. Cross section of any element may be rotated along it centerline by any angle gamma. Program transforms GLOBAL loading vector into LOCAL loading vector and evaluates LOCAL deformations and then transforms local deformations into global. Positive rotation rotates the section in the direction of the positive moment. Positive rotations are clockwise for GLOBAL coordinate system x to east, y up, z south. If you change direction on one coordinate, positive rotations shall be counter clockwise. Decide direction of gamma rotation first from the used GLOBAL system and second looking on the element cross section in the direction from the 'to' node toward the 'from' node of the element. Some most common rotations are shown in the figure below.
Sections like pipe or tube have the same properties in every direction, therefore the rotation of the section is irrelevant. Very often the sections like joists, beams etc. are symmetrical about both x' and y' axis, then the sign of the rotation is irrelevant. Care must be taken only for sections which have only one axis of symmetry like channels or tees and sections which have no axis of symmetry at all, like unequal angles. Bending stress in flanges of the section which are in compression has to be checked for stability and user has to recognize if the indicated bending stress is for flange in compression or tension. The last two numbers are UDLs qx' and qy'. UDLs have the same orientation as the LOCAL coordinates x' and y' of element. Table for EXT. LOADS has three lines of input for each node. The first line is a spacer to make the editing more comfortable. The second line contains sequential number, node label at which the load is applied, and GLOBAL components of force Fx, Fy, Fz acting on this node. The last line contains GLOBAL components of moment Mx, My, Mz.
==================================================================
1 EXT LOADS Fx Fy Fz
label Mx My Mz
------------------------------------- 1st line
1 65 100 0 0 2nd line
0 0 0 3rd line
==================================================================
Note that the other external loads may be dead weight, which is listed in the MATERIALS section and UDLs which are listed in the ELEMENTS section. These loads are used in calculations but do not appear as external loads in Load Summary table. Table for SUPPORTS has three lines of input for each rigid support. The first line is a spacer. The second line contains sequential number, node label and three integers which may have value only zero (0) or one (1), to indicate in which GLOBAL direction x, y, z the support is acting. If you indicate 0, the direction shall not be restricted (that is a movement or deformation is allowed in this direction). If you indicate 1 then the direction shall be restricted. The restrictions act in both plus and minus direction but the real supports may be able to act only in one direction. For example a rod hanger of pipe may support only weight of the pipe. If there is an uplift (e.g. from the thermal expansion), the rod is unable to restrict it but program shall not recognize such nuances. It is upon the user to remove such support as non-functional or replace it by other type of support (e.g. a spring). The third line of input contains restrictions for rotation x, y, z. Note that restrictions in dir x, y, z create forces in support, rot x, y, z create moments.
==================================================================
3 SUPPORTS dir x dir y dir z
label rot x rot y rot z
------------------------------------- spacer
1 65 0 0 1 2nd line
0 0 0 3rd line
-------------------------------------
2 60 1 1 1
1 1 1
-------------------------------------
3 10 1 1 1
1 1 1
==================================================================
Words support and anchor are interchangeable. Usually an anchor anchors the forces and moments. It means that it restricts the rotations (or angular deformations) of the element. In practice, true anchors are difficult to design, yet they are often used as supporting element - a common mistake. Before designating any support as anchor check stiffens of the support. If the stiffens of support is lower then stiffens of anchored element may not be designated as an anchor. Not specifying anchor where it would be convenient to, usually complicates the analysis; do not fall for this pitfall for the case of simplicity. The table has directional restrictions pre-printed as number one (1) and rotational as number zero (0). It is usually more convenient just to remove the restrictions which are not applicable and ignore the other restrictions which have no impact on the solution. This is usually applicable when you solve elemental two dimensional job. When making sketches of the structure, it is custom to indicate restrictions which are to be used in a matrix form. E.g. the restriction for node 65 shall be indicated as 001 Further input is for auxiliary data, which are required for special features often encountered in practice. It is node pre-determined deformation and spring supports. Example of blank table preformatted to one pre-defined deformation and 2 springs is shown below. DEFORMATIONS section has three lines of input. You may use this section, when deformation are specified in lieu of loads e.g. seismic movement of an anchor, thermal movement of equipment, support gap etc. Note, that zero deformations are ignored, you may not anchor a node by specifying zero deformations. Note further that indicated deformation shall be fully consumed. Always check direction of the support reaction if it agrees with your assumptions. If not, then in reality the support gap shall not be consumed and you have to remove the support or provide some other solution. The first line is a spacer. The second line contains sequential number, node label and GLOBAL pre-determined node deformations in dir x, y, z. The third line contains angular deformations of the node rot x, y, z. The linear deformations must be in the unit of length [L], angular deformations in degrees.
Auxiliary data: ==================================================
1 DEFORMATIONS (value) dir x dir y dir z
label rot x rot y rot z
------------------------------------- spacer
1 # 0 0 0 2nd line
0 0 0 3rd line
==================================================================
2 SPRINGS (for dir x,y,z input 3,2,1 for rot x,y,z input 6,5,4)
label dir/rot preload constant
1 # # 0 0
2 # # 0 0
******************************************************************
SPRINGS are usually unidirectional, therefore there is one input line for each spring direction (see example above). In the case of multi-directional spring support, you have to include all direction for given node on separate lines. The input line contains five numbers, sequential number, node label, direction, spring pre-load, and spring constant. The direction is indicated by integer 3 if the spring is in GLOBAL direction x, 2 for dir y, 1 for dir z, 6 for torsional spring using GLOBAL x as axis of rotation, 5 for rot y, 4 for rot z. Spring pipe supports are often installed pre-compressed and locked to the cold pipe dead weight. When pipe is installed and hydraulically tested the support remains locked and act as rigid. After testing the spring lock is removed. When the pipe become hot it moves up or down from the cold position. Calculations usually are done in two or steps. In the first step calculate support reactions for external forces, including UDL and dead weight. This would establish support reactions for the cold pipe and rigid supports. Using support reaction for cold pipe, select probable spring constant from spring manufacturer's catalog and indicate cold support load as a spring pre-load. In the second step, calculate for external forces thermal expansion and spring support employed. Note the thermal movement in support location. Dead weight data, thermal movement and allowable load variations allows you to made final spring support selection. If the tolerance of cold load versus hot load is not given in design specifications, it is customary to select spring constant such that the hot load is within plus/minus 15% of the cold load (some specifications may allow variations from 25% to 40%). In the third step, the final spring selection may be verified. 4. RUNNING Cofea - output file: Output file may be a separate file with the same name as input file but with extension '.out'. Alternatively the output may be appended to the input file. Usually it is convenient to run separate files for input and output and use appending only for the final results. When you RUN the program, an input form appears which allows you to select calculations for different type of loading. The following separate loads may be selected: external loads and you may include or exclude computations for node pre-determined deformations For the record keeping a list of loads, which were used to create the output, is located just below the OUTPUT DATA BLOCK heading, see example below Title e.g. Reactor end shield cooling which means that calculations were produced using Dead weight data Dw1, all External loads (Ext.l.) were employed, thermal or other expansion (e.g. from inner pressure) was used, uniformly distributed loads (UDL) , pre-defined deformations (Def.) and spring support data (Spr.) were used too. You may as well use the Title - the first line of the input file - to make some notes relative to the computations for future references. As well you may select which output results of the computations you want to review. You may print: GLOBAL deformations of all nodes The table for deformation lists deformation of all nodes in GLOBAL coordinates. Note that angular deformations are in degrees, not in radians. Internal GLOBAL and LOCAL loads and stresses are printed in one table and are marked accordingly. Stresses are calculated using LOCAL internal forces and moments and using standard formulas, maximum shear = (shear force)/(shear area), tension (positive) or compression (negative) = (normal force)/(normal area), bending stress = (bending moment)/(section modulus), shear from torsion = torque/(section modulus in torsion). For element in bending, maximum shear is located on the neutral axis, while maximum bending stress is located at the outer fibers. Consequently, the maximum shear stress occurs where the bending stress is zero and maximum bending stress occurs where shear stress is zero. It is usual to consider bending stresses and shear stresses separately. Very often, the shear stress is ignored. Load summary not only lists support reactions but it lists also an algebraic sum of all loads at nodes which in some way make an interface of the structure with the outside world. They are nodes which are listed in external forces table, nodes listed in as rigid supports, and nodes listed in deformation and spring tables. If there is more than one load of the same direction the list shows their algebraic sum. If the origin of the node load is marked by letter R it is from the support section and table is showing support reactions, by letter E it is from the external loads section, by letter D it is from the node deformation and by letter S it is from spring table. Note that uniformly distributed loads UDL and dead weight loads are simulated as external forces and moments therefore they shall appear in the support reactions, but because UDLs are property of element and dead weight is property of material they shall not be marked by the letter E. Nevertheless, their use shall be indicated on the top of the output file. Keep in mind that loads which cause a deformation of the structure would be shown as external loads (marked D) which are required to fully consume the deformation. Therefore if the real external load is smaller than this load, the support should be removed, because in reality the deformation would not be consumed. If it is larger, then only the load which is required to deform structure shall be shown; excess of the load goes directly to the support and will be ignored. If for the same node both deformation and spring are indicated, the deformation takes precedence. 5. Drawing Exchange File (DXF): To facilitate geometry checking of the FEA model, you may generate DXF file in AutoCAD 12 format (it is accepted by AutoCAD 14 too) and open it with any DXF file reader for visual check of the model. Very good viewer is lately supplied with MS Word, Excel and PowerPoint. To generate file, Cofea is using generic file DXFgen.txt and alters $EXTMIN, $EXTMAX, $HANDSEED and view point, which is stored in the table VPORT *ACTIVE, variable 16, 26, 36. Finally Cofea adds info about elements (lines) and nodes (points). The file generation is initiated by clicking DXF command on the Run/DXF/Edit menu form. It is a 3 dimensional model for which you may specify a viewing direction - view point. Default view point is x = 1, y = 1, z = 1. This view point would render isometric picture of the model. For two dimensional models in x - y plane the suitable view point would be x = 0, y = 0, z = 1. Nodes are shown as a cross ($PDMODE = 3, $PDSIZE = -1.5). For more details about DXF file, see AutoCAD manual. When viewing the model, you might add the node labels, show external forces etc. or save it in any other format supported by DXF viewer (jpeg, gif etc.). Default DXF file is using coordinate system x to east, y up, z north. For the purpose of viewing, you may swap x and z coordinates and change direction (sign) of any coordinate. This changes shall effect only the viewing, the original input and FEA calculations shall not be altered. Generally transformation from LOCAL to GLOBAL coordinates consists of three transitions x, y, z and three rotations alpha, beta and gamma. Cofea can determine two rotations, alpha and beta from input of coordinates of nodes. The third rotation gamma must be specified by a user in table ELEMENTS as it may not be deducted from the input of coordinates. Mostly the structures are composed from floors, columns and bracing. Transformations GLOBAL/LOCAL for these elements are easy, because in all cases, at least one LOCAL coordinate is a GLOBAL coordinate. The most difficult, is to capture the transformation of an element which is the diagonal of a cube. If this is the case, you have to follow the rules below. 1) Transform GLOBAL coordinates origin into the 'from' node of the element. Coordinates remain parallel with the GLOBAL coordinates. This step is easy to imagine and therefore it is not shown. Coordinates are still refereed to as GLOBAL x, y, z. 2) Using "from" node as pivot, rotate centerline of the element into projection of the element on x - z plane, see rotation alpha. Axis of rotation is LOCAL coordinate x' which is perpendicular to z' and lays in GLOBAL plane z - x.
3) Using GLOBAL y as the axis of rotation rotate z' further into GLOBAL z, see angle beta. Element is now transformed from LOCAL into GLOBAL coordinates and properties of Jx and Jy may be determined. Special cases: Element in GLOBAL z e.g. floor beam. If the element is in GLOBAL positive z, then all GLOBAL coordinates = LOCAL coordinates. If the element is in negative GLOBAL z then the first rotation is zero, the second rotation, using y as axis of rotation, is 180 degree. Element in GLOBAL y e.g. column. The first rotation is plus or minus 90 degree, the second rotation is zero. Element in GLOBAL x e.g. floor beam. The first rotation is zero, the second rotation is plus or minus 90 degree.
Some examples of LOCAL coordinates are shown on the picture above. Note the abrupt change in coordinates for Beam in yx plane and Column. This might be quite confusing when reading output files - be avare. Note that such abrupt change would not occur for Beam in yz plane and Column. 7. NOMENCLATURE and UNITS of the INPUT: In the following, L = unit of length, F = unit of force weight = weight in the positive GLOBAL direction y F/L
E = Young modulus F/L2
Poisson = Poisson's ratio, dimensionless
Ax' = shear sectional area (LOCAL Fx') L2
Ay' = shear sectional area (LOCAL Fy') L2
Az' = tension/compression sectional area (LOCAL Fz') L2
Jx' = modulus of inertia in bending (LOCAL Mx') L4
Jy' = modulus of inertia in bending (LOCAL My') L4
K' = torsional constant (LOCAL Mz') L4
Wx' = section modulus in bending (LOCAL Mx') L3
Wy' = section modulus in bending (LOCAL My') L3
Q' = section modulus in torsion (LOCAL Mz') L3
x, y, z = GLOBAL node coordinates L
Fx, Fy, Fz = GLOBAL external force at a node F
Mx, My, Mz = GLOBAL external moment at a node F*L
therm. = thermal expansion of element in percent
of the true element length %
element cross section rotation gamma degrees
qx', qy' = LOCAL external UDL F/L
SUPPORTS dir x, y, z and rot x, y, z 0 = release
1 = restrain
Support restrains in the direction x, y, z create anchors forces
Support restrains in the rotation x, y, z create anchors moments
DEFORMATIONS:
input numerical value of the node deformation in the direction of
coordinate x, y, z = dir x, y, z L
input numerical value of the rotation,
using x, y, z as axis of rotation = rot x, y, z degree
spring constant linear F/L
spring constant torsional (rot) F*L/degree
Spring direction must be given by an integer. Use number 3, 2, 1 for linear spring in x, y, z direction; 6, 5, 4 for torsional spring which use coordinate x, y, z as axis of rotation. For imperial user, the most convenient selection is inch for the length L and pound for the force F. Note that moment therefore must be specified in inch-pounds, and weight in pounds per inch. For the metric user, the most convenient selection is millimeter for the length L and Newton for the force F. Note, that kg (kilogram) is unit of a mass; it cannot be used as unit of a force. Because material weight is a force, the weight input must be in Newton per millimeter. Depending on the nature of the structure for which Cofea is used, you may use any other convenient combination of homogeneous measures. 8. NOMENCLATURE and UNITS of the OUTPUT: In the following, L = unit of length, F = unit of force dir x, y, z = node displacements in GLOBAL coordinates L rot x, y, z = node rotations in GLOBAL coordinates degree All deformation are assumed to be elastic Fx/Fx' Fy/Fy' Fz/Fz' = internal forces F Mx/Mx' My/My' Mz/Mz' = internal moments F*L Printout may be requested both in LOCAL and/or GLOBAL coordinates shear x' = Abs(Fx'/Ax') F/L2 shear y' = Abs(Fy'/Ay') F/L2 tens/comp = Fz'/Az, (tension or compression) F/L2 Tension is positive, compression is negative bending x' = Abs(Mx'/Wx') F/L2 bending y' = Abs(My'/Wy') F/L2 torsion = Abs(Mz'/Q') F/L2 Buckling of the elements in compression is not checked by Cofea. It must be checked using procedures for the given structure and applicable design Code, e.g. piping, civil etc. Stress in welded connections, which are located at the nodes may be calculated, using the following numerical only input. To indicate, that the end of the input file will be followed by the weld input, the first five stars at the end of the input data file must be altered to string welds as shown below. The row of the stars is the end of the input data indicator (for Cofea files only), it has nothing to do with DOS end of the file. Then input weld data by following the scheme below. It is comma delimited input, therefore place comma after each number or character. welds********************************************************** number of weld properties, total number of welds weld designation (case sensitive), Ax', Ay', Az', Wx', Wy', Wz' . . . element number, string from or to, weld designation . . . Where: Ax' = weld area to resist Fx' (shear) L2 Ay' = weld area to resist Fy' (shear) L2 Az' = weld area to resist Fz' (tension) L2 Wx' = section modulus to resist Mx'(bending) L3 Wy' = section modulus to resist My'(bending) L3 Wz' = section modulus to resist Mz'(torsion) L3 the weld designation shall be printed in the stress output printout. string from or to indicates wheather the weld is located at from or to node of the element. Use ELEMENTS table of the input file to decide element number and weld location. Separate all inputs with commas, e.g. as below Example of input for welds: welds************************************************************* 2, 5 C, 1.5, 2.7, 4, 12.3, 15, 21 F, 2.5, 3.5, 6, 15, 17.4, 18 6, from, C 7, from, C 8, from, C 8, to, F 1, to, C Above input lines have the following meaning:
Another example of weld input is presented in piping1 input file. You may use Notepad to view the file. Note that for torsional properties of a weld torsional modulus Wz' is used rather than Q'. Wz'= polar moment of the weld divided by distance of the most remote point of the weld from center of gravity of the weld. Weld behaves differently than would a beam of the same section. As for MATERIAL property, default WELD property which is entered as 0, is 10e9. Therefore, stress for such property shall be zero. It is time saving feature; if you are not interested in a particular stress you do not have to calculate and input the figures. 10. UNIFORMLY DISTRIBUTED LOADS:
Uniformly distributed loads, UDLs qx' and qy', are simulated as two forces qL/2 and two moments (plus and minus) qL2/12 placed at the nodes of an element where q = UDL, L = true length of the element. Positive/negative direction of qx' and qy' is the same as the positive/negative direction of the LOCAL coordinate x' and y' of the element. You may use the figures on the left as visual aid. For beams, inclined beams and bracing use the top figure. An element in +z direction has LOCAL coordinates = GLOBAL coordinates so it is easy to visualize the +qx' and +qy'. UDLs for a element in other than +z direction may be obtained by rotating the +z element into the given direction. Pivot for the rotations is the 'from' node. As an example, a beam in the direction +x is shown. First axis of rotation must be GLOBAL coordinate y, the second LOCAL coordinate x'.
Use the lower figure to determine direction of UDLs on columns which must be strictly in the direction y only. If the element has even smallest deviation from vertical, it has to be considered a beam and upper figure must be applied. Note that for columns rotation along GLOBAL y is zero and GLOBAL x = LOCAL x'. Dimension of q is similar to weight, that is unit of force per unit of length. In imperial units it may be pound per inch or it may be Newton per mm in SI units. Very often UDLs are used to model wind forces. Wind forces are usually given as force per unit of area, you have to calculate total wind force on given element from the area exposed to the wind and divide it by the element true length. Wind from the north acts on elements in z - y plane and for all elements, including columns, which have 'from' node closer to origin it is +qx' UDL. Wind from south acts on elements in x - y plane and it is -qx' for all elements except columns where we have use -qy'. If the 'from' node is the farther node, then the sign of the UDLs must be reversed. If you plan to employ UDLs it is to your advantage to observe orientation of the element, that is which node you chouse as the 'from' node in the ELEMENTS table. Because Cofea is 3D program it finds it difficult to solve trivial one or two dimensional problems. Solution difficulties shall be announced by message which would ask you to add support restrains (that is change dir or rot from 0 to 1) which do not effect solution. Adding restrains reduce number of equations and correct solution is reached. Example of one dimensional problem is in Examples file T1, see picture below.
It is rod between two anchors which is heated - expansion is specified as 0.1%. As the rod is in x direction you theoreticaly have to restrain only the x direction but this would not do, you have to add restrains in diry, dirz, rotx and roty to achieve solution. Two dimensional problem is shown in Example T2. It is a simply supported beam with one force in the middle. Here again you have to add restrains dirx and rotx to achieve solution. Again these restrains would not effect the solution but effectively reduce number of equations. You shall never get this message when solving 3D problems. Examples T1 and T2 are specified with these extra restrains already in place. Try to run them. Three, the most useful tricks shall be described: a) Model of a symmetrical object (save time and memory)
Therefore, if we anchor the relevant rotation the other half of the beam may be excluded. Look at the beam shown on the left. Note that the beam is in the x direction and force is in z direction. It has three nodes 10, 20 and 30, and two simple supports in node 10 and 30. We may model only half of the beam with half of the external load if we remove the beam between nodes 20 and 30 and restrict rotation y in the node 20. This system of supports would allow the node 20 to move down, but tangent would always stay parallel with coordinate x. In fact we created support which in mechanical terms may be designed e.g. like shown in the picture. When you try to input it as indicated on the picture, you shall get message which reads only "2". It means, that the solver had a problem because it is a 2D problem, though you get the right numbers in the output. To avoid it you may play with the restrictions of the supports or just simply introduce some miniscule force in the y direction (e.g. Fy = 1e-6) and transfer it thus into 3D.
The saving is negligible in above case but if the method is applied e.g. on the floor grid as shown in the next figure, the saving is significant. Because it is a double symmetrical model, we can remove 3/4 of the grid. The original model has 35 nodes and 58 elements, while the quarter model has only 12 nodes and 17 elements. The load must be quartered as well. Model of support in general direction may be accomplished by employing dummy elements to support given nodes. For example a dummy element with Ax'=Ay'=1e9, Az'=2.34, Wx'=Wy'=Q'=1e9, Jx'=Jy'=K'=1e-9, can carry only axial force but it is flexible to allow node movement. The dummies in the model above represent the pipe. Note the restrictions for node label 65. They restrict z direction only, allowing free node movement along coordinate x. Any horizontal load applied to node label 65 therefore is freely transferred to bolt element. Note further, that contact between pipe and U-bolt allows only for a compression loads. Therefore any dummy element showing tension must be removed from the model. It can be accomplished by using material number 0.
You shall find another model of U-bolt in Example files. In this file it is used as anchor and the prestressing of the bolt is achieved by specifiing -0.036% contaction. This creates tensile stress in bolt 0.036/100 * 27.9e6 = 10000 psi. Note the rotation gamma for bolt material. Bolt is in yx plane therefore the vertical part is as column refer to LOCAL/GLOBAL coordinate chapter.
If the elbow flexibility factor 'k' is bigger than 1 then it may be included in calculations by dividing moduluses of inertia by flexibility factor 'k'. Similarly, the stress intensification factors 'i' may be used to divide section moduluses. Usually the factors are applied to bending only but in some special cases they may apply to torsion too - see applicable design Code and Comment to piping2. 13. PITFALLS OF FINITE ELEMENT ANALYSIS: Although finite element programs are excellent tools, user must realize that all results must be scrutinized using common engineering judgement. Not all assumptions are true in a real world. When commenting on, or when commissioning reports produced by others it is imperative to recognize 'garbage in - garbage out' case. Nowadays, computers are creating good looking reports, so do not be fooled by report appearances. Do not accept any conclusions, unless you are satisfied with the input and do not buy any 'proprietary' excuses. Mostly it is a disguise for a lack of knowledge. E.g. once I commented FEA report on flange connection and part of the gasket was shown in tension! Surfaces in contact can not be in tension. Of course the program did not know that and the program operator who produced the FEA did not know it either! Program operator is usually competent in one discipline only, let say in the input of a particular FEA program, but usually is ignorant in other aspects of engineering. Beware - this is very common occurrence. Less obvious is second type of 'garbage out' when you positively know the input is not garbage, yet the output is somehow dubious. Well in this case the results are correct but the FEA model does not mirror the reality. These type of problems are not so easy to detect. In fact, due to the hypnotic power computer print has over general engineering population, and especially over managers, they frequently pass approval without question raised. Not many articles appear on this subject, one of the best is written by Paul M. Kurovski, When good engineers deliver bad FEA, Machine design, November 1995, page 61-65. Get a copy and read it. Demo example below is from my piping practice. Coordinate x is to east, y is up. Pump outlet at node 5 is connected to NPS 2" standard weight pipe, goes up to elbow node 10 and it continue on a pipe rack. Pipe is supported at node 15 and 20 by standard hanger rods. To save time and effort, rack part of the piping, is not shown and it was not was not modeled.
Note that the final node 25 is a midpoint of standard pipe span, therefore only moment Mz has been fixed - see Tricks of the trade - model of symmetrical objects. We are looking for hanger loads from dead weight. If you examine input file demo, it is without any error or discrepancies. With rigid supports, output file Load summary table, shall give the following results.
dw demo
OUTPUT DATA BLOCK:
Processed for: Dw1
Load summary:
node node Fx Fy Fz
in table number Mx My Mz
------------------------------------------------------------------
R 5 0 -104 0
0 0 0
------------------------------------------------------------------
R 15 0 180 0
0 0 0
------------------------------------------------------------------
R 20 0 64 0
0 0 0
------------------------------------------------------------------
R 25 0 0 0
0 0 -387
------------------------------------------------------------------
E - ext. loads, D - deformations, R - supports, S - springs
A negative load (-104 lb) on pump node 5 is not what we would expect. As well, it is not what we want. The support was placed close to elbow to take the weight of pipe from the nozzle of the pump. When we review the FEA methodology, you realize, it's assumptions are for non-gravity environment. Program assumes that the pipe is fully erected and supported in non-gravity environment and after that the gravity is applied. This, and assumed infinitely rigid supports would result in the above support loads. In reality, the pipe is in gravitational field all the time, and it is welded together and supported part by part. To model it like that would be impractical and it would require great effort and time. Therefore we have to devise another practical approach. In this case we can rectify the problem by applying spring support at node 15. Note that spring is already specified in the input file but in above case we did not applied it, support was calculated as rigid. Function of the support is to take weight of 100 inches of vertical pipe segment and about half weight of 150 inch long horizontal segment, that is weight of 100 + 150/2 = 175 inches of pipe. As pipe weights 0.426 lb/inch, the load on support should be approximately 0.426 * 175 = 74.5 lb or about 75 lb. On input file it is shown as spring support pre-load. From spring support tables we find, for a given load, spring constant of 30 lb/inch. When we apply the spring, the Load summary table shall be:
dw demo
OUTPUT DATA BLOCK:
Processed for: Dw1 Spr.
Load summary:
node node Fx Fy Fz
in table number Mx My Mz
------------------------------------------------------------------
R 5 0 -3 0
0 0 0
------------------------------------------------------------------
R S 15 0 75 0
0 0 0
------------------------------------------------------------------
R 20 0 68 0
0 0 0
------------------------------------------------------------------
R 25 0 0 0
0 0 -280
------------------------------------------------------------------
E - ext. loads, D - deformations, R - supports, S - springs
What a difference! Now the reaction load on pump outlet flange goes down from -104 lb to -3 lb and load on node 15 is now less then half of the original load. Note that header of the output file now shows 'Processed for: Dw1 Spr.' not only 'Processed for: Dw1' as in first table. This indicates that spring support calculations has been enabled. Note further that the manual calculations are apparently more realistic that the output of FEA. If we further alter the spring pre-load to 72 lb the load on pump shall be close to zero, which was our goal. If you print table of node deformations for this example (table is not included here), you shall notice that movement at node 15 is almost negligible, yet the difference in loads are of the magnitude of few thousands percent. To employ spring supports in such stiff corners is always a good practice - even little movement causes huge differences in support loading. Another pitfall specifically in piping are loads on anchors. Although the following is true for all pipes, usually only big pipes creates problem. Stress analysis of complex piping is usually done in sections, from anchor to anchor. Anchor in such cases is always modeled as infinitely stiff because such approach simplify the calculations. This assumption may never be realized in real world, every and each anchor has it's finite stiffness. When you introduce this stiffness into calculations, significant reduction on anchor forces may bring significant economical advantages. The practice is difficult to break - extra calculation effort is required. Yet this extra effort is more than balanced by saving in anchor design, material weight and installation cost. Conclusion - do not take computer output as indisputable truth. Computers calculations are in error in spite of hundred percent correct input - do not blame the computers though, they are always right. They do exactly what they were told to do. Problem is that computer programmers/operators do not know how to specify the problem correctly. The blame is always on human. To avoid such pitfalls, always do some simple parallel calculations before accepting any computer results. If there are discrepancies, reconcile them. 14. COMMENT TO EXAMPLE piping1 AND piping2:
Following two examples fully illustrates Cofea abilities. Line in the picture on the left represents NPS 6" Sch 40 pipe for saturated steam at 300 psi. Piping1 is an input with square corners, piping2 is the same piping with elbows modeled as suggested chapter 12. From given input Cofea calculates required data which must be later evaluated using piping Code such as B31.1, B31.3 etc. Such evaluation is not part of the example, only input file is given. You shall find input files in directory ExamplesOpen the files and do the calculations yourself. Some notes how to interpret Cofea results are also given below. Model is using coordinates x to east, y up and z to south, therefore weight and dead weight forces must be negative numbers. In piping1 some simplifications are used, pipe elbows are modeled as simple corner, valve is modeled as external force. These simplifications may be used if the level of stresses in piping are low and extra effort to model valve and elbows is not necessary to employ. It is on the discretion of the designer to decide if such simplifications are justified. The criterion is to decide nature of simplification. If it yields results which are on the safe side, it is acceptable. Simple corner is less flexible than elbow, therefore it yields higher stress. If an elbow stress intensification factor is applied for the corner node and stress is low, the stiff corner model is, for all practical purposes, quite satisfactory. Always have in mind that properties of pipe section have some deviation, that we do not know exact figures for Young modulus and expansion coefficient etc. So you have to accept fact that calculation results always carry an error. To fuss about details which do not bring significant difference in calculations is waste of time. It is unfortunate that (from my experience) your manager is about to fuss about such insignificant details while he/she completely miss or ignore errors in anchoring, although model of anchor may bring very significant errors with great engineering impact. Be prepared. Model of the valve is not on the safe side, but difference, from my experience, is not significant and definitely below error introduced by the stiff corners and other factors.
Spring supports HV17, HV18 are modeled with horizontal spring stabilizer. It is not a common practice. To estimate horizontal spring constant, you have to know support length L and its load F, see figure. In the input we use k = 13 lb/in for HV17, k = 10 lb/in for HV18. Length of the hanger rod has been assumed to be 40". Short rods may cause significant difference in dynamic response calculations. In our case it was used only for spring input demonstration. Temperature of saturated steam at 300 psi is 432ºF and thermal expansion coefficient for this temperature and carbon steel is 7.58e-6 in/ºF. Expansion of the pipe in percents shall be 7.58e-6 * 432 * 100 = 0.327%. Tension in pipe from pressure is 300 * 28.9/5.58 = 1553 psi, where 28.9 is inside area of the NPS 6" Sch 40 pipe and 5.58 is pipe metal area. This shall cause expansion 1553/27.2e6 * 100 = 0.0057%. Therefore total pipe expansion is 0.327 + 0.0057 = 0.333%. Note that nozzle of the steam header, node 5, is moving 0.47" west. Piping must be checked for various conditions. Usualy at least two conditions are investigated cold and hot. Cold for hanger loads and hot for thermal stress and hanger loads. You may as well investigate cold condition with node 5 movement. Interpretation of the calculations deserve some illumination too. E.g. an elbow is modeled as shown on the picture below. Forces and moments are related to the node but engineers attach them to the sections just before and after a node. Note that the same force and moment cause torsion and tension in element(n) but bending and shear in element(n+1).
In example piping2, elbow has been modeled as suggested chapter 12. Flexibility and stress intensification factors for elbow are calculated from B31.1 Code (Power Piping). Flexibility factor is k = 6.59 and stress intensification factor is i = 2.28. These factors has been used to modify material properties and elbow is modeled as material 2. In piping1 we cannot employ benefit of higher flexibility but we must use stress intensification factor to modified stress calculated for nodes in the pipe corners (using manual calculations). Maximum calculated bending stress of 4005 psi appear to be in node 60 for piping1, which is modified to 4005 * 2.28 = 9131 psi. Maximum bending stress with benefit of flexibility factor as calculated in piping2 is for node 55 and it is 5766 psi. As the stress 9131 psi is rather low piping1 model is quite satisfactory but calculations of piping2 example confirms that results are on the safe side as 5766 is less than 9131. Copy the input files into directory you want to use for Cofea calculations and do the calculations. Above figures were obtained for external forces (V131 weight), dead weight 1 (pipe + insulation), hot conditions, anchor movements and spring supports employed. Note that in example piping1 an input for weld calculations is also presented. It is shown only to demonstrate weld input. Weld properties are rounded figures of pipe properties. | |||||||||||