You are on page 1of 44

FE/Pipe Version 5.

00

Released Feb, 2009

www.paulin.com

Modgen Commands

(FE/Pipe Version 5.0)

Modgen is a parametric cubic (pc) based finite element modeling language used by FE/Pipe to construct piping and vessel related geometries. The basic functions required to manipulate parametric cubics can be found in the book Geometric Modeling, by Michael E. Mortenson, Wiley, 1985. See Fig. 3.7 in Mortenson for a geometric description of the parametric cubic. (A simplified version of this illustration is shown under the surface command below.) animation animation, command, delay_if_play, mode_if_play Valid commands: record play input output clear Record stores the present screen as the next slide in the animation sequence. Slides are stored in memory. Output takes the sequence of slides stored in memory and writes them to the <jobname>.MVE file. Note that any already existing <jobname>.MVE file will be overwritten. Input brings the <jobname>.MVE file into memory. Play begins displaying the frames. Delay is the number of "ticks" between machine display. 18 ticks is approximately equal to 1 second. mode=1 cycles the frames from front-to-back, then from back-to-front, etc. mode=2 cycles the frames repeatedly only from front-to-back.

arc_method arc_method, method 1. Match a true circular arc at the center on the pc approximating it. This is the default method. The arc matches the true circular shape at the center of the arc only. Recommended. Method 1 generates surfaces using 4 parallel arcs. 2. Match a true circular arc at two third points on the pc approximating it. Used only with the shell string modeler. This command affects arcs generated by the curve command and the method by which revolved surfaces are constructed. arrow_scaling arrow_scaling, scaling_percent

scaling_percent is the percent by which to multiply the current size, i.e., 200 doubles the size of all drawn arrows. auto_plot auto_plot, on <or> off This command controls the automatic replotting of the display list after certain "view change" commands: view photo_zoom window_zoom pan clip deform_model restore_model This is the only viewing command which affects all currently defined view windows. blend blend, entity_type_to_blend, entity_id_to_blend, entity_id_to_blend_to Valid entities_to_blend are: surfaces. boundary_stiffness

Copyright 1999, Paulin Research Group

Appendix 3 - 1

FE/Pipe Version 5.00

Released Feb, 2009

www.paulin.com

boundary_stiffness, stif_value stif_value is the value of the stiffness that is to be used on any of the following surface_condition, point_condition or solid_condition commands. The boundary_stiffness value is used to override the typically stiff value of 1.0E15 that is used by default for a boundary stiffness at each node where the stiffness is to be applied. Note that the value entered is a nodal value. Depending on the command the value may be nodal (point_condition), line-type or area-type, (surface_condition), area-type or volumetric (solid_condition) brick_method brick_method, option Valid options: are 1 Used with the two_surface_brick command to place brick corners at shell nodes AND at shell midside nodes. To do this any mesh_surface command that has nodal distributions greater than linear will be set to linear, and the number of bricks in the surface direction will be doubled. This command should appear at the top of the pre file. check check, entity_type_to_check, type_of_check, check_arguments

entity_type_to_check can be either <nodes>, or <elements>. element check #1 For this check, one check argument is needed: whether to retain all elements whose transformed normals are aligned with the screen normal or to retain the elements whose normals are not aligned, respectively, 1 or -1. element check #2 For this check, three arguments are needed. The check is used to determine which elements in the model are too distorted to form properly conditioned stiffness matrices. Enter the command: check, elements, 2, 150, 30, 0 to display the elements whose Jacobians will be zero, i.e., whose geometries are too distorted. Enter the command: check, elements, 2, 150, 30, 1 after the merge_nodes command in the <jobname>.PRE file to correct the elements automatically. node check #1 One argument required: a tolerance. All node pairs closer to one another than the tolerance are placed in the display list. node check #2 No arguments. All nodes connected to only one element are placed in the display list. node check #3 No arguments. This option is used for brick elements. All nodes are plotted that appear on elements in the model less than 5 times. This generally occurs for surface nodes, and so nodes on quad elements that are interior to the geometry that appear in the plotted merge list, are likely on an unmerged interior surface. Check nodes options 4 thru 6 are intended to be used with simpler models. Any unzipped nodes will be checked for boundary conditions. If no boundary conditions or a specified region list does not exist at an unzipped node then a failure of the nodal check occurs and the appropriate action taken according to the option selected. A region list can be provided as check_arguments and any node found in a region list will also not create a merge nodes violation. This option is included so that an edge of nodes at the end of a surface can be excluded and the check made for other nodes. Node check #4 Display unzipped nodes found in this special case and return. Node check #5 Put up a message box about this problem and return. Node check #6 Stop the run, write an error to the tab file and stop. clear clear, entity_name, minimum_id, maximum_id Valid entity_names: points curves

Copyright 1999, Paulin Research Group

Appendix 3 - 2

FE/Pipe Version 5.00

Released Feb, 2009

www.paulin.com

surfaces solids elements nodes loads conditions regions entity_name, minimum_id, and maximum_id are not required. If no arguments are supplied, the display list is emptied and the window is erased. If entity_name is supplies, all matching entities are removed from the display list and each is erased in the current window. If entity_name and minimum_id are supplied, only the entity matching name and id (if found) is removed from the display list and erased, otherwise a range of "named" id's is removed from the list and erased. clip clip, clipping_mode Valid clipping_mode's are as follows: 0 All entities completely invisible in the current view window will be retained in the corresponding display list. 1 All entities completely visible in the current view window will be retained in the corresponding display list. contour_legend contour_legend, on <or> off Use this command to control whether a legend is displayed after a contour_shade command. contour_maximum, <value>, enter maximum legend value to be used for any following contour plots, or 1.0101 to set the maximum legend value from the data set to be plotted. contour_minimum, <value>, enter the minimum legend value to be used for any following contour plots, or 1.0101 to set the minimum legend value to the minimum value from the data set to be plotted. contour_outline contour_outline, on <or> off Use this command to control whether element outlines are displayed after a contour_shade command. contour_parameters contour_parameters, shading_method, computation_method, swap_outline_color Valid shading_method: contour_scaling contour_scaling, value Used typically in an animation sequence to show the stresses as they "grow" over the model due to loading. The value is a scale factor to use on the minimum coutour_shade value. In an animation sequence, the commands would be: contour_scaling, 0 contour_shade, stress, /1, 1 animation, record contour_scaling, 0.25 contour_shade, stress, /1, 1 animation, record contour_shade contour_shade, file_identifier, /case_data, column_key_in_file, shading_method, computation_method, swap_outline_color Deform filename is built using the file_identifier:

Copyright 1999, Paulin Research Group

Appendix 3 - 3

FE/Pipe Version 5.00

Released Feb, 2009

www.paulin.com

filename = <jobname>.M4(char)file_identifier Valid file_identifiers: displacements stresses The character identifier for the file is usually STRESS or DISP, i.e. contour_shade, stress, /1, The stress file is mapped to M4T, which could also be accessed using 116, i.e. contour_shade, 116, /1, . The DISP name is mapped to the M4N file which contains the element global displacements. The other commonly used file is 113 (*. m4q file) which is the raw stress data, or 115 (*.M4S file) which is the averaged stresses. case_data = desired results case or cases (results data may be combined for deforming, or for plotting any quantity from combined cases e.g., case_data=/2+3) column_key_in_file = number of and data assigned to, individual columns post file dependent. Valid shading_method: 1 black & white contours using half-toning algorithm 2 color contours with no smoothing 3 color contours with smoothing 4 color contours with optical dithering (default) Valid computation_method: 1 Assign colors based on absolute value of data in column. 2 Assign colors based on true range of data in column (default). Valid swap_outline_color: 1 Element outlines drawn in background color. -1 Element outlines drawn in configured color (default). Column Keys for *.M4s (115) and *.M4q (113) files Col_key Pipe Elements Shell Elements Brick Elements 1 Global Force in X Local Normal Stress in R(outside) Normal Stress in X 2 Global Force in Y Local Normal Stress in S(outside) Normal Stress in Y 3 Global Force in Z Local Shear Stress in RS(outside) Normal Stress in Z 4 Global Moment in X Local Shear Stress in ST (outside) Shear Stress in XY 5 Global Moment in Y Local Shear Stress in RT (outside) Shear Stress in YZ 6 Global Moment in Z Local Normal Stress in R (inside) Shear Stress in XZ 7 Local Force in X Local Normal Stress in S (inside) Stress intensity 8 Local Force in Y Local Shear Stress in RS (inside) S1 9 Local Force in Z Local Shear Stress in ST (inside) S2 10 Local Moment in X Local Shear Stress in RT (inside) S3 11 Local Moment in Y Normal Stress in X (outside) n/a 12 Local Moment in Z Normal Stress in Y (outside) n/a 13 n/a Normal Stress in Z (outside) n/a 14 n/a Shear Stress in XY (outside) n/a 15 n/a Shear Stress in YZ (outside) n/a 16 n/a Shear Stress in XZ (outside) n/a 17 n/a Normal Stress in X (inside) n/a 18 n/a Normal Stress in Y (inside) n/a 19 n/a Normal Stress in Z (inside) n/a 20 n/a Shear Stress in XY (inside) n/a 21 n/a Shear Stress in YZ (inside) n/a 22 n/a Shear Stress iin XZ (inside) n/a

Copyright 1999, Paulin Research Group

Appendix 3 - 4

FE/Pipe Version 5.00

Released Feb, 2009

www.paulin.com

