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 id’s 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 id’s 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 id’s for the
elements are not changed from the input database. If dbO is 0, then the property id’s for the elements in
the incoming database are incremented to point to the next available slot. The property id’s 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 knife’s surface would be the first parent_id and the parper’s 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 id’s 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, 2-
y, 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 Poisson’s ratio for elements whose cg is inside the bounding box.
Use the same box as shown for option 21 above. Change the value of Poisson’s 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
id’s 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 Area
2 Ixx (Strong Axis Moment of Inertia)
3 Iyy (Weak Axis Moment of Inertia)
4 J Polar Moment of Inertia
5 Sx Stress calculation multiplier for strong axis moments
6 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 Shape Type (1-Ibeam, 2-T, 3-L, 4-C, 5-Tube)


8 Depth
9 Width
10 Yx
11 Yy – Optional Orientation of Weak axis moment of inertia
12 Yz
13 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 dof’s and partitions 2 and 4 are for on-
diagonal 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 1e13
0 0 1e13

The offdiagonal partition is:

-1e13 0 0
0 -1e13 0
0 0 -1e13

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 tri-
cubic 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 pressure
13001 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 it’s 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 id’s 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, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0, 0,0,1, 1,200, 1, 200, 0
thermal_field, 2, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,100,0, 0,0,1, 1,100, 1, 200, 0
#
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

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 id’s 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 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

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