For version 5.0 of FE/Pipe the principle stresses were placed after the stress intensity for any element type that computes stress intensity as one of the raw stress output properties. This does not affect the ASME code output stress files, (M4T) which contain precisely calculated code forms of the output stresses in multicolumn file formats for code stress presentation. copy copy, entity_type_to_copy, copy_mode, id_to_copy, location_data, (three required), new_id Valid entities to copy are currently: points The following copy modes are valid: 1 translate (Add vector location data to location of the parent. 2 copy move (Location data provided gives the absolute location of the new point. (In this mode if any location data is equal to 999.0, the coordinate from the original node will be used. curve curve, curve_type, point_id_1, point_id_2, point_id_3, point_id_4, new_curve_id The following curve_types are valid: 1 straight line (2 points req'd) 2 arc (3 points req'd) For an arc, point_id_3 is at the center of the arc. 3 general cubic space curve (4 points req'd) - parameterization is controlled by relative location of supplied points. Order of points is: first, last, middle (closest to first), middle (closest to last). 4 general cubic space curve (4 points req'd) - supplied points are placed at the parametric space 1/3 points. (This is used to control the mesh layout inside the surface.) deform_model deform_model, file_identifier, /case_data, column_key_in_file, application_direction, amplifier Deform filename is built using the file_identifier: filename = <jobname>.M4(char)file_identifier Valid file_identifiers: displacements stresses case_data = desired results case or cases (results data may be combined for deforming, e.g., case_data=/2+3) column_key_in_file = number of and data assigned to, individual columns post file dependent. application_direction = 1, 2, 3 (x, y, z) If the amplifier is less than 1.0, scale the maximum scaler value (deformation) to: amplifier times longest span of current view window. If the amplifier is greater than or equal to 1.0, use this value as the true amplifier. amplifier: Multiply the data identified by column_key by this value prior to adding to the current nodal coordinates (performed on an elemental basis). This allows deform_model commands to be additive. This command is really a "mode" operation, i.e., once a deform_model command has been completed, all other MODGEN commands will work with the FE model in its current state (including output). draw draw, entity_name, minimum_id, maximum_id Valid entities: points curves surfaces solids nodes elements loads conditions regions labels The minimum_id and/or maximum_id are not required. If neither are supplies, all entities of that name will be drawn. If minimum_id is supplies, only that id (if found) will be drawn, otherwise all valid entities

Copyright 1999, Paulin Research Group

Appendix 3 - 5

FE/Pipe Version 5.00

Released Feb, 2009

www.paulin.com

of that name in the supplies range will be drawn. Entities are added to display list prior to drawing. If drawing labels, then the number of the label drawn is according to the sequence the input was entered, i.e. draw, label, 4 .. will draw label 4. enclose enclose, on <or> off This command controls the automatic enclosure of the current display list. entity_label entity_label, entity_name, id, group_id, color_index, font, /the_label Assigns labels to id types for drawing. Used primarily with users node labels for beam models. Entity_label can be any of :points, surface, element, node, load, condition. color_index can be 0 to 15, with 2 used for node numbers. font is currently 0 or 1, and the_label is the text to be assigned with the label. erase Erases current view window. extract extract, entity_type_to_extract, entity_type_to_extract_from, from_entity_id, extraction_parameters, new_entity_id Valid entity_type_to_extract's: points, curves, surfaces Valid entity_type_to_extract_from: curves, surfaces and solids. Points and curves only may be extracted from solids. Parameters for point/curve extractions are: desired parametric coordinate t (one value) of point Parameters for point/surface extractions are: desired parametric coordinate u,w (two values) of point. Optionally, parametric direction 1. u direction, 2. w direction and the distance along surface in above specified parametric direction, and distance normal to surface (grand total 5 values) may be supplied to move the point to a new location from the u,w coordinate. The parametric direction may be positive or negative. For example, extract, point, surface, 21, 0.5, 0.5, 101 extracts a point 101 from surface 21 that is in the parametric middle of the surface. Extract, point, surface, 30, 0,1, 1, 0.235, 205 extract a point 205 from surface 30 that is 0.235 in. in the u direction from the parametric corner point 0,1. Parameters for curve /surface extractions are: starting parametric coordinate u1, w1 and ending parametric coordinate u2, w2 (total four values) of the desired surface curve, OR starting_point_id and ending_point_id of the desired surface curve. Parameters for surface/surface extractions are: boundary id's of the extracted surface (total four values), where a valid boundary id is an existing curve id an edge of the original surface, represented by the labels "edge1","edge2","edge3","edge4".

Copyright 1999, Paulin Research Group

Appendix 3 - 6

FE/Pipe Version 5.00

Released Feb, 2009

www.paulin.com

If any boundary is negative, reverse the parameterization of this curve or edge prior to extracting the surface. Parameters for point/solid extractions are <u>,<v>,<w> coordinates for the point to extract. Parameters for curve/solid extractions can be one of two types: 1: <from point id>, <to point id> for the curve, or 2:<u><v><w> coordinates for from point, and <u>,<v>,<w> coordinates for to point. flip flip,entity_type_to_flip, first_id_to_flip, last_id_to_flip Valid entities to flip are currently: surfaces. Flipping a surface interchanges its u & w axes so that the normal direction for the surface is reversed. free_node free_node, type, parent_id, us,vs,ws, ue,ve,we, count, mid_flag, rgn Used to create free nodes on a surface typically to be used in a join command. Most common use is to create a line of nodes between two edges that are to be commonly joined. <type> can be surface or solid, <parent_id> is the surface or solid id. (us,vs,ws) is the parametric coordinate on the surface or solid at the start of the line of nodes, and (ue,ve,we) is the parametric coordinate on the solid or surface at the end of the line of nodes. <count> is the number of nodes to be generated, <mid_flag> is 1 if midside nodes are to be generated and <rgn> is the region number that should be associated with each of the nodes. free_region free_region, /<node label>, nodes, region_id This command is for assigning regions to beam element ends. The <node label> is the label id identified in the input. The region ids are used to identify the node as part of a join command. For beam ends, the join identification is used when the beam is connected to a shell. When beams are connected to beams, the fact that the beam ends have zero parent ids mean that they are to be combined using the merge nodes and their proximity. function function, function_id, function_data function_data strictly determined by function_id The following function_id's are valid: 1 points on cylinder-cylinder intersection 2 points on circular surface, imposed onto a cylindrical surface global_field global_field, field_type, case_id, table_number, table_filename Command used to apply loads to elements exposed in a field whose geometric extent perpendicular to the field is defined by four points. field_type is 1. This is the only option currently available, and means that only a directional field is available. Other options in the future will include field strength based on location, stress, etc. case_id is the load case id that the loading is to be applied to, i.e. 3000 is weight, 14001 is operating, 14002 is occasional, 11001 is pressure, etc. table_number the number in the filename table that is to apply to the particular loading of interest. Table files can have numerous tables. table_filename the name of the file that contains the interpolation data for the field strength. In general this file contains control information and global coordinates and field strength values. See surface_field for the format of this file. halftone_angles

Copyright 1999, Paulin Research Group

Appendix 3 - 7

FE/Pipe Version 5.00

Released Feb, 2009

www.paulin.com

halftone_angles, alpha, beta New halftone angles are entered in degrees. Default halftone angles are: alpha = 45 beta = 45 Distinctive halftone patterns occur when both alpha and beta are near 40 degrees. hardcopy Makes a hardcopy of the current screen contents. Output is directed to the device designated by the configuration file (author.ivu) hidden_status This command controls the removal and instigation of hidden lines. hidden_type hidden_type, type Valid types: 0 draw filled element during hidden plots 1 draw element boundaries during hidden plots identify identify, shape_to_identify, shape_or_keyword_to_identify_by, <index> Used to identify model quantities. Valid shapes to identify: nodes elements loads Valid shape_or_keyword_to_identify_by are: For nodes: label (identify, nodes, label) For elements: sections or properties where <index> points to the section or property card field to be displayed (identify, elements, property, 5) - will identify the 5th field on the property card thickness. For loads: magnitude (identify, loads, magnitude) Certain groups may be stacked, i.e., section or property requests. Shape identification is deactivated by: identify, shape, off Example to display the pressure loads used in the model: label, loads, on identify, loads, magnitude ref_draw, loads, case, 11001 Property indices: 1 Modulus 2 Poisson's Ratio 3 Expansion Coefficient 4 Reference Temperature 5 Thickness Remember to issue the following command to activate identification: label, (shape_to_identify), on input input, entity_name, /alternate_filename, x_translation, y_translation, z_translation, dbinc, dbO Valid entity names: elements sections

Copyright 1999, Paulin Research Group

Appendix 3 - 8

FE/Pipe Version 5.00

Released Feb, 2009

www.paulin.com

properties loads conditions database The input, database command can be used to read in and translate entire model databases. The <dbO> parameter is used only with input, database commands. If dbO is 1 then the property ids for the elements are not changed from the input database. If dbO is 0, then the property ids for the elements in the incoming database are incremented to point to the next available slot. The property ids in the property cards are also incremented, but will not be used at this point. This option is used with the symmetric template so that other symmetric models can be read in and thermal solutions with properties that align with the thermal properties in the input, (that are not part of the database), can be matched. Note that dbO also affects regions. For symmetric geometries regions are used for thermal boundary conditions and for stress ids. Be sure that all of these are defined adequately in the parent if the include,database option is to be used with an dbO value = 1. Dbinc is an increment added to the region ids only and has no effect on properties. This is used when child databases are read in to keep the postprocessing separate since the postprocessing id inside FE/Pipe is based on region ids. dbO will override Dbinc if its value is 1. intersect intersect, entity_type_to_intersect, first_parent_id, second_parent_id, <new_child_id> Valid entities to intersect are currently: curves (must be straight lines), and surfaces The intersect command is used to trim one surface to another surface. Think of a knife stuck through the center of a piece of paper. The knifes surface would be the first parent_id and the parpers surface would be the second parent_id. The knife surface is trimmed to the paper, so that the part of the knife that sticks out the back of the paper is trimmed off by the execution of the intersect command. The curve that is created lay along the edge of the knife that is passing through the piece of paper. The first parent_id may be negative to select the backside of the first_parent_id to retain as the intersected surface. new_child_id is optional and defines the resultant point (curve intersection) or curve (surface intersection). intersect_tolerance intersect_tolerance, tolerance (controls possible surface intersections) The default = 0.00001 in user units. Increase this tolerance to 0.1 or so, if obvious intersections are not "found" during an intersection command. join join, a_region, b_region, element_type, property_id, self_adjoint_flag, parent_id (optional), extra_nodes_flag (optional), planar_join_flag (optional) self_adjoint_flag 0 or 1. 1 if the region joins back on itself. parent_id If the parent_id exists, then join regions are mapped onto the parent and all created children nodes & elements belong to the parent. If the parent_id does not exist, all created children belong to the fictitious parent. extra_nodes_flag 0 or 1. If 1 then an extra line of nodes will be generated between region a and region b. (Not recommended.) planar join 0 or 1 If on, all of the region nodes of b are mapped to a plane defined by region a. This is used when a single pipe type node (region b) is to be joined with a shell end region a.

Copyright 1999, Paulin Research Group

Appendix 3 - 9

FE/Pipe Version 5.00

Released Feb, 2009

www.paulin.com

If the element type is negative, then the ordering of the element will be reversed. (This is something that the user must investigate. Try a positive element ordering first, and then if the normal vectors to the element point in the wrong direction, then change the sign on the element type to negative. Note that the join region commands must be issued such that if the join is to be over an enclosed region edge, i.e. like the join at the edge of a cylinder, the commands are issued in a sequence that traverses the outside circumference of the edge that forms the enclosed region. The region commands cannot be issued such that the nodes that get added to the join list jump back and forth around the enclosed edge. A join region that connects to itself, e,g. forms the enclosed end of a cylinder is called and adjoint edge or adjoint joined region. label label, entity_name, on <or> off Use to control the labeling of entities when drawn. Valid entities: points curves surfaces solids nodes elements loads conditions legend_side legend_side, position_option position_opition=0 for the rightside of the screen and 1 for the left side placement of the contour legend. light_palette light_palette, base_red_value, red_increment, base_green_value, green_increment, base_blue_value, blue_increment All color components must be greater than or equal to zero and less than or equal to 65535. light_shade light_shade, x, y, z, light_intensity, muted_intensity x, y, z define the location of the light source. light_intensity is the intensity of polygons facing toward the view. muted_intensity is the intensity of polygons facing away from the view light_source light_source, source_id, x_light, y_light, z_light, intensity Extra light sources may be added as memory allows. line_element line_element, /start_label, /end_label, xstart,ystart,zstart, xend,yend,zend, xtipt,ytipt,ztipt, eltype, ref, sect_id, node_lookup_flag tipt coordinates are only required for bends to define the tangent intersection point. eltype 41-straight pipe, 42-curved pipe, 61-structural sections ref-arbitrary reference number (refers to section data stored in the T code.) Corresponds to property id. sect_id section card number to get properties. Node_lookup_flag line_elements may find their connectivity by the start and end label. In this case the

Copyright 1999, Paulin Research Group

Appendix 3 - 10

FE/Pipe Version 5.00

Released Feb, 2009

www.paulin.com

coordinate locations will be fixed. If the user wishes to glue this element to some other element types then node_lookup_flag = 1, and the closest nodes to the starting and stopping node will be found. Additionally, the user can set the Node_lookup_flag to the value of 3 and modgen will take the start_label and the stop_label and convert them into point ids. The coordinates for the start and stop of the element will be taken from the point id read. Note that the point id used should exist on an element somewhere in the model since the coordinate will be merged with the closest node in the model so that the line element is connected to other elements in the model. line_load line_load, /start_label, /end_label, load_case_id, load_type, load_direction, load_magnitude The following are valid load_type's: 0 global cartesian direction, applied to solid nodes. Total entered load magnitude is applied to surface 1 edge. 1 surface local direction, applied to surface nodes 2 same as type 0 but load magnitude will be divided by the length of the applied edge 3 same as type 1 but load magnitude will be divided by the length of the applied edge 103 gravity load applied to solid elements 112 pressure load applied to solid elements 116 temperature load applied to solid elements 117 thermal bowing for line elements. Put the direction of the thermal bending moment on the line_load command after the load_magnitude. Only a single load magnitude can be specified for thermal bowing. See surface_load for other descriptions. menu This command returns the user from the MODGEN input mode at the command line (keyboard) to the standard graphic menu mode. merge_labels merge_labels, /node label The merge_label command is used for beam elements that are part of the public nodes in two data bases that should be joined. The merging of the nodes from the two different data bases can be effected by their position geometrically, since they should be in close proximity to each other, and by the fact that the node parent ids are set to zero so that they are included in the merge list. Using the merge_labels command causes joined beam nodes that are outside of the merge nodes tolerance to be joined anyway. This will result in some geometric location adjustment to one of the nodes. The user must visually inspect for errors in this case. (If the geometric movement is too large.) merge_nodes merge_nodes, merge_method, tolerance The merge_method's currently available are: 0 all nodes. (All nodes in the model are put into a list and duplicates are eliminated. This is the most time consuming, but the most thorough of the checks. This method does not require that surfaces edges are aligned. 1 surface edge nodes. This method compiles a list of all nodes on surface edges or boundaries of Delaunay areas, and performs the nodal duplicate elimination on all of the nodes in this list. Surface edges do not have to align, but only the nodes along surface edges are checked. 2 display list nodes. This method is a graphical tool that can be used interactively by the user to perform the merging on the nodes that are presently in the display list. Using this method the user can

Copyright 1999, Paulin Research Group

Appendix 3 - 11

FE/Pipe Version 5.00

Released Feb, 2009

www.paulin.com

find out what value of the merge nodes tolerance can be used to zip together problem areas in the model. 3 surface topology (recommended). This is the fastest method for joining geometries. FE/Pipe checks the corners of each surface, and then when two opposite corners are found, it automatically zips together all nodes along each edge. This is the fastest method for zipping models together, but requires that edge corners are all aligned. Note that all nodal merging is done AFTER the region data file is written. This is because merging eliminates duplicate nodes. Before merging, elements along the same edge, (a weld edge for example), could have different region identifiers allowing different Code postprocessing. Once the merge is performed this is no longer possible, because each element having a common edge will have common node lists. This is not such a problem so long as the user remembers to write out the region data file before merging any nodes. 4 brick topology. each node that is on a 0 or unity edge of a brick solid volume is added to the merge node list and merged with the specified tolerance. mesh_coefficients mesh_coefficients, new_paving_id may range from 11 to 20 a0, a1, 13 are coefficients of a normalized cubic (range to 0 to 1) that determine the placement of nodes along a given parametric direction on a surface. The normalized cubic is described as follows: If (a3 = 0), s = a0+ a1+ a2 else s = -(a0 + a1 + a2) / a3 If (s = 0), t=0 else t = p*p*p*a0/s + p*p*a1/s + p*a2/s + a3 where: p = ith node / n edge nodes s = normalizing constant t = parametric coordinate of the ith node mesh_pull mesh_pull, parent_entity_type, parent_entity_id, boundary_id, pull_type, pull_direction Valid parent_entity_types: solids Valid boundary_id's: face (-1 thru -6) Valid pull_types: 1...pull element to outer solid edges 2...pull elements to outer solid edges AND middle of solid Valid pull_directions: 1...u-direction 2...w-direction 3...v-direction mesh_solid mesh_solid, first_solid, last_solid, number_nodes_along_u_axis, number_nodes_along_w_axis, number_nodes_along_v_axis, u_paving_function, w_paving_function, v_paving_function, element_code, property_id The following paving functions are valid: 1 linear 2 linear + quadratic 3 linear +quadratic + cubic or a user defined paving id

Copyright 1999, Paulin Research Group

Appendix 3 - 12

FE/Pipe Version 5.00

Released Feb, 2009

www.paulin.com

Paving proceeds in positive parametric direction, if paving function is negative, paving proceeds in negative direction. mesh_surface mesh_surface, first_surface, last_surface, number_nodes_along_w_axis, number_nodes_along_u_axis, u_paving_function, w_paving_function, element_code, property_id The following paving functions are valid: 1 linear 2 linear + quadratic 3 linear +quadratic + cubic or a user defined paving id Paving proceeds in a positive parametric direction, if paving function is negative, paving proceeds in a negative direction. mirror mirror, entity_type_to_mirror, id_of_normal_to_mirror_plane, first_id_to_mirror, last_id_to_mirror, first_new_id Valid entities to mirror are currently: surfaces If id_of_normal_to_mirror_plane is negative, reverse the parameterization of the created entities. 1-x, 2y, 3-z. misc_field misc_field, <option>, <bounding box>, <Cartesian data>, <cylinder/sphere data>, <extra data> Command used to apply a variety of field options based on the <option> value. Geometric Parts can be defined as Cartesian rectangular boxes, or arbitrarily oriented cylinders, spheres or ellipses. <option> = 20 Support Stiffness Modification Cartesian Box <bounding box> = Xmin,Xmax,Ymin,Ymax,Zmin,Zmax <Cartesian data> = kMinX,kMaxX, kMinY, kMaxY, kMinZ, kMaxZ <cylinder/sphere data> = not used for option #20 <extra data> = not used for option #20 <option> = 21 Delete elements inside the bounding box. All other data not used. The bounding box is shown below. The constants kMinX, kMaxX, etc. are constants used to multiply restraint stiffnesses inside the bounding box. Option #20 can be used to soften soil supports, or to completely remove supports from a particular part of the model. Note that the effect of softening can be linear from one side of the bounding box to the other. Only restraints included in the bounding box are modified. The user is cautioned to be very careful with option #21. The user should be sure that supports remain fixed to the correct positions and that elements are not deleted by mistake. Be sure to run a renumber,nodes command after the #21 misc_field option. ALSO BE VERY CAREFUL DELETING ELEMENTS THAT HAVE LOADS AND BOUNDARY CONDITIONS ALREADY APPLIED TO THEM.

Copyright 1999, Paulin Research Group

Appendix 3 - 13

FE/Pipe Version 5.00

Released Feb, 2009

www.paulin.com

<option> = 22 Change the modulus of elasticity for elements whose cg is inside the bounding box. Use the same box as shown for option 21 above. Change the modulus of elasticity as given by the new modulus described in the Cartesian data: Note that only two values must be given, i.e. min x value and max x value; and the values for min and max can be the same if a constant field is described. <Cartesian data> = EmodMinX,EmodMaxX, EmodMinY, EmodMaxY, EmodMinZ, EmodMaxZ <option> = 23 Change the value of Poissons ratio for elements whose cg is inside the bounding box. Use the same box as shown for option 21 above. Change the value of Poissons ratio as given by the value constants given for the Cartesian data: <Cartesian data> = vMinX,vMaxX, vMinY, vMaxY, vMinZ, vMaxZ <option> = 24 Apply boundary conditions to the nodes in the Cartesian box. If a merge_nodes is NOT performed before the misc_field,24 command is issued then there will be boundary conditions applied to each unique node in the box, which means that nodes on surface or solid boundaries will have two supports applied. It is recommended to perform the merge_nodes before using the misc_field,24 command. <option> = 25 Apply forces to the nodes in the Cartesian box. If a merge_nodes is NOT performed before the misc_field,25 command is issued then there will be boundary conditions applied to each unique node in the box, which means that nodes on surface or solid boundaries will have two supports applied. It is recommended to perform the merge_nodes before using the misc_field,25 command. mode mode, input_state, echo_state, /filename Valid input_state's are: 1)keyboard 2)file 3)packet echo_state: 0 = off 1 = on /filename: Name of the file that contains other modgen commands. A mode command of:

Copyright 1999, Paulin Research Group

Appendix 3 - 14

FE/Pipe Version 5.00

Released Feb, 2009

www.paulin.com

mode, 3, 0, 0 returns to the macro menu after a keyboard session (or from a file). modify modify, entity, id, function, values entity can be either: node or element for elements the id is the element number, and the function can be any of: 1 delete the element (may still have some problems with postprocessing. 2 change the element thickness. 3 change the element type. (Used typically to change a shell boundary element type 11 to a type 13 when a point in-element-plane moment loading is applied that must be transferred to the element nodes by some other mechanism than the artificial element inplane stiffness. For nodes the id is the node number. The node number for beams can be the node label entered by the user (and not the modgen node number), if the input is preceeded by a slash. Otherwise, the modgen entity id is used in the modify command. The function can be any of: 1 Change the xyz coordinate of the node. (Enter the new coordinate in value.) 2 Change the uwv coordinate of the node. 3 change the parent id for the node. Change the parent id to zero for beams to cause the node to be put in the spatial elimination list so that it can be joined with other beam nodes, or with shell nodes at the center of spoked wheel surfaces, or if at the ends of spars. Basically, a modify, nodes, /n, 3, 0 says put node n in a spatial elimination list to be combined with whatever else is located at the same point in space as per the merge_nodes tolerance. 4 perform a mini-merge nodes on the node. (used with beams to glue their endpoints to shell or other beam endpoints in the model.) 5 apply a global Cartesian load to the specified node. nodal_load nodal_load, /node_id_to_receive_load, load_case_id, load_direction, load_magnitude ,<vector> node_id_to_recieve_load this can be the node label if preceeded by a slash (/), or the node id in the modgen database if NOT preceeded by a slash. load_direction 1 thru 6 (-1 thru -6) <vector> is a direction vector that will override load_direction if all three components are provided.

nodal_condition nodal_condition, /node_id_to_receive_load, , condition_case_id, condition_direction, condition_magnitude, <vector> node_id_to_recieve_load this can be the node label if preceeded by a slash (/), or the node id in the modgen database if NOT preceeded by a slash. condition_case_id: Not currently used for conditions. condition_direction: 1 thru 6 ( -1 thru -6 ) Applies boundary conditions at a single node in the model. Used most often to apply beam-type boundary conditions to the center of a spoked wheel surface or to the end of a beam element. Condition_magnitude for shape "condition" is a "spring stiffness". If a value is 0.0, 1.0E15 is used. An <optional> vector may be specified in the form of three direction cosines for a non-orthogonal load or spring. Specification of a non-zero vector overrides a direction specification. All three components must be provided.

Copyright 1999, Paulin Research Group

Appendix 3 - 15

FE/Pipe Version 5.00

Released Feb, 2009

www.paulin.com

node_parent_id node_parent_id, <id> <id> Usually -1 or 0. This command typically appears in a modgen input stream before the input,elements command. The default for the input, elements command is to create nodes not already available with a parent id of 0, which puts all nodes in the merge nodes list, (unless otherwise on a surface edge.) This does not often work so well for beam elements that do not have identifiable surface edges on a per element basis. In this case, it is desirable to put nodes created in the input,elements command in a -1 parent id, so that they are NOT in the merge nodes list. Then nodes that should be merged, (i.e. ones at the end of the system, or nodes on the ends of base nodes), must have their parent id changed to zero typically using a modify,nodes command using either the modgen node number, or the node label. output output, entity_name Valid entity names: points curves surfaces solids connectivity elements loads conditions properties regions nodes Each output command produces an ascii file of the respective quantity. The element file is labeled <jobname>.m1e, the region file is <jobname>.rgn, and the node file is <jobname>.nod, for example. The node file is often useful if the exact coordinate of a node is needed for spar attachment. pan pan, screen_direction, amount screen_direction = xdir or ydir The amount filed may be positive or negative, computed i percentage of screen space. parent parent, id, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 id = the id of the parent geometry that may act as a master shape for pc surfaces. After parents are defined the user may issue surface_on_parent commands which will move the 16 points defining the surface layout to exact positions on the surface. The id is used in the surface invocation to tell which surface is the master surface, (usually the head or cylinder that is being modeled.) A special id value of zero is used to define the global orientation of the parent. In this case the arguments are vx,vy,vz, nx,ny,nz, where these are the global vessel orientation vector and the zero degree axis orientation. The ids do not have to be entered in any particular order, and older ones can be overwritten by more recent ones if necessary. The parent_id can also be used to store nozzle vectors that can be used in conjunction with the surface_on_parent command to simultaneously keep a point on both the parent and the nozzle midsurface. (To use a surface_on_parent command a zero parent id must be defined so that the processor will know the base orientation of the model part to be manipulated.) The real constants contain the following data: arg1 outside diameter of the parent arg2 wall thickness of the parent arg3 (for type 2 ellipse ratio) arg4 (for type 3 inside crown radius) (for type 4 or 7 knuckle radius at top) arg5 (for type 3 inside knuckle radius) (for type 4 or 7 knuckle radius at bottom) arg6 (for type 4 or 7 outside diameter at top.) arg7 (for type 4 or 7 the cone length) (for type 6 the cylinder length) (for type 8 ball length) arg8 for parent types (arg9=1-thru8) the distance along vertical axis of the parent vector

Copyright 1999, Paulin Research Group

Appendix 3 - 16

FE/Pipe Version 5.00

Released Feb, 2009

www.paulin.com

(vx,vy,vz) to get to the actual 0.0 location of the parent geometry. (Most often = 0.0, used to locate head boundary conditions. Note that may be negative.) arg9 The type of the parent model: 0 then the normal vectors for orientation (6 values vx,vy,vz, nx,ny,nz = arg1-arg6) 1 sphere (no extra real values required for the sphere, args 2-thru 8 not used.) 2 ellipse (arg3 ellipse ratio) 3 dished (torispherical) 4 concentric cone 5 flat head 6 cylinder 7 eccentric cone 8 ball 100+ - orientation vector (3 values) photo_zoom photo_zoom, zoom_factor Zoom in or out by the specified zoom factor. pierce pierce, curve, curve_number, surface, surface_number, new_point_number Used to locate a point on a surface. plot This action plots the corresponding display list in the current view window. point point, creation_mode, coordinate_1, coordinate_2, coordinate_3, new_point_id The following creation modes are valid: 1 cartesian, 2 cylindrical (about) x, 3 cylindrical (about) y, 4 cylindrical (about) z. point_condition point_condition, point_id_nearest_node, condition_shape_code, condition_case_id, condition_direction, condition_magnitude, <vector> condition_shape_code: loads conditions condition_case_id: Not currently used for conditions, but is used for loads. condition_direction: 1 thru 6 ( -1 thru -6 ) Applies point loads or boundary conditions at a single node in the model closest to "point_id_nearest_node". Used most often to apply beam-type loads or boundary conditions to the center of a spoked wheel surface. Condition_magnitude for shape "condition" is a "spring stiffness". If a value is 0.0, 1.0E15 is used. An optional vector may be specified in the form of three direction cosines for a non-orthogonal load or spring. Specification of a non-zero vector overrides a direction specification. point_radius point_radius, <value> Value is a number greater than or equal to zero to set the number of pels (or screen picture elements)

Copyright 1999, Paulin Research Group

Appendix 3 - 17

FE/Pipe Version 5.00

Released Feb, 2009

www.paulin.com

when the radius for a point is drawn. A typical value is 4. post_file post_file, post_file_format, no_data_value Valid post_file_format: 1 ascii 0 binary no_data_value = -1.0101 (default) If no_data_value is set to -999, MODGEN will not look for the no_data_value in subsequent post files. property property, property_id, properties (variable) property 1 young's modulus, property 2 Poisson's ratio, property 3 coefficient of thermal expansion, property 4 reference temperature, property 5-8 element thickness at corner nodes - 1 req'd for constant thickness - 2 req'd for linear thickness. Note that properties can be changed using the surface_property card once they have been defined, but before using a surface_property card for a surface be sure that the properties for that surface have already been defined! For orthotropic materials, Ym, poisons ratio and the thermal expansion coefficient can be repeated three times for following property value 8. quit This command exists MODGEN. ref_draw ref_draw, child_entity, parent_entity, parent_entity_id Valid child_entities: nodes elements loads conditions Valid parent_entities: surface case property sections Only loads are valid for parent_entity = case. Only elements are valid for parent_entity = property <or> sections. The ref_draw command can also have the form: ref_draw, label, group, <>, where labels identified in groups can be drawn. This is generally more convenient than the draw,label,<> command that operates using the label index, based on the order the label was defined. Using the group id, the entity_label writer can separately identify elements, restraints, etc. region region, first_affected_surface, last_affected_surface, origin_boundary_id, distance_to_leading_edge, distance_to_trailing_edge, shape_to_regionalize, integer_label Nodes are currently the only valid shape to regionalize. Special use is made in FE/Pipe of the region 999. This region is used to delete a node from inclusion in a code postprocessed shell model. Some shell models use 998 to identify nodes whose displacements should be read. Region numbers must be in the range from 1 to 999. For shell surfaces, the origin boundary id is 1-through-4 for the straight edge boundaries of each surface, or the boundaries 5 through 8 may be used to start the region look from a corner of the surface. 5 starts at the parametric coordinate 0,0; 6 is at 1,0; 7 is at 0,1 and 8 is at 1,1. (See free_region for information regarding beam-element join operations.) renumber_nodes

Copyright 1999, Paulin Research Group

Appendix 3 - 18

FE/Pipe Version 5.00

Released Feb, 2009

www.paulin.com

renumber_nodes, primary_model_direction, secondary_model_direction If primary_model_direction and/or secondary_model_direction are supplied, perform a spatial guided renumber operation, otherwise renumber nodes squeezing out merge node id's. This command must be done after all merge_nodes requests. restore_model restore_model This command restores the model to its shape or state prior to all deform_model commands. revolved revolved, entity_type_to_revolve, director_id, scribing_id, angle_of_revolution, number_new_entities, first_new_id Valid revolved entities are currently: surfaces, solids. If director_id or scribing_id is negative, reverse the parameterization of the corresponding entity used to construct the revolved entity (not the original entity(s)). Child_entities are added to the display list prior to drawing. rotate_database Rotate_database, rot_x, rot_y, rot_z Rotate a database about the angles given. Each call to rotate_database results in only a single rotation of the database, i.e. rotate_database,45,45,0 results in a single rotation about an angle defined by the collective three rotations. For example, to rotate about X 90 degrees, then about Y 90 degrees, call rotate_database twice. Note that the rotation is a left-handed one. scene scene, x_camera, y_camera, z_camera, x_focus, y_focus, z_focus, viewing_depth

section section, section_id, section_attributes Section_id matches the "section_id" on the line_element card. Section attributes for straight pipe are listed below (Element type 41) 1. OD REQUIRED !!! 2. wall thickness REQUIRED !!! 3. i(axial) From Node 4. i(inplane) From Node 5. i(outplane) From Node 6. i(torsional) From Node 7. i(axial_ To Node 8. i(inplane) To Node 9. I(outplane) To Node 10. i(torsional) To Node 11. Sif Orientation Angle (From Node) 12. Sif Orientation Angle (To Node) 13. Z(Section Modulus for Stress) 14. Sc(Cold Allowable Stress) 15. IFMAT (ASME material number) 16. Sh (Hot Allowable Stress)

Copyright 1999, Paulin Research Group

Appendix 3 - 19

FE/Pipe Version 5.00

Released Feb, 2009

www.paulin.com

17-55 There are additional section properties here for 18dof elements. 56 Refractory ID for 18dof element. Section Attributes for curved pipe are listed below (Element type 42) 1 OD REQUIRED !!! 2 wall thickness REQUIRED !!! 3 bend radius REQUIRED !!! 4 bend angle REQUIRED !!! 5 flexibility factor (inplane) 6 flexibility factor (outplane) 7 i(axial) From Node 8 i(inplane) From Node 9 i(outplane) From Node 10 i(torsional) From Node 11 i(axial) To Node 12 i(inplane) To Node 13 i(outplane) To Node 14 i(torsional) From Node 15 Z (Section Modulus for Stress) 16 Sc (Cold Allowable Stress) 17 IFMAT (ASME material number) 18 Sh (Hot Allowable Stress) 19- oval_stif_factor[1] 20- oval_stif_factor[2] 21- oval_stif_factor[3] 22- oval_stif_factor[4] 23- displace_shift_factor[1] 24- displace_shift_factor[2] 25- displace_shift_factor[3] 26- displace_shift_factor[4] 27- Pressure for 18dof stress stiffening. 28- ownode (ovalization/warping node for application) 29- owangle angle for ovalization warping spec at the node 30- owX 31- owY 32- owZ 33- owForce - Force magnitude for direction specified 34- owStif - Stiffness magnitude for direction specified 35-41 - 2nd nodal force/stif spec for ovalization/warping 42-48 - 3rd nodal force/stif spec for ovalization/warping

Copyright 1999, Paulin Research Group

Appendix 3 - 20

FE/Pipe Version 5.00

Released Feb, 2009

www.paulin.com

49-55 - 4th nodal force/stif spec for ovalization/warping 56 - oval_stif_factor[5] - cut angle "i" end 57 - oval_stif_factor[6] - cut angle "j" end 58 Refractory ID to be found on <name>.rfc file.(for 18dof elements) s[1] = OD[element_data] s[2] = T[element_data] ... IF rigid_wgt <> 0 THEN # Have a rigid element. If the weight is -1.0101 then this is a # weightless rigid. In any event, need to adjust the outside diameter # and thickness to effect an essentially rigid cross section. s[1] = s[1] * od_mult s[1] = s[1] + 2 * (thick_mult - 1) * s[2] s[2] = s[2] * thick_mult ... ENDIF # The section modulus for stress will always be the corroded section # modulus. Make the calculation for the corroded section modulus here. s[13] = pi/64 * ( s[1]^4 + (s[1] - 2*s[2] + 2*cor[element_data])^4 ) s[13] = s[13] * 2 / s[1] s[14] = Sc[element_data] s[15] = ASME_id[element_data] s[16] = Sh[element_data] # Initialize the stress intensification data ... FOR ii = 3 TO 12.1 s[ii] = 0 ... NEXT ii # pressure for 18dof stress stiffening s[27] = pressure Section Attributes for structural shapes are listed below (Element type 61) 1 2 3 4 5 6 Area Ixx (Strong Axis Moment of Inertia) Iyy (Weak Axis Moment of Inertia) J Polar Moment of Inertia Sx Stress calculation multiplier for strong axis moments Sy Stress calculation multiplier for weak axis moments

Copyright 1999, Paulin Research Group

Appendix 3 - 21

FE/Pipe Version 5.00

Released Feb, 2009

www.paulin.com

7 8 9 10 11 12 13

Shape Type (1-Ibeam, 2-T, 3-L, 4-C, 5-Tube) Depth Width Yx Yy Optional Orientation of Weak axis moment of inertia Yz Wind Diameter

For section cards used with arbitrary stiffness matrices there are several partition options. Option #2 is illustrated in the example below. The first number (1) following the section card is the ID. This is referenced from the line_element. The second number is the access method, which for this example is 2. The partition breakdown for access method 2 is shown below the data. The number following the two gives the partition to be defined (0.1000e+01 <or> 1) in the example. Partition 1 is an on-diagonal partition, so the next six numbers define the coefficients to be used ordered from 1 to 6 as shown below. Note that partitions 1 and 3 are for on diagonal translational dofs and partitions 2 and 4 are for ondiagonal rotational partitions.
line_element,/500,/501,-.9637500E+02,0.9965600E+02,0.8850000E+01,.9637500E+02,0.9909399E+02,0.9680000E+01,,,,73,1,1 section,1,0.2000000E+01,0.1000000E+01,0.1000000E+13,0.0000000E+00,0.1000000E+13,0.0000000E+00,0. 0000000E+00,0.1000000E+13,0.3000000E+01,0.1000000E+13,0.0000000E+00,0.1000000E+13,0.0000000E+00, 0.0000000E+00,0.1000000E+13,0.8000000E+01,.1000000E+13,0.0000000E+00,0.0000000E+00,0.0000000E+00,.1000000E+13,0.0000000E+00,0.0000000E+00,0.0000000E+00,-.1000000E+13,0.0

Partitions: 1 5 2 8 6 3 10 9 7 4 On diagonal ordering: 1 2 3 4 5 6 Off diagonal ordering: 1 2 3 4 5 6 7 8 9

For the above line element, the 1st, 3rd and 8th partitions are defined for translational restraint between the nodes 500 and 501. The stiffness partitions can be broken off the section line as shown below: partition number 0.1000000E+01, 1)0.1000000E+13, 2)0.0000000E+00, 3)0.1000000E+13,

Copyright 1999, Paulin Research Group

Appendix 3 - 22

FE/Pipe Version 5.00

Released Feb, 2009

www.paulin.com

4)0.0000000E+00, 5)0.0000000E+00, 6)0.1000000E+13,

partition number .3000000E+01 7)0.1000000E+13, 8)0.0000000E+00, 9)0.1000000E+13, 10)0.0000000E+00, 11)0.0000000E+00, 12)0.1000000E+13,

partition number 0.8000000E+01 ,-.1000000E+13, 0.0000000E+00, 0.0000000E+00, 0.0000000E+00, -.1000000E+13, 0.0000000E+00, 0.0000000E+00, 0.0000000E+00, -.1000000E+13,0.0 The stiffness partition for partion 1 above is: 1e13 0 0 1e13 0 1e13

The offdiagonal partition is: -1e13 0 0 0 -1e13

0 -1e13 0 0

show_prop_min_max Used to display the maximum and minimum property values for the elements in the current viewing window. Useful with nonlinear models to help identify property regions in the model that should have plastic properties identified. showzone, <option>, <x>,<y>,<z>,<radius>, <region_id>,, <color> <option> 1-then draw all points found within radius of x,y,z in the color given 2-then draw all points found within a radius of x,y,z in the color given in the region <id>. 3-then draw all points below <y> 4-then draw a circle at center <x>,<y>,<z> with <radius>. 5-then draw all pints between ymin and ymax where ymin=x and ymin = y <color> can be a number between 0 and 15 and corresponds to the color values set by the user in the color

Copyright 1999, Paulin Research Group

Appendix 3 - 23

FE/Pipe Version 5.00

Released Feb, 2009

www.paulin.com

palettes for text. 0 uses the current drawing tool color.

shrink_factor shrink_factor, amount The amount must be less than 1.0, (e.g., amount=0.1 shrinks all elements toward their centroid by 10 percent.) slice slice, keep_front_or_back, plane_id, offset keep_front_or_back 1 keep front -1 keep back If plane_id and offset are omitted then slice works using the axis normal to the screen. plane_id 1 X-axis for slice 2 Y-axis for slice 3 Z-axis for slice Offset is a value between 0 and 1, where 0 is at the complete back of the model, and 1 is at the front of the model. Used to find the start for the selective slice. (0.5 splits the model in half.) smooth smooth, property_id_to_smooth, parent_id, user_option, relaxation, aspect_limit, aspect_old_to_new, max_angle, min_angle The smooth command performs two model improvement functions. First it operates on each node in the smooth group and moves it to the parent geometric shape defined. The parent command is used to define the characteristics of the parent shape that the nodes are moved to. The property_id_to_smooth may be negative. If (-1) then all properties will be included in the smooth. (Used with axisymetric models.) If (-n) then all properties less than (n) will be included in the smooth operation. The user_option is the number of iterations in the smoothing operation. If zero then the nodes in the smooth region will be moved to their exact location on the parent surface. The movement will be along a line that is normal to the parent geometry surface. smooth must be called after merge_ndoes is performed. solid solid, solid_type, solid_data, new_solid_id The following solid types are valid: 1 Ruled 2 Four Surface If solid_type is Ruled, solid_data is two surface_id's, where an isoparametric solid will be constructed between the surfaces. If solid_type is Four Surface, solid_data is four surface_id's where a general tricubic solid will be constructed from the surfaces. Solids are loaded along their local coordinate system, and node and surface edges should be kept consistent with the diagrams shown below. The element nodal ordering system is shown below:

Copyright 1999, Paulin Research Group

Appendix 3 - 24

FE/Pipe Version 5.00

Released Feb, 2009

www.paulin.com

Surfaces must be defined and loaded carefully so that element ordering and loading is maintained. Pressure loads, for example, are defined along the positive element local axis. Surface definitions and local coordinate definitions for solid loading is shown in the figure below. Note that if the fingers of the right hand are curled in the 1-to-3-to-2-to-4 (sides) direction, then the thumb points in the direction from 5-to-6.

solid_condition solid_condition, first_solid_id, last_solid_id, condition_case_id, condition_type, boundary_id, fixity_set condition_case_id is not currently used condition_type:

Copyright 1999, Paulin Research Group

Appendix 3 - 25

FE/Pipe Version 5.00

Released Feb, 2009

www.paulin.com

0 global cartesian boundary condition, 1 surface tangent or normal boundary condition boundary_id: -1,-2,-3,-4,-5,-6 (0 applies condition to all solid nodes.) fixity_set: six values, 0 or 1, 1 dof fixed 0 dof free The fixity_set dof's are tangent u, tangent w, normal, r tangent u r tangent w, r normal for the local system. solid_load solid_load, first_solid, last_solid, case_id, load_type, boundary_id, load_direction, load_magnitude(s) The following are valid load_type's: 0 global cartesian direction, applied to solid nodes. Total entered load magnitude is applied to surface 1 edge. 1 surface local direction, applied to surface nodes 2 same as type 0 but load magnitude will be divided by the length of the applied edge 3 same as type 1 but load magnitude will be divided by the length of the applied edge 103 gravity load applied to solid elements 112 pressure load applied to solid elements 116 temperature load applied to solid elements boundary_id = -1, -2, -3, -4, -5, -6 or 0 (applies load to all solid nodes) FOR THERMAL LOADS BE SURE TO USE -5 FOR THE boundary ID. For load_direction = x, y, z input as 1, 2, 3 for nodal solid loads (types 0 & 2). For load direction = tangent u, tangent w, tangent w, normal, input as 1, 2, 3 for nodal solid nodes (types 1 & 3) For gravity loads, load_direction indicates direction of positive gravity. For pressure loads, load_direction = 1 applies load in direction of positive element normal, = (-1) for load in the direction of the negative (solid) element normal. For temperature loads, load_direction is n/a. If the load_type is 103 (gravity), then this is the model density on a force per unit volume basis. Two load magnitudes are required for temperature loads: 1 inner solid temperature, and 2. outer solid temperature A linear temperature gradient thru-the thickness is assumed. The load_case_id's used in FE/Pipe at the present are: 3000 weight loads 14001 operating loads 14002 occasional loads 14003 thermal only loads 11001 pressure 13001 temperature solid loads solid_region solid_region, first_solid, last_solid, boundary_id, start_dist, end_dist, nodes, region_id first_solid and last_solid give the solid numbers that have already been meshed. This functions just like the region command for surfaces and shell elements. The boundary ID corresponds to the IDs shown above under the solid command, and are reproduced in the figure below showing also the uvw coordinate system on the solid. Leave the boundary ID zero to select all nodes in the solid.

Copyright 1999, Paulin Research Group

Appendix 3 - 26

FE/Pipe Version 5.00

Released Feb, 2009

www.paulin.com

The starting distance and stopping distances are the distances from the specified boundary ID or face into the geometry. Both can be left zero if only the nodes on the specified face should be included in the region. spawn spawn, include_jobname_argument, look_in_install_directory, /process_to_spawn

split split, entity_type_to_split, entity_id_to_split, splitter_id, first_new_id, second_new_id Valid entities to split are currently: surfaces. The splitter_id to divide a surface is an existing curve id. If the splitter is negative, reverse the parameterization of the curve prior to splitting the surface. stop This command transfers the input mode from the file to the keyboard. surface surface, surface_type, curve_ids(four required), new_surface_id If any curve_id is negative, reverse the parameterization of the surface edge that the curve represents prior to creating the new surface. The following surface types are valid: 1 no corner twists (ruled surface, i.e., at least two opposite edges are approximately parallel) 2 four curve (true or general bicubic surface) 3 adini corner twists (a fair bicubic approximation)

Copyright 1999, Paulin Research Group

Appendix 3 - 27

FE/Pipe Version 5.00

Released Feb, 2009

www.paulin.com

Surface Type 1 Definition

0,0,1 Surface Type 2 Definition surface_condition surface_condition, first_surface, last_surface, case_id, direction_type, edge_no, fixstate case_id is not used, direction_type is 0 for global, 1 for surface local. edge_no is 1,2,3,4 or 0 for all surface nodes. Specifically, edge_no can be any of the following values for the general 3 dimensional space: 0-For all nodes in the surface. 1-u=0, v=0 2-u=1, v=0 3-w=0, v=0 4-w=1, v=0 5-u=0, v=1 6-u=1, v=1

Copyright 1999, Paulin Research Group

Appendix 3 - 28

FE/Pipe Version 5.00

Released Feb, 2009

www.paulin.com

7-w=0, v=1 8-w=1, v=1 9-u=0, w=0 10-u=0, w=1 11-u=1, w=0 12-u=1, w=1 -1- u=0 -2- u=1 -3- w=0 -4- w=1 -5- v=0 -6- v=1 fixstate is a six-digit number composed of zeros and ones. Ones where the degree of freedom is to be restrained and zero where it is to be freed. The six digits correspond to xyz, rx,ry,rz space for global coordinates, and uwv, ru, rw, rv, space for local coordinates. Note that the boundary_stiffness command can be used to change the stiffness value for restraints provided by the surface_condition command. surface_field surface_field, first_surface, last_surface, case_id, interpolation_table_number, /interpolation_table_name exclude_edge_list The format of an interposition table is as follows: <header record> <location of field point '1'> <value at field point '1'> <location of field point '2'> <value at field point ... ... ... ... <location of field point 'n'> <value at field point 'n'> The header record is as follows: dimensionality 2 or 3 table number id for multiple table files shape type loads or conditions condition type 0, 1, 2, 3, 103, 112, 116 113 Xpressure case for special shell liquid level solution 114 Zpressure case for special shell liquid level solution direction 1 thru 6 (-1 thru -6) row entries number of (location, value) pairs table columns single or multi-valued fields no strength value no field for this value Location data is the surface coordinates in parametric space for the value in the field. The surface_load command will give an error message if the surface given in the list is not in the model, but will continue processing the surface list. (Most model generation commands stop processing id lists when an invalid id is encountered. The surface_load command is special in this regard.) The dimensionality may be 4 if there is a bounding box to describe the limits of the field. Outside of the bounding box the no strength value will be applied. The bounding box is given in two sets of global x,y,z coordinates the min and the max values for x,y and z respectively. The min and max values should

Copyright 1999, Paulin Research Group

Appendix 3 - 29

FE/Pipe Version 5.00

Released Feb, 2009

www.paulin.com

immediately follow the header. Only three values per line must be entered. Otherwise the dimensionality of 4 option works in a manner identical to the option of dimensionality of 3. At least 8 points should be used for row entries in three dimensions, and the points should describe the corners of the space where the field value exists. Further points can be used to define a polynomial within the space. When the dimensionality is 2 the space is assumed to be the elemental u,w space, when 3, the space is assumed ot be the x,y,z space. When the condition_type is positive, the loads are considered ELEMENTAL loads. When the condition_type is negative loads are considered NODAL loads. This applies for GRAVITY, PRESSURE and TEMPERATURE loads. Elemental temperature loads are NOT used in the thermal solution, while Elemental Nodal Loads ARE used in the thermal solution. This is provided so that preload effects using elemental thermal loads can be used in a solution involving heat transfer without the artificial preload temperatures causing problems with the thermal solution. surface_lines surface_lines, number_of_interior_visualization_lines

surface_load surface_load, first_surface, last_surface, load_case_id, load_type, boundary_id, load_direction, load_magnitude(s) The following are valid load_type's: 0 global cartesian direction, applied to surface nodes Total entered load magnitude is applied to surface 1 edge. 1 surface local direction, applied to surface nodes 2 same as type 0 but load magnitude will be multiplied by the length of the applied edge. 3 same as type 1 but load magnitude will be multiplied by the length of the applied edge 4 same as 0 but load magnitude is taken as a bending moment to be applied to the nodes along the edge. The load will be broken down into a linearly varying force along the entire surface edge to simulate the prescribed moment. (Added in the 4.2 version of FE/Pipe for the medge plate boundary condition.) 10 The same as global Cartesian 0 except that for an axisymetric model there is no adjustment either for uniform loads on element types at midside nodes, and there is no adjustment for node radius in the fixaxil.exe call. This is used to establish displacement boundary conditions for 2d and volumetric elements. 103 gravity load applied to surface elements 112 pressure load applied to surface elements 116 temperature load applied to surface elements boundary_id = 1, 2, 3, 4, or 0 (applies load to all surface nodes) For load_direction = x, y, z input as 1, 2, 3 for nodal surface loads (types 0 & 2). For load direction = tangent u, tangent w, normal, input as 1, 2, 3 for nodal surface loads (types 1 & 3). For gravity loads, load_direction indicates direction of positive gravity. For pressure loads, load_direction = 1 applies load in direction of positive element normal. For temperature loads, load_direction is n/a. If the load type is 103 (gravity), then this is the model density on a force per unit volume basis. Two load magnitudes are required for temperature loads: 1. inner surface temperature , and 2. outer surface temperature. A linear temperature gradient thru-the-thickness is assumed. The load_case_id's used in FE/Pipe at present are: 3000 weight loads 14001 operating loads 14002 occasional loads 14003 thermal only loads

Copyright 1999, Paulin Research Group

Appendix 3 - 30

FE/Pipe Version 5.00

Released Feb, 2009

www.paulin.com

11001 13001

pressure temperature surface loads

surface_on_parent surface_on_parent, surface_id, parent_id, edge_id, edge_id2, parent_id2 surface_id can be any already defined surface in the model database, parent_id is the base parent geometry that surface_id is to be mapped to. It is assumed that surface_id is close to the surface defined by parent_id already, and this command is intended to improve the quality of the parametric cubic (pc), such that the best pc to model the surface space results. The parent_id data is provided by the parent command. edge_id is the edge to be moved to the geometry defined by the parent_id. If edge_id is zero then the entire surface is to be moved. edge_id2 is the edge that is to have two restraints. One is to be on parent_id, and another is to be on the line defined by parent_id2 and the original location of the point on the edge to be moved. parent_id2 is the id of the parent defined by the parent command that describes a vector that is to pass between the edge original point location and that the new shifted point must reside on. If edge_id2 is nonzero, then parent_id2 must also be nonzero and point to a vector defined by the parent command.This command, in conjunction with the parent command, is used to keep all surfaces on an original parent. This did not happen when large portions of the parent were swept out by single surfaces for large nozzles or saddle geometries. The large surfaces are eventually broken down into smaller surfaces but since they were extracted from the larger surfaces, geometry errors occurred (out-of-roundness). These commands are used to move the smaller surfaces back to the parent surface before it is meshed. surface_property surface_property, first_surface, last_surface, property_index, property_at_uw = (1, 1), property_at_uw = (0, 1), property_at_uw = (0, 0), property_at_uw = (1, 0), property_at_uw = (.5, 1), property_at_uw = (0, .5), property_at_uw = (.5, 0), property_at_uw = (1, .5) property_index: 1. modulus 2. Poisson's ration 3. expansion coefficient 4. reference temperature 5. thickness text text, starting_x, starting_y, color, /the_text starting_x and starting_y are measured in percent of screen space relative to the current view window. To see the color codes available refer to the color indices. As shown above, text must be preceded with a "forward slash" (/) 0,0 lower left screen corner 1,0 lower right screen corner 1,1 upper right screen corner 0,1 upper left screen corner -1,-1 center in both X and Y -1,1 center in X, place text at top of current view window thermal_field thermal_field, <option>, <bounding box>, <Cartesian data>, <cylinder/sphere data>, <extra data> Command used to apply a constant or linearly varying temperature field to a particular geometry part of

Copyright 1999, Paulin Research Group

Appendix 3 - 31

FE/Pipe Version 5.00

Released Feb, 2009

www.paulin.com

the model. Geometric Parts can be defined as Cartesian rectangular boxes, or arbitrarily oriented cylinders, spheres or ellipses. This command is most often used to describe partially filled pipes, or nozzles that are providing cooling or heating to a vessel. <option> = 1 Cartesian Box 2 Cylinder 3 Sphere/Ellipse <bounding box> = Xmin,Xmax,Ymin,Ymax,Zmin,Zmax <Cartesian data> = TMinX,TMaxX, TMinY, TMaxY, TMinZ, TMaxZ <cylinder/sphere data> = cx,cy,cz, vx,vy,vz, radiusMin, radiusMax, TRmin, TRmax, Eratio <extra data> = MinsurfID, MaxsurfID Each option is shown in a sketch below. The bounding box can be used with the cylinder or sphere, but is also used to define the geometric temperature constraints for the Cartesian data option. The bounding box definition is shown below:

If any of the pairs (Xmin,Xmax), (Ymin,Ymax), or (Zmin, Zmax), are given then that respective pair is used to limit the geometric application of temperatures. Points outside the bounding box ranges given will not have temperature applied to them. When option 1 for a Cartesian Box is specified, then the Cartesian temperature minimums and maximums are used with the bounding box to scale the temperature inside the box. In general only a single TMin and TMax combination (for one direction) are specified, but the user may specify combinations of TMin and TMax, for example: To vary the temperature in the Y direction from 100 to 500 degrees the cartesian data would appear: 0,0, 100, 500, 0,0 If the user wanted a variation in the X direction also of from 200 to 700 degrees, the Cartesian data would appear: 200,700, 100,500, 0,0

Copyright 1999, Paulin Research Group

Appendix 3 - 32

FE/Pipe Version 5.00

Released Feb, 2009

www.paulin.com

When more than one direction is used, the values corresponding to any nonzero range are averaged. For the example above, if the coordinate point to be evaluated is at TMinX and TMinY, then the temperature added for that node would be (200+100)/2 = 150. When option 2 for a cylinder is specified the user defines an arbitrarily oriented cylinder in space and the minimum and maximum radii for the temperature gradient. The radii for any point with respect to the cylinder is found, and if the point is within the minimum or maximum given radii inclusively, then the temperature corresponding to the point is included.

The center point does not have to be at any particular point along the cylinder, it must only be on the cylinder centerline. The vector coordinates point along the cylinder axis. The vector length can be any dimension. Rmin and Rmax define the inside and outside cylinders shown in the above figure. Any point in between the cylinders defined by Rmin and Rmax inclusively will have their temperature modified. The radius to the particular point is found and the temperature between Rmin and Rmax is found by linear interpolation between TRmin and TRmax. If a Cartesian bounding box is also specified, then the data point must be both inside the bounding box, and inside the min and max cylinders to have its temperature modified. When option 3 for a sphere or ellipse is specified, the user defines an arbitrarily oriented sphere or ellipse in space and the minimum and maximum major radii for the entry of a constant or linear temperature gradient.

If a model node is between the sphere or ellipse defined by the minimum radius and the sphere or ellipse defined by the maximum radius, then the node will receive the interpolated temperature value. If a Cartesian bounding box is also specified, then the data point must be both inside the bounding box, and inside the min and max sphere or ellipse. The X,Y,Z vector coordinates point along the centerline of the sphere or ellipse.

Copyright 1999, Paulin Research Group

Appendix 3 - 33

FE/Pipe Version 5.00

Released Feb, 2009

www.paulin.com

All temperatures added by the thermal_field command are additive to any other temperature that may already have been specified for the node. Multiple thermal_field commands can be entered, and they may include nodes already included in other commands, (noting that thermal_field temperatures specified are additive.) The min and max surface or volume ids can also be specified to limit the application of the thermal field commands. If not specified then the parent id is not checked and all nodes are included in the thermal field evaluation. Even though some values may not be entered there spaces must be reserved by entry of a zero. Trailing zeros after the last valid entry are not required. Valid example thermal_field commands are shown below:
thermal_field,1,-100,100,-1,20,0,0,0, 0,10, 20 thermal_field,1,-100,100,20,30,0,0, 0,0, 20,50 thermal_field,1,-100,100,30,100, 0,0, 0,0, 50,100 # thermal_field, 2, thermal_field, 2, # thermal_field, 3, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,100,0, 0,0,0, 14, 100, 14,100, 0 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0, 0,0,1, 0,100,0, 0,0,1, 1,200, 1, 200, 0 1,100, 1, 200, 0

true_shape true_shape, 0 thru 20 Higher values of true_shape require greater amounts of memory. This value controls how many internal polygons are used to model a single curved element. two_surface_brick, <surface_1>, <surface_2>, <els_thru_thick>, <el_func_thru_thick>,<propid>,<eltype>, <solid_id> The two_surface_brick command meshes bricks in between two surfaces. The intention is to simulate soil or refractory attached to a shell model of a pipe wall. One of the surfaces should already be meshed with shell elements. The two_surface_brick command will match the brick paving function in the plane of the shells with the shell element paving. The user can only control the number of elements through the thickness direction (between the two surfaces), and the element paving function. Shell elements may exist for surface_1 or surface_2. Be sure to order the surfaces correctly to make sure that the brick elements do not have negative volumes. See Appendix 3-A below for an example. <surface_1> - one of the shells to have bricks placed in between. <surface_2> - the second shell surface. Brick <els_thru_thick> elements are placed through the thickness, (between the surfaces). <els_thru_thick> - number of brick elements between surface_1 or surface_2. <propid> - propery id used with the bricks. <eltype> - 21,22, or 23. 22 is the 8 noded element with 3 internal nodes, and is recommended. 21 is the linear eight noded brick element, and 23 is the special purpose Y direction brick element. <solid_id> - Reference value to be used with the solid_load command to apply loads to the solid elements. The user is urged to be careful when using solid_loads that rely on a particular solid edge orientation. (Uniform temperature and weight loadings do not rely on edge orientations.) USERS SHOULD NOT MIX A SOLID_ID = 0 numbering option with a SOLID_ID>0 numbering option. In this case, solid ids may be reused if the user is not very careful. vector_plot, <filenumber>, <load case>, <stress column>, <max screen space>, <color> The file number is 113 for m4q (not averaged) and 115 for averaged results if available. The load case number is the analysis load case available. (Do not preceed with a "slash".

Copyright 1999, Paulin Research Group

Appendix 3 - 34

FE/Pipe Version 5.00

Released Feb, 2009

www.paulin.com

The stress column is the first column in the r,s,rs stress tensor. This is either 1 for outside, and 6 for inside. The maximum screen space is the percentage of screen space the largest load should be scaled to. <color> is a value between 0 and 15. 0 is black.

view view, viewing_mode, angle_x, angle_y, angle_z Valid viewing_mode: absolute (angles req'd) relative (angles req'd) find (no extra data req'd) point (unit coordinate req'd) The default ISO view orientation is: view, absolute, 23,-34,0 view_fe view_fe, viewing_mode viewing_mode: 0 to start the viewer pointing to a <jobname>.fex file. View_mode n, where values of n are 1 or greater instruct the viewer to start with the geometry from a <jobname>fex file, and a data set from a <jobname>.00n file. The view command can be started from a command line. The viewer supports Windows navigation to other geometry or data files. view window view window, window_id This command changes the current view window to the supplied window_id. window_zoom window_zoom, minimum_x, minimum_y, maximum_x, maximum_y New window corners. Input in percentage of screen space. wire frame wireframe, command, <input_flag>, </wireframe_filename> Valid commands: off on input plot clear If the command is INPUT, input_flag indicates whether or not to look in the FE/Pipe installation directory for wireframe file: 1 look in FE/Pipe directory (i.e., C:\FEPIPE) 2 look in working directory (the directory from which the user is running his/her jobs) Wireframe_filename is the name of the file where the wireframe resides. The format is as follows and is in ascii format: line 1 number_points number_lines line 0 (x,y,z) of first point ... line 1+np (x,y,z) of last point line 2+np start_point end_point_of_first_line ... line 1+np+nl start_point end_point_of_last_line xyz_uw_samples xyz_uw_samples, new_sample_count new_sample_count may range from 1 to 100. Use when surfaces are highly distorted for extraction and intersection commands.

Copyright 1999, Paulin Research Group

Appendix 3 - 35

FE/Pipe Version 5.00

Released Feb, 2009

www.paulin.com

1 black & white contours using half-toning algorithm 2 color contours with no smoothing 3 color contours with smoothing 4 color contours with optical dithering (default) Valid computation_method: 1 Assign colors based on absolute value of data in column. 2 Assign colors based on true range of data in column (default). Valid swap_outline_color: 1 Element outlines drawn in background color. 1 Element outlines drawn in configured color (default).

Copyright 1999, Paulin Research Group

Appendix 3 - 36

FE/Pipe Version 5.00

Released Feb, 2009

www.paulin.com

Appendix 3-A Refractory Example using two_surface_brick command.


Refractory exists on the 0.75 plate shown below. It is desired to know how much the refractory stiffens the geometry. The refractory is 6 thick and has an elastic modulus of 100,000 psi.

The model was constructed using the nozzles-plates&shells template, using a none parent type and only a single circumferential plate with boundary conditions: The input for the circumferential plate and the boundary conditions is shown below. The model was first run without refractory, and then the pre file, (in this case, plate.pre) was modified to include the refractory. To do this a second surface (as shown above) was constructed below surface 1, and the two_surface_brick command was used to generate the refractory bricks between the surfaces. The command is easy to use, but the user should be careful that the elements are numbered correctly. Several ways to check this are shown, but as long as the two surface normals point in the same direction, and the normal for the first surface listed in the two_surface_brick command points into the volume of the bricks the element ordering will be correct.

Plate #1 Definition in Nozzles-Plates-Shells Template

Copyright 1999, Paulin Research Group

Appendix 3 - 37

FE/Pipe Version 5.00

Released Feb, 2009

www.paulin.com

Circumferential Plate #1, that is the only plate in the Plate #1 geometry: Note the plate thickness and pressure are described on this screen.

Y boundary conditions were placed on both far edges of the plate as shown in the top figure. The screen above shows only the fixity on the 1-to-3 point plate edge. An additional page contains a Y boundary fixity for the 2-to-4 point edge. (See the top figure in this appendix for the plate points used.) A z direction fixity was also placed on the 1-2 edge to make sure the geometry was stable.

Copyright 1999, Paulin Research Group

Appendix 3 - 38

FE/Pipe Version 5.00

Released Feb, 2009

www.paulin.com

Y Displacements for the Plate under pressure and weight. There is no refractory in this model. The plate.pre file was modified to create a second plate below the first plate. The section of the file that created the first plate surface was copied and the point locations in space redefined so that the surface would be located 6 below the first surface. This modification to the pre file is shown below. In the two_surface_brick command surface 1 is listed first, and surface 2 is listed second.
# Added to create second parallel surface point,1,0.0000000E+00,-6,-.1800000E+02,0.1000000E+01 point,1,0.1000000E+03,-6,-.1800000E+02,0.2000000E+01 point,1,0.0000000E+00,-6,0.0000000E+00,0.3000000E+01 point,1,0.1000000E+03,-6,0.0000000E+00,0.4000000E+01 curve,1,0.1000000E+01,0.3000000E+01,,,1 curve,1,0.2000000E+01,0.4000000E+01,,,2 curve,1,0.1000000E+01,0.2000000E+01,,,3 curve,1,0.3000000E+01,0.4000000E+01,,,4 surface,1,1,2,3,4,2 extract,point,curve,3,0,5 extract,point,curve,3,1,8 curve,1,5,8,,,3 extract,point,curve,4,0,6 extract,point,curve,4,1,7 curve,1,6,7,,,4 surface,1,1,2,3,4,2 property,14,100000.,0.3,2e-6,70,1 two_surface_brick,1,2,3,1,14,22

The surfaces can be plotted and the edges and normals shown using the Draw Geometry form in the model generator.

Copyright 1999, Paulin Research Group

Appendix 3 - 39

FE/Pipe Version 5.00

Released Feb, 2009

www.paulin.com

For surfaces, the first surface listed should point into the geometry as shown. the top surface is surface 1, and points down, into the brick volume. The bottom surface is surface 2, and points down also, out of the brick volume. This is the correct orientation.

The element model is shown above. Note that the blue, shell elements are shown on top, and the red, brick elements are shown properly underneath. When the plot is not hidden it may be difficult to see the shell elements since the brick elements will plot right on top of them. The numbering of individual elements is different. For an element, the right thumb should point away from the volume when the fingers are coiled in the 1-2-3-4 direction. The user may check individual element ordering by drawing the element and the nodes, and then by checking the order of the nodes in the ascii plate.m1e file. The keyboard commands to draw nodes on elements is shown below. draw, element, 642 label, nodes, on ref_draw, nodes, element, 642

Copyright 1999, Paulin Research Group

Appendix 3 - 40

FE/Pipe Version 5.00

Released Feb, 2009

www.paulin.com

The portion of the m1e file that gives the ordering of this element (#642) is shown below:

The actual numbering is shown in the above figure on the right, and as can be seen the 1,2,3,4 edge of the element is on the bottom, and the thumb of the right hand will point out of the element when the fingers are coiled in the 1-2-3-4 direction. This is correct nodal ordering for an individual element.

Copyright 1999, Paulin Research Group

Appendix 3 - 41

FE/Pipe Version 5.00

Released Feb, 2009

www.paulin.com

The first run of the shell-brick model appeared as above. The merge_nodes option default for the plate model only checked surface edges. In this case, all nodes need to be checked and the 0.1 merge nodes option should be used. The merge_nodes command in the plate.pre file was changed as shown below.

When the plates and bricks are properly joined the displaced shape appears above. There are no stresses in the standard model output since the bricks were added to the model by hand, and the automatic post-process plot generation does not know about them. Brick stresses can always be found using the contour_shade command and plotting the appropriate stress and load case. The column keys for pipe, shell and brick elements are shown below. The contour_shade command is discussed in detail in the Appendix 3 commands. Col_key Pipe Elements Shell Elements Brick Elements

Copyright 1999, Paulin Research Group

Appendix 3 - 42

FE/Pipe Version 5.00

Released Feb, 2009

www.paulin.com

1 2 3 4 5 6 7

Global Force in X Global Force in Y Global Force in Z Global Moment in X Global Moment in Y Global Moment in Z Local Force in X

Local Normal Stress in R(outside) Local Normal Stress in S(outside) Local Shear Stress in RS(outside) Local Shear Stress in ST (outside) Local Shear Stress in RT (outside) Local Normal Stress in R (inside) Local Normal Stress in S (inside)

Normal Stress in X Normal Stress in Y Normal Stress in Z Shear Stress in XY Shear Stress in YZ Shear Stress in XZ Stress intensity

to plot the stress intensity for the bricks: The first thing to do, is plot the brick elements only, since the column keys point to different types of stresses for shells and for bricks and it is important not to confuse them on the same plot. Solids extracted from two shells are automatically numbered started from one, and so the command to only include brick elements in the plot is shown below, along with the command to plot the stress intensity. clear ref_draw,elements,solids,1 contour_shade,113,/3,7

The stresses in the refractory are small, and the displacements in the model with the refractory are reduced from 3.47 inches to 0.45 inches (see below.)

Copyright 1999, Paulin Research Group

Appendix 3 - 43

FE/Pipe Version 5.00

Released Feb, 2009

www.paulin.com

Appendix 3-B Using misc_field Command for Boundary Conditions and Loads
The misc_field command can be used to apply a pseudo-moment to the top of the brick geometry shown below and fixed boundary conditions on the bottom. The form of the command is shown below:
# Boundary condition on the bottom misc_field,24,1,1000,-1,5,-1000,1000,0,0,0,0,0,0,2 # # Forces on top acting in a moment pattern - moment about x misc_field,26,99.9,110.1,15,25,-1000,1000,1000,-1000,0,0,0,0,2

Appendix 3-C Thermal Bending Moment Beam Implementation


Loads are developed in drctelf.for and passed to the output processor for subtraction in the body force file. Genpost controls reading of this file for 6dof and 18dof elements. The line_load command has been modified to accommodate the 117 type load which is the thermal bending moment load application. The force magnitude is the moment to be applied. There is only a single load on this card. The three slots immediately following the single moment magnitude give the direction of the moment. The direction parameter on the card is not used. Example: line_load,/5,/10,13001,117,0,1432270,0,0,1 the above line load applies the moment to the element defined by /5 to /10. The load is thermal, i.e. 13001. 117 states that this is a thermal bowing moment applied to the element. The magnitude of the moment is 1432270. The direction is in Z, i.e. 0,0,1. For the elemental input on straight pipe sections, the user will enter the: Tbot, Ttop, Liquid Level, profile type, x,y,z.

Copyright 1999, Paulin Research Group

Appendix 3 - 44

You might also like