Anda di halaman 1dari 34

ANSYS Tips and ANSYS Tricks

Page 1 of 34

ANSYS Tips
ANSYS Tips and ANSYS Tricks
Peter Budgell
Burlington, Ontario, Canada
1998, 1999 by Peter C. Budgell -- You are welcome to print and photocopy these pages.
These tips and comments are intended for user education purposes only. They are to be used at your own
risk. The contents are based on my experience with ANSYS 5.3 -- more recent versions may change things.
The contents do not attempt to discuss all the concepts of the finite element method that are required to
obtain successful solutions. It is your responsibility to determine if you have sufficient knowlege and
understanding of finite element theory to apply the software appropriately. I have attempted to give accurate
information, but cannot accept liability for any consequences or damages which may result from errors in this
discussion. Accordingly, I disclaim any liability for any damages including, but not limited to, injury to person
or property, lost profit, data recovery charges, attorney's fees, or any other costs or expenses.
As one writer put it, This information is free, and may be well worth the price.

Return to Home Page


FEA and Optimization Introduction Page
FEA Modeling Issues Page

The ANSYS manuals explain many things and give some examples, but
they do not give many tips to the user. Here is a collection of things I have
noted or learned. (Use at your own risk...) Necessity is the mother of
invention, and I learned virtually everything here as a result of need, or as a result of trial and lots of error. I'm
also thankful to my local ANSYS distributor for many helpful conversations. The comments in these pages are
based on my experience with ANSYS 5.0 through ANSYS 5.3. I hope these tips will shorten your learning
curve. An analyst frequently does not have a mentor for guidance, so considerable effort can be needed to
deduce how to accomplish some tasks. ANSYS users need to spend a generous amount of time reading the
manuals and training materials, and returning to read them again as the user's knowledge of the program
increases. Don't use anything here verbatim... understand why it works, and whether my comments are in error
or inappropriate for your situation, before employing any of these suggestions.
The teaching of FEA at the academic level is intended to educate the mind, teach how FEA methods are
derived from first principles, and to develop students who can invent and code new elements, test their
behavior, write research or industrial quality software, and apply it to difficult academic or research problems.
Some professors feel strongly that the purpose of an undergrad course in FEA is further education in how
applied math, engineering, continuum mechanics, energy methods, and analysis of structures come together,
building on the Strength of Materials courses already taken -- I have no argument with that. A user with a
comprehension of what underlies FEA work will know when to apply and how to evaluate FEA work, have
more creativity, learn quickly, problem solve better, be more innovative, and make fewer serious modeling
errors. The professors do not feel that the course is intended to concentrate on modeling details or learning the
interface to a commercial FEA program. (Students, on the other hand, want to graduate having used an FEA
package to do something significant. Assignments and projects with ANSYS/ED are a good way to get there.)
I've heard the opinion expressed that with FEA technology maturing, there is less research grant money for
FEA work in universities, and the supply of advanced FEA graduate students may be shrinking. The teaching
of commercial FEA program use is principally focused on training people to use the interface to and
commands of the particular software package, and how to perform basic analysis types. Some instructors
pepper their presentations with tips, but the attendees may be drowning from information overload. Little is
available to lead the user through the techniques that can be used in modeling complex structures, and around
the traps that exist, except help from good vendor support people, co-workers, or other users, and substantial
reading, thought, trying examples, and testing techniques on the part of the analyst. I hope that these pages will
provide some helpful details.

http://www3.sympatico.ca/peter_budgell/ANSYS_tips.html

7/13/2009

ANSYS Tips and ANSYS Tricks

Page 2 of 34

CONTENTS:
Tip 1: Use Annotations
Tip 2: Making Room for Annotations
Tip 3: Using Parameters in Annotations
Tip 4: Use Small Annotations
Tip 5: Mathematical Functions Available
Tip 6: Start 16-Bit Applications before Starting ANSYS under Windows NT
Tip 7: Running ANSYS at Low Priority under Windows NT 4.0
Tip 8: Operating on (Scaling) Loads
Tip 9: Ramping Loads Down to Zero
Tip 10: Starting ANSYS Graphs at t=0
Tip 11: Pressure on Lines
Tip 12: Ramping Some Loads, Not Others
Tip 13: Force and Pressure on Flat Plates or Flat Shells
Tip 14: Linear and Nonlinear Buckling
Tip 15: Nonlinear Analysis and the Arc-Length Method
Tip 16: Animating Results from a Nonlinear or Other Analysis
Tip 17: Getting the Mass or Weight of a Model
Tip 18: Using Fnc Calls from Macros
Tip 19: Use ENSYM and ENORM to Turn Over Shell Elements
Tip 20: Shell Types to Try
Tip 21: Moving a Model from ANSYS Mechanical to ANSYS Linear/Plus
Tip 22: Deleting Nodes with Nodal Coupling
Tip 23: Convergence with Shell Finite Element Models in Nonlinear Analysis under ANSYS
Tip 24: Working with Load Step Files in ANSYS
Tip 25: Plotting Shell Stress -- Surface, Mid-Plane Stress, Load Paths, ESYS and RSYS
Tip 26: Nodal Coupling (CP) versus Rigid Region (CERIG)
Tip 27: Vibration Modes with Pre-stress
Tip 28: Creating New Elements by Copying or Reflecting Existing Structure
Tip 29: Adding to a Model Comprised of Elements and Nodes Only
Tip 30: Zero Mass Beam Elements Form Rigid Region
Tip 31: Turn off Symbols When Changing a Model after Solution
Tip 32: Are the "Free-Free" Vibration Modes Relevant?
Tip 33: Selecting a CAD or FEA System -- Cover Yourself
Tip 34: Creating Lines Perpendicular to, or at Angle to Existing Lines
Tip 35: Use the /UI command in Your ANSYS Toolbar to Bring up GUI Dialog Boxes
Tip 36: Reaction Force, Nodal Force, and Load Paths
Tip 37: Inputting Temperatures with BF, BFE, and TUNIF in Structural Analysis
Tip 38: ANSYS Toolbar Use
Tip 39: ANSYS Piping Element Lengths
Tip 40: Graphical Output from ANSYS
Tip 41: Check Nodal Loads at Bolts, Rivets, Spot Welds and Links
Tip 42: Use QUERY to Check Results with Picking
Tip 43: Loads on Geometric Entities Overwrite Loads on Nodes and Elements -- Easy Error to Make
Tip 44: Use Components for Load Input, and for Results Review
Tip 45: Simple Substructuring Examples -- Bottom Up and Top Down
Tip 46: Plot Applied Temperatures
Tip 47: Skipping Over Statements in an Input File
Tip 48: Static Analysis Followed by Transient Analysis
Tip 49: File Compression for Model Storage
Tip 50: Organizing Large FEA Models
Tip 51: Selecting Nodes in a Stress or Strain Range
Tip 52: Selecting Nodes that are Subjected to Nodal Coupling
Tip 53: /NOPR and /GOPR Speed Up Input Files and Macros
Tip 54: Using Commands IMMED and /UIS and /SHOW,OFF
Tip 55: What's the Bauschinger Effect? Comments on Material Yield
Tip 56: Thought Experiments
Tip 57: Control of Meshing
Tip 58: Four View Plot
Tip 59: Quick Review of Mode Shapes
Tip 60: Using ANSYS Help
Tip 61: The FEA Job Hunt
Tip 62: *VPUT and DESOL

http://www3.sympatico.ca/peter_budgell/ANSYS_tips.html

7/13/2009

ANSYS Tips and ANSYS Tricks

Page 3 of 34

Tip 63: How to Divide One Element Table Column by Another


Tip 64: Element Tables (ETABLE) and Arrays -- An Example
Tip 65: Error Estimation, PowerGraphics, and ERNORM
Tip 66: Concatenate and Mesh Last
Tip 67: ANSYS Output of Data to Files for Use by Other Programs
Tip 68: Writing Array Columns to Output or to Files
Tip 69: Synthesizing Parameter Names and Manipulating Jobnames and Long Strings in APDL
Tip 70: Solid Elements 95 and 92 -- Efficiency and Interconnection

Tip 1: Use Annotations:


Only a one-line title is possible on the ANSYS screen or plot. Considerably more information can be included
in annotations on the screen. The annotations are kept through all plots until they are deleted with the
command: /ANNOT,DELE or via picking with the graphical user interface (GUI).
At the top of the Annotation dialog box, there is a list box from which the user can choose Text, Lines, etc., on
down to Controls. These selections bring up different menus. The Controls selection offers a SNAP setting that
makes it much easier to get the text aligned nicely. (Hint: ANSYS, Inc. should put this SNAP selection up front
under Text, or even on every menu.) Activate the Snap setting, then go back to Text to enter the annotations.
Tip 2: Making Room for Annotations:
The /PLOPTS command controls what goes into the legend at the right (by default) side of the ANSYS screen
and plot. If you turn off LEG2 (the relatively useless "view" information), you will get extra room at the
bottom of the legend. This area can be used for annotations if the number of contour levels in stress plots is not
too great (the default is fine).
Tip 3: Using Parameters in Annotations:
Just as in a title created with the command /TITLE, ANSYS permits the use of a parameter in an annotation, as
discussed in the Commands Manual description of the /TLABLE command. When typing the annotation using
the GUI, include the parameter in percent signs like this: %pname% where pname is the parameter name. The
parameter can contain either numbers or text. The value of the parameter will be plotted in the annotation
string. The ANSYS function NINT can be used to round a number the nearest integer, sometimes improving
the appearance of the annotation for large numbers in which the fractional part is irrelevant (e.g. NINT
(123.456789) = 123 ). For this, the parametric expression should be enclosed in percent signs. Annotations are
usually created in the GUI, but can be entered with code like that shown below. Entering a single annotation
line containing Result = %pname% generates log file contents such as:
! The following commands place an annotation on the screen.
! For information only. Use at your own risk.
! In this example, "pname" is a parameter with a numerical value such as 123.456789
/ANUM ,0, 1, 1.2303, -.74699
/TSPEC, 15, .600, 1, 0, 0
/TLAB, 1.010, -.747,Result = %pname%

The last line in the above example contains the string that the user types manually. The other data set up the
string positioning on the screen, and the properties of the characters. To apply the NINT function to the
parameter, manually enter Result = %NINT(pname)% as the annotation:
! For information only. Use at your own risk.
! Type the annotation in one line, so the log file contains:
/ANUM ,0, 1, 1.2303, -.74699
/TSPEC, 15, .600, 1, 0, 0
/TLAB, 1.010, -.747,Result = %NINT(pname)%

http://www3.sympatico.ca/peter_budgell/ANSYS_tips.html

7/13/2009

ANSYS Tips and ANSYS Tricks

Page 4 of 34

The beauty of doing this is that if the value of the parameter pname should change, then when the next plot
command is executed, the annotation will automatically update to reflect the new value! Try it: after
creating an annotation on the screen that includes a parameter, change the parameter's value, then do
a /REPLOT. Running a macro could get information that goes into the parameter that a /REPLOT will
automatically put it on the screen. This makes it possible to automatically include far more information than
can go into the title, and to do it for a series of automatically generated plots or graphs.
Tip 4: Use Small Annotations:
The default character size setting for an annotation is 1. The size of an annotation can be decreased using the
GUI. A size of 0.6 is quite readable and permits far more information to be packed into a plot. Note that there
is a limit to the number of characters possible on an annotation line this is character size independent.
Tip 5: Mathematical Functions Available:
Under the Help listing for the *SET command there appears lists of mathematical functions available in
ANSYS. Another list is in the ANSYS User's Guide on APDL, Chapter 14 of the Modeling and Meshing
Guide. The commands are usable anywhere. They include:
ABS(X)

Absolute value

ACOS(X)

ArcCosine

ASIN(X)

ArcSin

ATAN(X)

ArcTangent

ATAN2(X,Y)

ArcTangent of (Y/X) with the sign of each component considered (see a


FORTRAN manual if you don't know what this means.)

COS(X)

Cosine

COSH(X)

Hyperbolic cosine

EXP(X)

Exponential

GDIS(X,Y)

Random sample of Gaussian distributions where X is the mean, and Y is the


standard deviation. Might be used in a Monte Carlo Simulation to explore the
distribution of outputs based on randomized loadings and material properties.
For an explanation, see a good modern engineering design textbook.

LOG(X)

Natural log (to base e)

LOG10(X)

Log (to base 10)

MOD(X,Y)

Modulus (X/Y), it returns the remainder of X/Y. If Y=0, returns zero (0)

NINT(X)

Nearest integer (nice for outputs of stresses to /TITLE or annotations (see Tip
3 above))

RAND(X,Y)

Random number, where X is the lower bound, and Y is the upper bound.
(Useful for Monte Carlo Simulation, etc.)

http://www3.sympatico.ca/peter_budgell/ANSYS_tips.html

7/13/2009

ANSYS Tips and ANSYS Tricks

Page 5 of 34

SIGN(X,Y)

Absolute value of X with sign of Y. Y=0 results in positive sign.

SIN(X)

Sine

SINH(X)

Hyperbolic sine

SQRT(X)

Square root.

TAN(X)

Tangent

TANH(X)

Hyperbolic Tangent

Note:
The function form of the *GET commands can also be used to get information from the model -- see the
APDL guide mentioned above for a listing of available functions. The APDL guide also gives functions
to retrieve the values of parameters, both numerical and character. The *VFUN command has a list of
functions that act on an array entry. The Commands manual lists functions that act on Element Tables in
the section "POST1 Command for Element Table". Creatively used, the array and ETABLE algebra
commands can be surprisingly powerful.
Tip 6: Start 16-Bit Applications before Starting ANSYS under Windows NT:
It has been my experience that some large commercial 16-bit applications will not start properly when ANSYS
is already running. If you start them before launching ANSYS, there will be no problem. If you intend to work
with those 16 bit applications in the foreground while the ANSYS SOLVE is running in the background, this
will be a useful tip. I have seen other applications start up very slowly (e.g. Internet Explorer) or wait until
ANSYS was done before proceeding (setup.exe for many Windows install programs).
Tip 7: Running ANSYS at Low Priority under Windows NT 4.0:
Setting Process Priority in NT

Under Windows NT 4.0 the


priority level of individual
processes can be user-adjusted.
To do this, bring up the Task
Manager (right click on the
Windows NT taskbar), and click
the tab for "Processes". Right
click on the process titled
"ANSYS.EXE", and "Set Priority
>" comes up. Set the priority to
"Low" to help make foreground
applications run more smoothly
while ANSYS is running SOLVE
in the background. This may help
more if you have a large RAM in
the computer.
When ANSYS has completed the
SOLVE process, return the
priority to "Normal" so that

http://www3.sympatico.ca/peter_budgell/ANSYS_tips.html

7/13/2009

ANSYS Tips and ANSYS Tricks

Page 6 of 34

ANSYS is not slowed down


when you start doing plots through the GUI.
Tip 8: Operating on (Scaling) Loads:
You can operate on loads on nodes and elements in order to scale them up or down. Unfortunately, scaling
loads on geometric entities (keypoints, lines, areas and volumes) seems not to be available. If any load on your
structure has been applied to a geometric entity, rather than directly to elements or nodes, that load will be
transferred to the elements and nodes at solution time. The transfer will overwrite any scaling of loads that you
have applied. (Guess how I figured this out!)
So what can you do about this? Method 1: Transfer the loading from geometric entities to the elements and
nodes, then write a load step file. This records loading on elements and nodes. Delete the loading on geometric
entities, then read the load step file that was just written. Now the loading can be scaled up or down freely.
Method 2: For a faster method, see the "LSCLEAR,SOLID" command, which will not require writing a load
step file. Method 3: Transfer the loading from geometric entities to the elements and nodes, then delete the
relationship between geometry and the FEA mesh with the MODMSH,DETA command. Method 4: Transfer
loading from geometric entities to the elements and nodes, then un-select the geometric entities, before
executing SOLVE. The element and node loading can be scaled after it has been transferred from geometric
entities. An un-selected geometric entity will not transfer its loading to elements or nodes when SOLVE is
executed. Warnings: Method 3 ruins the relationship between geometry and the mesh. Save the model under an
appropriate file name before executing MODMSH,DETA. Method 4 is fine, as long as you do not forget and
re-select the geometric entities -- ALLSEL will do this.
Scaling displacements (nodal constraint values) is also possible. One thing that has not worked for me is an
attempt to reduce applied displacements to zero by using 0.0 as the scaling factor. What did work for me was to
use "_TINY" as a value, which multiplied displacements by a factor of roughly 10^(-31) and reduced loads to
virtually zero. Attempts to use 0.0 as the factor resulted in NO change to the applied displacements.
Tip 9: Ramping Loads Down to Zero:
If you are ramping force, pressure, and acceleration loads up and down as part of an analysis, you may want to
return loads to zero. I do this when I want to inspect permanent deformation that results from plastic yielding.
If you delete the applied load, the loading will drop immediately to zero, even if you have load ramping
turned on. The thing to do is to set the loading to virtually zero or the scaling factor to virtually zero, not delete
the load. It is important to appreciate that to ANSYS, reducing a load to nearly zero is not the same thing as
deleting it (zeroing it), for the purposes of ramping loads. The time substep sizes to use will depend on your
model.
Setting displacements to zero or near zero is, of course, very different from deleting constraints.
Tip 10: Starting ANSYS Graphs at t=0
Graphs start at the first data point, which means that if you do a time-history trace, you don't get a t=0 data
point. If you leave time as 0.0 on the TIME command, you get the default 1.0 in your output. The only way to
get a graph from zero that I have found is to do a first load step with "t" extremely small, in comparison to
other times in the analysis, e.g. t=0.0000001. The load at this time must be appropriate so that the response
ramps up correctly. (If your intent was to ramp up from zero load, just leave the loads as zero.) The next load
step continues as usual.
Tip 11: Pressure on Lines:
Applying pressure on a line results in loads being applied to the nodes associated with that line. The loads on

http://www3.sympatico.ca/peter_budgell/ANSYS_tips.html

7/13/2009

ANSYS Tips and ANSYS Tricks

Page 7 of 34

the nodes that the FEA program applies will be appropriate given the formulation of the elements. If you want
to apply a total force to the line, you can use a *GET command to find the length of the line, then divide the
force by the length and use the result as the pressure.
Note that pressure on a line acts in the plane of the area that is attached to the line. If two areas are attached at
90 degrees or another angle, two loads are set up, acting in each of the area plane directions. You can use select
logic on the areas to get some interesting effects as to the direction in which the applied forces act, but only if
both areas are meshed, and the elements are selected. If you un-select one of the areas, pressure on the line will
only be exerted in the direction of the area that is selected. The select logic must still be in place when you
SOLVE, or else your carefully crafted load case can be overwritten. As above, transferring loads from
geometric entities to nodes and elements, writing them as a load step, deleting all the loads on geometric
entities, and reading in the load step will protect your load case, and make scaling the loads possible.
Alternatively, consider the "LSCLEAR,SOLID" command.
NOTE: Pressures on surfaces follow the deformed shape during a Large Displacement (geometrically
nonlinear) analysis. Forces on nodes maintain their orientation in space, even under Large Displacement. This
difference will govern how loads should be applied in some models.
Tip 12: Ramping Some Loads, Not Others:
To hold some loads constant and ramp up or down others, run a first load step with all the loads at their starting
values, ramping from zero only if appropriate.
If you want, use an extremely small value on the TIME command, e.g. 0.0000001, and run this as a first load
step. Then set up a second load step, with ramping activated. Change those loads to be ramped from their
starting values to new values. Hold the other loads constant. The TIME command can be used with a new
value, such as 1.0.
An example is the application of a gravity load before other loads are to be ramped up from zero. In some
cases, this could give a more realistic assessment of nonlinear buckling caused by applied forces other than
gravity loading. (You will want to check the codes that regulate your design work before deciding on this.
Codes that I have seen were generally started before FEA was widely available, and do not address this
concept. Find out what is considered good practice in your industry.) Applying gravity first can give much
better convergence when assessing the effect of thermal expansion moving structures across friction contact
elements, where the normal load on the contact elements is caused by gravity.
I suspect that this is not possible with the Arc-Length method. I have not experimented with it, but do not see
how controlled ramping of only some loads could be implemented under Arc-Length control of applied loading
-- any opinions?
Tip 13: Force and Pressure on Flat Plates or Flat Shells
There is a rule of thumb, that if the out-of-plane deflection of a flat plate or shell is greater than half the
thickness, then membrane forces start to become significant in resisting the applied load. In ANSYS, this calls
for activating a Large Displacement solution (a.k.a. geometric nonlinearity). Ignoring this can result in your
design missing out on inherent strength, OR in grossly inadequate underdesign. Know what you are doing.
Tip 14: Linear and Nonlinear Buckling:
Linear eigenvalue (classical Euler) buckling is a "quick" check on a structure, but the ANSYS manuals go to
considerable pains to point out that in many situations, a Large Displacement solution (geometric nonlinearity)
needs to be run also as a check on the buckling adequacy of a design. As with linear buckling, nonlinear
buckling may need to be assessed with respect to a number of load cases. In some structures, a diagonal tension

http://www3.sympatico.ca/peter_budgell/ANSYS_tips.html

7/13/2009

ANSYS Tips and ANSYS Tricks

Page 8 of 34

field is developed in a web, and elastic buckling failure does not develop at the first eigenvalues predicted. In
other structures, buckling failure may occur before the first eigenvalue, and only nonlinear analysis will predict
this.
Linear eigenvalue buckling has to assume that gap and contact elements are either closed and active, or open
and inactive. Nonlinear analysis will follow the effects of these elements as they go in and out of contact, when
the loading is applied.
After any Large Displacement nonlinear elastic buckling analysis (if it doesn't diverge), see whether the elastic
stress limits have been exceeded (this includes the surfaces of shell elements, and be careful that nodal
averaging does not hide anything). If significantly overstressed, the structure may not be adequate.
Combined bending and axial compression in a beam is a classic place where inadequacy in strength can be
predicted in FEA only by Large Displacement nonlinear analysis (i.e. a linear analysis says it is OK, but a
nonlinear analysis shows it is NOT). For some structures undergoing elastic Large Displacement analysis
without contact and gap elements, the user may want to consider a Southwell plot.
If elastic stress limits are exceeded in the Large Displacement model, it may be desirable to do a combined
Large Displacement and Plastic Deformation model. If the structure is overloaded, it may begin to collapse
(perhaps only locally), and the Arc-Length method may be needed for convergence control. A need to
strengthen the structure may be predicted or identified. The material properties to use are application domain
and industry specific -- start by talking to your co-workers, supervisor, and suppliers.

Tip 15: Nonlinear Analysis and


the Arc-Length Method:
The basic way to do nonlinear
analysis in ANSYS is to use NR
iteration and many default settings.
At times, convergence will become
a problem; I've encountered this
with shell structures under
compressive stresses. The arclength method can sometimes cope
better with nonlinear solutions,
because of its ability to follow
force-deflection curves that rise
and fall. Be prepared for long run
times if your model is large.
My experience with the arc-length
method is that in its default settings
for step size multipliers, it does not
give satisfactory results when compressing some shell-based models. What may work is to set a number of
time substeps, such as 10, so that each substep is 1/10 of the load step. Set the Arc-Length maximum multiplier
MAXARC to 1.0 so that no substeps larger than 1/10 of the load step are taken. Set the Arc-Length minimum
multiplier MINARC to 0.1, so that the smallest load substep is 1/100 of the full load step. I found this to help
considerably. You may want to user a larger or smaller MINARC setting, but my experience to date suggests
that one should not get greedy with MAXARC. Obviously, you may want to play with the number of time
substeps.
The solution may still diverge but it is likely that you will get more information than without arc-length

http://www3.sympatico.ca/peter_budgell/ANSYS_tips.html

7/13/2009

ANSYS Tips and ANSYS Tricks

Page 9 of 34

analysis. You will want to set a termination condition for the analysis if buckling is expected to result.
I find it desirable to save the
results at every time substep
when doing this type of
analysis (it helps to have a
large hard drive) in order to
review the process. When
you review the results of a
single load case run under
Arc-length control, the TIME
value on the ANSYS plots
shows the decimal fraction of
the full load being applied to
the model. As you move
forward through the plots, if
the load/displacement curve
for the structure is falling, the
decimal fraction will fall,
even though some
displacements are visibly
getting larger.
As mentioned above,
something I have not tried is
to get the Arc-length solution
control to ramp some loads
and not others, by having run
a preliminary load step. Is this even possible? If not, then the user may face the prospect of gravity being
ramped up and down, in addition to other applied loads, and the physical realism of the model may be affected.
Tip 16: Animating Results from a Nonlinear or Other Analysis:
It can be helpful to watch the increasing stress levels that result as a nonlinear analysis loading is ramped up.
To create an animation, first run your analysis with loads ramped up, and a number of substeps. Have all
substeps written to the results file. Do a stress plot of interest to set the type of stress plot to be animated by the
macro that will be run. Make the ANSYS Graphics window as small as you want the animation window to
appear (most screens will have lower resolution than a CAD workstation), keeping the aspect ratio correct.
Smaller graphics windows result in smaller animation files, if size matters. Animation files under Windows NT
(AVI files) from ANSYS often compress very well for storage purposes. Use the PlotCtrls menu selection on
the Utility Menu, and choose Animate to get a sub-menu of choices. Choose "Dynamic Results" to create an
animation of your saved load substep results with the time shown in the legend. This seems to work only for
the last load step (read the ANSYS macro). The resulting AVI file can be viewed with the media player,
distributed, put on a web site, and so on. The media player can be stepped manually for slow viewing. It makes
it easier to watch the changing stress pattern or deformation as nonlinear effects take over the model.
In animating a changing stress or other contour plot, you may wish to specify the contour levels before
generating the animation file. View the load step or substep with the worst results as part of deciding where to
set the contour levels.
I have not found that any of the ANSYS supplied animation macros do the one simplest thing I want. Usually I
want to animate every substep of every load step stored in the results file. The following simple macro does
this for me under Windows NT. There is virtually no error checking in this macro. Note that this simple macro
does not update element table data at each frame. Consequently it will not work properly for plots of element

http://www3.sympatico.ca/peter_budgell/ANSYS_tips.html

7/13/2009

ANSYS Tips and ANSYS Tricks

Page 10 of 34

table data. If stresses, strains, or other data with amplitude information are to be plotted, the user may want to
fix the contour map levels ahead of time. The user will want to set the displacement amplitude scaling
with /DSCALE in advance--automatic scaling will not be satisfactory. In general, it may not be satisfactory to
have /ZOOM,OFF active, since the view will change if plots of significant deflection are included in the
animation. Manually setting a view may yield a better animation. Modify this macro as you wish.
This macro must be called from within /POST1. The file that contains the results must have already been
selected, and a prototype plot command executed so that calling /REPLOT will generate the type of plot the
user wants:
! -------------------------------------------------------------------! MY_ANIM.MAC A quick-and-dirty animation of all of the substeps
! -------------------------------------------------------------------! For information only. Use at your own risk.
! User must indicate how many frames are to be animated
! This macro starts with the first substep in the results file
! by using the SET,FIRST command internally
! User implicitly indicates how many times to use the SET,NEXT command.
! The number of frames needed must exist in the RST file, else errors.
! NOTE: This does NOT work for plots of data in an element table.
!
Plotting element table results would require a macro in which
!
the element table results are updated at each substep.
!
! Virtually NO Error Checking Is Performed ! ! ! ! !
!
! What will be plotted is based on /REPLOT therefore, on the last user plot executed
! before this macro is called.
! Scaling, etc. are all based on the last user plot. Only the SET value is updated.
!
! Call with:
!
! my_anim, time_delay_for_frame, number_of_frames_including_first
!
ar11=arg1
*if,arg1,eq,0,then
ar11=0.1
*endif
*if,arg2,ne,0, then
/NOPR
/gsav,xxx,gsav,,temp
/seg,delete
/seg,multi,,ar11
set,first
/replot
*do,_iii,1,arg2-1,1
set,next
/replot
*enddo
/seg,off
anim,1,1,ar11
/gres,xxx,gsav
/gopr
*endif

An alternative to this macro could step through all substeps on the RST file by using a *GET command of the
type *GET,NTOTAL,ACTIVE,0,SOLU,NCMSS to check the number of substeps as the SET,NEXT command
is issued. The parameter NTOTAL will be re-set to 1 when the animation is complete, and the *IF and *EXIT
commands can check this and break out of a do loop -- see Tip 59 below for the example of automatically
plotting all mode shapes. The user would then not need to specify the number of substeps to plot, improving
the automation, and letting the solver use variable substep sizes without the user having to check on the

http://www3.sympatico.ca/peter_budgell/ANSYS_tips.html

7/13/2009

ANSYS Tips and ANSYS Tricks

Page 11 of 34

number of substeps that resulted.


Tip 17: Getting the Mass or Weight of a Model:
A reader has been helpful by pointing point out that mass (or weight, depending on your units) of keypoints,
lines, areas, or volumes in a model can be retrieved, when attributes have been assigned to these entities, by
using commands available in /PREP7. Using the graphical user interface, enter into "PreprocessorOperateCalc
Geometric Items" to see the choices: "Of Keypoints, Of Lines, Of Areas, Of Volumes, Of Geometry". These
items execute the "sum" commands: "KSUM, LSUM, ASUM, VSUM, GSUM" respectively. If no attributes
have been assigned to the geometric entities, unit densities are assumed in reporting mass and center of gravity
information. After the execution of these commands, the *GET command can be used to assign to a variable
the implied volume of an area (based on the thickness associated with its attributes) or the volume of a
"volume". The volume of a series of areas or "volumes" can also be retrieved with the *GET command after a
"sum" command is used. The *VGET command can also be used, where appropriate, in retrieving information
made available after one of the "sum" commands is executed.
For some unstated reason, ANSYS will not directly give the total weight or mass of a model (retrieved from
the mass matrices of the elements), except to print it to output during the solution of a problem. The user can
run a partial solve in order to get this weight or mass printed reasonably quickly. In Imperial units, it may be
desirable to convert between pounds mass and pounds weight. There is no *GET command that directly returns
the weight of selected elements. However, the volume of an element can be returned, and the volume of a set of
elements can be put into an element table, and summed.
You can get the weight of many models into a parameter by: step through all material types, selecting elements
for each material type. Get the volume of those elements, and multiply by the density of that material type.
Sum the masses or weights of all the material types. This will not include added mass and mass elements at
nodes (check this carefully against the output mass in the solve module) or other things that I may not have
thought of.
Of course, you can get the weight (assuming you gave densities in the material definitions) by removing all
loads (don't let thermal expansion, nodal rigid region, nodal coupling, various gap and contact elements, or
loads on constrained nodes trip you up -- use the minimal constraints needed to stabilize all bodies in 3-D),
applying 1 g vertical, having constraints on vertical motion, running SOLVE in a linear analysis, and finding
the vertical reaction force. In such a run, a combination of the FSUM (select vertically restrained nodes only,
with all attached elements) and *GET commands in /POST1 might help you to get the weight into a variable.
However, a partial solve will give the answer more quickly (but not put it into a variable). Depending on your
system of units, remember, you may want to convert between weight and mass.
I base my comment, about the inability of ANSYS to directly return the weight of the model with *GET, on
comments in the manuals on Optimization. The optimization examples work to reduce model volume, not
weight.
Tip 18: Using Fnc Calls from Macros:
Before using macros for the first time, read about the *USE command in the ANSYS Help manual, in addition
to other relevant parts of the ANSYS manuals. The *USE command help discusses the macro calling
parameters and their local scope. Note a slight difference in calling parameters AR19 and AR20 when the
*USE form of a macro call is used, versus the "unknown command" form.
There are times when calls from macros directly to the Function form of an ANSYS command will be the only
way to get the function called with picking. It may be desirable to sent the user a message that explains why the
picking has been requested. The function must be called with the exact use of upper case and lower case
characters. An example: Fnc_ENSYM will work, whereas fnc_ENSYM will not, because the capital F is
missing.

http://www3.sympatico.ca/peter_budgell/ANSYS_tips.html

7/13/2009

ANSYS Tips and ANSYS Tricks

Page 12 of 34

Tip 19: Use ENSYM and ENORM to Turn Over Shell Elements:
ANSYS has two commands, ENSYM and ENORM, for re-orienting shell elements so that a set of shell
elements can all have their "top" surface face the same way. This makes application of pressure, contact
elements, and review of results more feasible. This orientation should be done before running SOLVE; the
results are not re-oriented in the database when these commands are applied, nor in the results file, so if the
elements are re-oriented after SOLVE, the stress results will no longer apply to the correct shell surfaces and a
meaningless mess will result. These commands work with shell elements that are attached to areas, as well as
with independent shell elements. Note: If you clear the elements attached to an area, then re-mesh, the new
elements will have the same orientation as the area. (Hint: ANSYS ought to do this re-orientation for Areas,
making it easier to pressurize the interiors of containers defined with shell elements.)
See HELP,ENSYM for information on what this command will do. ENSYM can be used to "flip over" a shell
element so that the opposite side (Top or Bottom) is showing. To do this would require reversing the node
order in the database so that Face 1 (Bottom) and Face2 (Top) get switched.
For more powerful capabilities in re-orienting shell elements, see HELP,ENORM. This command will search
outward from a chosen element that the user considers "correct", re-orienting a connected set of shell elements
so that they face the "same way" (this takes some interpretation), even working around corners. It searches
elements from the selected set of elements, until it hits the edge of the model, or until two or more elements are
attached to one element edge. The user should experiment with this command in order to understand exactly
what it does, and inspect the model thoroughly after ENORM is applied, to verify that the results are as
desired. The correct use of ENORM can make the application of pressure or contact elements to a complex
model substantially easier.
It would be very helpful if ANSYS had a special command that would plot shell elements with the sides
colored according to whether they were FACE1 or FACE2 of the element. This command could be extended to
color the (up to) six sides of solid elements, according to their face number. A similar command for plotting
areas would help, too. It could even be done for beams displayed with /ESHAPE showing the outer envelope.
At present, with ANSYS 5.3 running on Windows NT, I get different colors for Face 1 and Face 2 of shell
elements when PowerGraphics is ON, and "No Numbering" plus "Colors" or "Colors and Numbers" has been
chosen under PlotCtrls,Numbering. I have not seen this documented. This does not happen for areas, or for
solid elements.
Tip 20: Shell Types to Try:
I have used Shell 63 (for Elastic), Shell 43 (for Plastic), Shell 93 (8-Node, for Elastic & Plastic), Shell 143 (for
Plastic), and Shell 181 (for Plastic). The Revision 5.4 for ANSYS will include a bug fix for a Shell 181
problem. Shell 143 is no longer supported, but is still embedded (hidden) in Revision 5.3 of ANSYS for
compatibility reasons.
I have recently found Shell 93 to be useful in modeling some curved structures, because of its ability to follow
curved surfaces. (Shell 63 elements are flat, and can make a mess of a general curved surface under free
meshing.) Shell 93 gave me good convergence for both elastic and plastic Large Displacement (nonlinear
geometric) analysis. It does not like to follow too large an angle of curvature with one element, so the number
of elements on an area fillet can be large. Set the angle subtended by Shell 93 elements during meshing to a
value that is small enough to avoid warning messages. Watch out for aspect ratio warnings. (Lack of warnings
is not a complete guarantee of acceptable element shapes.) If the structure has pressurized flat surfaces, Shell
93 often converges better when stress stiffening is activated for Large Displacement analysis. Stress stiffening
for Shell 93 is activated at the solution phase of the analysis, whereas Shell 63 is (apparently) only stressstiffened by setting one of the KEYOPT values. (I have obtained different Large Displacement convergences
with Shell 63 with no stress-stiffening set, with the KEYOPT stress-stiffening set, with stress-stiffening set
in /SOLU, and with stress-stiffening set in both places.) Like Shell 63, Shell 93 also has the virtue of being
supported by the Linear/Plus version of ANSYS for Large Displacement elastic analysis, so models can be

http://www3.sympatico.ca/peter_budgell/ANSYS_tips.html

7/13/2009

ANSYS Tips and ANSYS Tricks

Page 13 of 34

moved back and forth.


When forcing mapped meshing of curve-sided Shell 93 elements on a plane area by concatenating perimeter
lines, I have occasionally had mid-side nodes created, in the interior of the area, such that there was too much
element curvature distortion in the plane of the element. One fix is to have the elements created with the sides
straight, which is tolerable if the elements are flat, and if it does not cause trouble on the perimeter of the plane
area being meshed. "Trouble" here means poor representation of curved boundaries--other elements on these
boundaries may need to curve to follow curved surfaces, or it may be desired to have a curved fit to an outside
edge. If flat element sides cause trouble on the perimeter, then start by meshing areas on the other side of the
perimeter with elements that have curved sides--these elements could even be triangular. Next, mesh the area
of interest with the elements sides set straight, then clear the surrounding areas, if the surrounding areas are not
intended to be meshed, or need better element shape control. This will leave the plane area of interest meshed
with elements that have straight edges in the interior, and curved edges on the perimeter. This is illustrated by
the following images of an intentionally extreme example. In the first image, a line plot of element edges
shows extreme distortion in the plane. An intended hole is meshed with triangles. All these elements are Shell
93, having mid-side nodes.

In the second image, meshing with mid-side nodes positioned on straight lines is being chosen.

In the third image, the consequence of meshing the part with straight-sided elements is shown. The elements at
the hole have a curved side, because the hole is already meshed with curved-sided elements.

http://www3.sympatico.ca/peter_budgell/ANSYS_tips.html

7/13/2009

ANSYS Tips and ANSYS Tricks

Page 14 of 34

In the fourth image, the elements bordering the hole are shown, after the hole has been cleared of elements.
The element curvature at the hole is visible. The interior of the plane area is meshed with straight-sided
elements. The same problem and a similar fix can be encountered with mid-side noded SOLID95 brick
elements that have 20 nodes. The surface areas of a volume can be meshed with 8-node SHELL93 elements
with curvature, then the volume meshed with SOLID95 elements with the sides straight, then the shell
elements on the areas removed with the ACLEAR command. This will leave the volume meshed with
SOLID95 elements that are curved on the surface areas, but with straight sides in the interior. There are rare
occasions when this will eliminate element distortion warning messages.

Tip 21: Moving a Model from ANSYS Mechanical to ANSYS Linear/Plus:


Because versions of ANSYS sell for different prices, a company may own one version to be used for nonlinear

http://www3.sympatico.ca/peter_budgell/ANSYS_tips.html

7/13/2009

ANSYS Tips and ANSYS Tricks

Page 15 of 34

models, and several licenses for linear work, or just for model creation and results review. Occasionally, a
model will be moved "down" from a fuller version of ANSYS to the Linear/Plus version.
A user can run into difficulty moving a model from ANSYS Mechanical (or ANSYS Structural, etc.) to the less
expensive ANSYS Linear/Plus. The Linear/Plus version limits the number of nodes allowed. Unfortunately, it
implements this control by not allowing node numbers that exceed a limiting value. This means that
compression of node numbers (and element numbers) may be required in order to get larger models to be
accepted by ANSYS Linear/Plus. Otherwise, the program quits without an opportunity to compress the
numbering (more recent ANSYS versions may be more tolerant, but the numbering will have to be compressed
at some point).
When the node and element numbers are compressed, coordination of loading with the numbering expressed in
load step files is lost. The way around this that I have used is to read in the original database, read in a load step
file, compress the numbering, and write the load step file. The process, reading in the original database, must
be repeated for every load case (a macro could be written to automate this.) Finally, the original database is
read in, numbering is compressed, and the new database is written.
Unsupported element types cannot be used in ANSYS Linear/Plus; neither can too large a wavefront (can the
PCG solver get around this?). The unsupported elements need to be deleted or changed before moving the
model (e.g. change SHELL181 to SHELL63). Then, if the number of entities does not exceed ANSYS
Linear/Plus limitations, the database can be moved to the other program.
The next problem in moving models to ANSYS Linear/Plus, is that nonlinear material models must be deleted
in ANSYS Mechanical (Structural, etc...) before moving the database to ANSYS Linear/Plus. This is because
the ANSYS Linear/Plus program will complain that the material nonlinearity is included, but not accept the
commands to delete it (Hint: ANSYS should add this delete function to Linear/Plus.) Of course, I found all this
out the hard way.
On rare occasions, a model from a more recent version of ANSYS may be moved back to an earlier ANSYS
version. If IGES is not satisfactory, a user could use CDWRITE to write out the element and node model and
other model data to a file (the DB option), then manually clean up the file so that the earlier version of ANSYS
could accept it. This includes modifying commands for element creation, after deducing what format is needed.
Writing the element data with EWRITE then cutting and pasting with the CDWRITE file may be easier -- I
haven't tried it. A user-written program can expedite cleanup for a large model.
Tip 22: Deleting Nodes that have Nodal Coupling:
When deleting a set of nodes for which some were members of coupled node sets, delete the coupling
equations BEFORE deleting the nodes. Otherwise, unwanted coupling equations may be active if you create
more nodes. The coupling equations are not automatically deleted when the nodes are deleted--is this a bug?
Select the nodes to be deleted, then delete node coupling equations for which any nodes are selected, then
delete the nodes. (You will have had to first delete the elements.) Clearing solid model entities is the same as
deleting the elements and nodes simultaneously.
I find it very helpful to turn on the symbols for nodal coupling when checking for proper use of these details.
Tip 23: Convergence with Shell FEA Models in Nonlinear Analysis under ANSYS:
First, remember that there are three basic kinds of nonlinearity: (1) Large Displacement (geometrically
nonlinear) analysis, and (2) Plastic Material properties are the obvious types. In addition, nonlinear solutions
occur (3) when nonlinear elements such as gap elements, hook elements, and surface contact elements are used.
Because of (3) it is clearer to refer to a "linear" analysis as "small displacement elastic", since "linear" may be
perceived as meaning that there are no nonlinear elements present. A nonlinear analysis will take longer,
usually considerably longer, than a linear analysis. For a large finite element model, it helps to have a computer

http://www3.sympatico.ca/peter_budgell/ANSYS_tips.html

7/13/2009

ANSYS Tips and ANSYS Tricks

Page 16 of 34

with an extremely fast CPU, large RAM, large hard drive, and fast hard drive data transfer (high-speed SCSI
may help on PC's) for nonlinear analysis.
In ANSYS, the Shell 63 element will do Large Displacement, but is NOT capable of material nonlinearity
(plasticity). Shell 43, Shell 143, and Shell 181 are capable of both Large Displacement and material
nonlinearity. These four elements are 4-node quad elements. ANSYS also has an 8-node shell element, Shell
93. The Shell 93 element is capable of both Large Displacement and material nonlinearity. Shell 93 has the
advantage that it can follow a curved surface. There are also shell elements for composite materials and for Pelement solutions. I will restrict my comments to the basic shell elements: 63, 43, 143, 181, and 93.
The elements should have acceptable aspect ratios, not be ridiculously large or small, not be pathologically
deformed, and not generate warnings about being warped. If warped quad elements are unavoidable during
meshing, it may be desirable to use either small triangles, or the Shell 93 element. Note that within the ANSYS
manuals, high order elements are not considered to be ideal for nonlinear work. However, I seem to have had
some success with the Shell 93 element (can't say if the results were ideally accurate). You can evaluate the
model quickly by doing a partial solve (Partial Solu in the GUI), only generating the element matrices, and
getting warnings (if any) and other information in the ANSYS Output window.
If a Large Displacement solution is chosen, some solutions are improved by setting Stress Stiffening before
running the solve process. Stress stiffening for elements 63, 43, 143, and 181 can (apparently) only be set with
one of the KEYOPT values (Keyopt(2)) for the element (see Options when using Add/Edit/Delete to add
element types with the GUI). Some beam elements are like this, too. It apparently (I find the manuals difficult
to interpret on this) can NOT be set within the Solve module, even though the GUI has a selection box for
Stress Stiffening. However, I seem to have had convergence differences with Shell 63 with stress-stiffening set
and not set in the solve module. For Shell 93, stress stiffening IS set within the Solve module, by choosing it
under Analysis Options in the GUI (SSTIF). The use of stress stiffening for convergence improvement is
contraindicated by some conditions such as the substantial use of nodal coupling or nodal constraint
equations... see the ANSYS manuals on this. Note that SSTIF is NOT the same thing as the command
PSTRES.
A second thing that helps many nonlinear solutions (both Large Displacement and plastic) to converge when
substeps are being used is to activate the Predictor (PRED) in the Solve module. (This may be more of a
hindrance than a help when gap and other nonlinear elements will be changing status frequently.)
There are other settings that can be tried when attempts at convergence are not working. I usually stick to
letting the program decide how to use Newton-Raphson iteration and adaptive descent in the Solve module.
Under the Nonlinear settings of the GUI, the user can modify the Convergence Criteria. I often use only
convergence on forces (not moments) when analyzing shells if I am not inputting any moments directly. I
usually reduce the number of Equilibrium Iterations to 15 when doing shell models, preferring to use smaller
substeps instead. However, in a model with gap or contact elements it may be desirable to have a much larger
number of Equilibrium Iterations. I rarely try Line Search.
Making a good choice of time substep sizes is critically important in getting models to converge. If shell
models of flat plates subjected to pressure or perpendicular forces are included in the analysis, the shell will at
first act as a flat plate in bending. Once the shell has curved, by movement as small as half its thickness, the
shell will start to carry the applied load with membrane forces. In a model of this type, starting with very small
substeps (e.g. 1/100 of the full load) may be needed to achieve convergence. I would start with a very small
first substep, but allow the largest substep to be as large a fraction as 1/4 of the applied load. If there are no
perpendicular loads but the loading is causing Large Displacement, or if buckling is to be considered, it is
likely that small timesteps will be needed toward the end of the force application ramp. Where there is no
pressure or perpendicular force on flat shells, I would start with a substep such as 1/10 or 1/4 of the applied
load, but allow a minimum substep as small as 1/100 of the full load. If these approaches will not work, it is
likely that convergence control commands in addition to time substep size will need consideration.

http://www3.sympatico.ca/peter_budgell/ANSYS_tips.html

7/13/2009

ANSYS Tips and ANSYS Tricks

Page 17 of 34

If the structure is buckling or undergoing plastic failure, or "simply will not converge" it may help to use the
Arc-Length method. As I have noted elsewhere, I don't use the default Arc-Length settings. I usually start with
a number of substeps (NSUBST), and don't let the Arc-Length solver increase the size of a step beyond my
maximum substep size. I let the Arc-Length solver use a minimum step size that is 1/10 or 1/100 of my substep
size. I let the Arc-Length solver use a maximum step size multiplier of one. The Arc-Length method can follow
a rising and falling force-displacement relationship. I find PlotCtrls/Animate/Dynamic_Results to be useful in
reviewing the behavior during an Arc-Length analysis, and other nonlinear analyses. I prefer to save the results
at every substep when doing this (Output Ctrls). When using Arc-Length analysis, it is usually desirable to set
a criterion to stop an analysis (NCNV). I usually use maximum displacement as the criterion for shell work.
Remember to ramp up your loads, permit automatic time stepping, and in the NSUBST command, allow the
program to bisection by setting the maximum number of substeps greater than the minimum number of
substeps.
If you are having trouble with convergence, save the results at intermediate substeps so you can review the
stress and displacements. If you are doing combined Large Displacement and plastic deformation, and having
trouble with convergence, consider a study in which you do (1) an elastic small displacement analysis as a
check on element shape, loading, and constraints, (2) a Large Displacement elastic solution, and possibly (3) a
plastic small displacement solution. If these work without significant warning messages, you should be making
some progress. If gap or contact elements are being used, consider (4) softening the normal and tangential
stiffness values in a preliminary analysis (KN and KS). You can also (5) try relaxing the convergence criteria
on force and/or moment error. If desperate, a coarsely meshed model may improve speed enough for you to
study what helps get an answer. These preliminary studies may help you to find what settings help you to get
convergence or discover modeling problems before you do more time-consuming accurate analysis. If you are
trying a new technique, consider testing it on a toy-sized problem, before applying it to a large industrial-sized
problem that runs for hours or days, in order to learn the peculiarities and pitfalls of a particular timeconsuming method.
If gap or contact elements are the only nonlinearities in a model, consider substructuring the linear regions of
the model. This can result in a tremendous increase in solution speed. If only a sub-region of a model will
behave in a nonlinear manner, it may reduce solution time to substructure the region that can be regarded as
acting in a linear manner. This speedup effect or may not occur with large displacement modeling, when the
substructure itself will be undergoing large displacement -- I have done only limited testing of this technique.
See below for a brief discussion and for simple examples of substructuring.
Tip 24: Working with Load Step Files in ANSYS:
Load step files can be used to automate the application of a number of different load cases on a structure. A
load step file contains loads on elements and nodes. It does NOT contain loads on geometric entities.
Consequently, a load step file can be generated after all loads from geometric entities have been transferred to a
model. After all loading on geometric entities has been deleted, the load step file can be read back in,
recovering all applied loads. Alternatively, consider the "LSCLEAR,SOLID" command. These loads can then
be scaled.
The user needs to be careful when manipulating load step files. The load step files may contain the KUSE
instruction telling ANSYS to re-use the TRI file if the constraints have not changed. If the user deletes a load
step file, changes the order of their execution, or manually modifies their contents, invalid analysis might
result.
If the model is re-numbered after load step files are generated, the node and element numbers in the load step
file will no longer be synchronized with the model, and will be invalid. A way around this is mentioned
elsewhere in these notes (See Tip 21).
The reader should take note of the ANSYS user guides comments on the LSCLEAR command. This deletes all

http://www3.sympatico.ca/peter_budgell/ANSYS_tips.html

7/13/2009

ANSYS Tips and ANSYS Tricks

Page 18 of 34

loads and resets all load step options to their defaults. This can "clean up" the load step data before using
LSREAD to read a load step file for modification. What this implies is that the load step execution process
does NOT execute an LSCLEAR command when a load step file is read in. If it did, then ANSYS would have
to implement substantial checking to see whether a TRI file was safe to re-use, under the frontal solver (TRI
file re-use saves considerable time). Load step implementation can cause havoc when the user employs load
step files in a manner for which the method was not designed. It may help to read the contents of the
LSSOLVE.MAC macro in predicting what will happen, and to see what LSSOLVE does to avoid trouble. The
LSSOLVE.MAC macro at ANSYS 5.3 includes some undocumented commands including DMARK, FMARD,
SMARK, BMARK, and a *GET command that retrieves the error number in the /SOLU process. It also uses
an "LSCLEAR,SOLID" command that removes loads on geometric entities before reading in load step files. It
selects all DOF labels, sets xCUM labels to "replace", and does a few other things. I do not consider the
manuals to pursue this topic adequately -- a user ought to read the macro.
The ANSYS manual comments on the LSREAD command. The command does NOT clear ALL current loads
on the model when it reads in a new load step file (it does clear some... read the manual).
When using load step files: If loads on nodes and elements are set with BF and BFE commands (for example
applying temperatures for a thermal deformation stress analysis), then if you set up a subsequent load step, if
these temperatures are to be returned to ambient it may be necessary to use the BF and BFE command to set
the nodes and elements to the reference temperature (by default 0) rather than just deleting the loads using
BFDELE and BFEDELE and using BFUNIF to input the uniform temperature. It may help to use commands
such as "nsel,s,bf,temp,-999,99999" and "esel,s,bfe,temp,-999,99999" to select all of the nodes or elements to
which temperatures have been applied, if you are going to change them. Be very careful with the BFE
command. If you set the value of the temperature at, for example, four locations on an element with BFE, and
in a later load step set the value at only two locations within an element, the temperature at the other two
locations will still be "hanging around" at the previous value. It is very easy to make this mistake when running
a series of load step files. (Another thing I found out the hard way, in a model where both piping creation
commands and beam elements were used.)
If the user is deleting displacement constraints using DDELE, and then writing an additional load step file, the
old constraint may still be present when the series of load step files is read in under LSREAD; check for this in
your results. Be careful with this. It may compromise the use of load step files, or require some intervention
like writing an input file that calls load step files in using LSREAD, implementing fix-up commands as needed
-- be careful that a TRI file is not re-used because a load step file contains "KUSE,1" when your changes to
constraints mean that a new TRI file should be generated. Statements in the LSSOLVE.MAC macro can
provide guidance on using LSREAD effectively. You may need to look inside the load step files with a text
editor. Be warned that changing the contents of load step files with a text editor can be tricky because of
unintended side-effects.
In general the user will have to be careful that the "residue" from the loads and displacements from one load
step do not appear inappropriately in later load steps. This is true when generating the load step files in the first
place, and may apply when reading in load step files with LSREAD. As noted, LSSOLVE.MAC uses cleanup
statements.
The user will have to be careful to change loads between load steps in a manner consistent with getting smooth
ramping of loads and displacements, for those cases when this is desired, either for transient analysis, or for
good nonlinear analysis convergence, or when intermediate results are desired at in-between loads.
Before reading in load step files to solve with LSREAD, ensure that loads on geometric entities and elements
and nodes have been deleted, unless you are keeping them intentionally (as noted, loads on geometric entities
overwrite loads on elements and nodes). As noted, LSSOLVE.MAC in ANSYS 5.3 contains the command
"LSCLEAR,SOLID" to remove the solid model loads on the model before proceeding.
If Large Displacement analysis is going to be used in analyses run by load step files, the NLGEOM flag must

http://www3.sympatico.ca/peter_budgell/ANSYS_tips.html

7/13/2009

ANSYS Tips and ANSYS Tricks

Page 19 of 34

be set in the first load step file. There will be no NLGEOM command generated in subsequent load step files.
Because ANSYS does not permit the kind of analysis to be changed when applying a series of load steps, error
messages will be result if the user changes the value of NLGEOM in the middle of a set of load step files.
Tip 25: Plotting Shell Stresses -- Surface, Mid-Plane Stress, Load Paths, ESYS and RSYS:
In the ANSYS database, shell
stresses (and strains) for the basic
shell elements (63, 43, 143, 181,
and 93) are reported at the top
and bottom surfaces of the shell
element. The user can has four
options in ANSYS 5.3 for
plotting shell stresses (and
strains). Three of them are
selected with the commands:
"SHELL,TOP" , "SHELL,MID" or "SHELL,BOT". These will cause plotting of shell stresses (and strains) to
be based on the values at the top surface, mid-plane, or bottom surface of each shell element. This is a bit
misleading. The mid-plane stress is based on the average of the stresses at the top and bottom (this may not be
correct, at least for some elements, considering Section 2.3.4 of the Theory manual, which refers to stress on
the mid-plane of a shell element separately from the top and bottom, and forms the force per linear unit from a
weighted average of top surface, mid-plane, and bottom surface stress -- what's going on here?). What
constitutes the top and bottom of a shell element depends on the element's orientation when it was defined (see
elsewhere in these pages). It is possible to have adjacent elements, one with a "top" surface pointing upward,
and its neighbour with the "top" surface pointing downward. In complex structures it happens all the time. If
nodal averaged plots are done, for example with "PLNSOL,S,EQV", when either top surface or bottom surface
plotting is chosen, then with such adjacent elements, the plotted top surface and bottom surface results will get
blended, causing a misleading mess to be displayed. (See Tip 19 for commands that can re-orient shell
elements.)
More insight into the flow of stress in a model can be gained by plotting the stress vectors, using the
"PLVECT,S" command. With shells, these vectors will be plotted for the mid-plane principle stress
components. At times you will want to use vector graphics with no hidden surface removal, to give the best
view of these vectors. If there is local compression, the vectors point inward. These vectors can give insight
into load paths in a structure.
Where there are intersections of planes of shell elements, e.g. corners or "Tee" intersections, or where elements
of differing thickness meet, the averaging of node stresses can render local stress plot information meaningless
at the intersection. This is true of both surface and mid-plane stress plots. This is one way in which excessive
stresses will be unintentionally missed.
Any time that nodal averaged plotting is done, it is possible for the averaging to "wash out" local stresses that
may be important, yet it is common to do nodal averaged plots because of their much cleaner appearance (I do
them myself). The fourth option in plotting shell stresses is to switch on the ANSYS Powergraphics feature.
This causes shell results to be displayed, even averaged, for the visible surface. Options activated with the
AVRES and /EFACET commands can refine the way the results are plotted under Powergraphics (look them
up). Powergraphics has the options to discontinue the averaging of stress contours where there are certain
discontinuities in the material or geometry in the model. I'm going into this detail, because a high stress that is
washed out by nodal averaging could be a stress that causes serious fatigue or other damage, such as cracking,
or a weld being torn apart.
The only shortcoming is that Powergraphics will not work with mid-plane stress. The user has few options
here. Sometimes it is important to select only regions of a model when doing nodal averaged mid-plane stress
plots (using "SHELL,MID", without Powergraphics) so that the averaging does not wash anything out. A mid-

http://www3.sympatico.ca/peter_budgell/ANSYS_tips.html

7/13/2009

ANSYS Tips and ANSYS Tricks

Page 20 of 34

plane stress plot without Powergraphics can be done for element stresses, using a command like
"PLESOL,S,EQV". This will look messy, but at least it doesn't hide an extreme stress. An alternative I used is
discussed elsewhere in these pages: I wrote a macro to get the mid-plane averaged stress (all components) at
every node of every element (a given node has different results with reference to each of the elements to which
it is attached, so a given node will be looked up as many times as the number of elements to which it is
attached), and transfer it to the top and bottom surfaces, so that Powergraphics would plot mid-plane averaged
stress neatly, with discontinuities. CAUTION: This ruins the results database. The macro is extremely slow
to run. The method (under Powergraphics) does, however, give far better looking plots than using the
"PLESOL,S,EQV" command to plot mid-plane element stresses without nodal averaging (without
Powergraphics).

LOAD PATHS: The macro I mention above could be modified to multiply the mid-plane averaged stress
components by the local shell element thickness at each node. The resulting values would yield a contour plot
of force per linear inch (or other dimensional unit) "averaged" at the mid-plane of the shell -- this could help to
make load paths visible in a complex shell structure. "PLVECT,S" plots that would now show arrows
corresponding to the load-per-unit-length on the mid-plane and show the principal directions in which it points,
helping to illustrate the load paths. This macro would also ruin the database for any other use. Before plotting
"load-per-unit-length" data, the user needs to decide how to orient the results data coordinate systems with
RSYS for information such as Sx or Sy that contains direction information (stress and strain with EQV does
not contain direction information).
Note: The Output Data section on Shell63, Shell43, and Shell93 includes In-plane element X, Y, and XY forces
called TX, TY, and TXY. Consequently, shell "force per unit length" data can be obtained directly in an
Element Table very quickly, though with a resolution of one value per element. (For Shell63, 43, and 93, use
SMISC setting 1, 2, or 3 when generating the element table data.) The Theory Manual uses the term In-plane
forces per unit length while the elements manual refers to just forces as above -- a simple test I ran shows the
data to be force per unit length. The elements manual ought to clarify this. The Element Table data can be
contour plotted, but there are no principal stress style vector plots of table data. (Clarification: PLVECT can
plot vector arrows based on 3 ETABLE columns, but not the double-headed arrows for an ETABLE as in a
principal stress vector plot.) The Elements manual shows the TX, TY, and TXY values not being available
under "Miscellaneous Element Output" at every node, only at the centroid. The Elements manual does not
explicitly show that S,EQV or S,INT stress information can be extracted at the mid-plane. Their value is
extracted with the component name method. Brief experimentation shows that if the command "SHELL,MID"

http://www3.sympatico.ca/peter_budgell/ANSYS_tips.html

7/13/2009

ANSYS Tips and ANSYS Tricks

Page 21 of 34

is followed by "ETABLE,SEQVMID,S,EQV" that the column called SEQVMID will contain an average
SEQV value for the mid-plane. If "SHELL,TOP" or "SHELL,BOT" is called, the ETABLE value of SEQV
will change if the update command "ETABLE,REFL" is executed. Warning: When plotting ETABLE shell
element element table data with PLETAB the plot information legend will read TOP, MID, or BOT according
to the current setting of the SHELL command. This bit of information DOES NOT reflect the SHELL surface
setting conditions in effect when the ETABLE data was stored, and could be misleading. For this reason, the
label used for the column should indicate the shell layer setting in use when the element table data was loaded,
as with "SEQVMID" above. Doing an element table update with ETABLE,REFL will re-fill columns with
results data. A change of the SHELL layer setting can change stress results that are loaded in an update.
Consequently, loading shell element data must be handled very carefully in order that the layer choice is
controlled. Element table data from the CALC module (adding columns etc.) is NOT updated and has to be
explicitly re-calculated.
NOTE Also: The direction of the element table load-per-unit-length TX, TY, and TXY is as taken from the
element in Element Coordinates. Unlike SX or SY, the values of TX, TY, and TXY appear to be insensitive to
the RSYS setting. The Element Coordinate System will vary orientation from element to element, particularly
under free meshing, and affects the usefulness of TX, TY, and TXY data. The element table data can be
processed by the user to yield a new table column containing the "load-per-unit-length intensity" in the sense of
a Mohr's circle, giving rapid if somewhat coarse plots of load path information along the shell mid-plane. The
plots will usually be more informative without nodal averaging. Section 2.3.4 of the ANSYS Theory manual
discusses Forces and Moments per unit length on shell elements -- the suggestion is that internally, at least for
some shell elements, the mid-plane stress is NOT simply the average of the top and bottom stresses. The way
around the problem of element coordinate systems being arbitrarily oriented is to define local coordinate
systems before meshing areas (or otherwise generating shell elements) and use ESYS to get all shell elements
oriented with the local coordinate systems. ESYS assigned to elements can be modified after the fact but before
SOLVE, by using the EMODIF command in /PREP7. It may be desirable to have a local coordinate system
aligned with each flat area to be meshed with shell elements so that all shell element coordinate systems can be
aligned in the plane of the area -- a time consuming process unless a macro is used. Curved surfaces would be
difficult.
The problem of orienting coordinate systems in the plotting of results is illustrated by the images below. The
first shows 3 elements that were created during free meshing. The elements are plotted using vector graphics,
with the element coordinate systems shown. Each element has its coordinate system oriented differently. The
image below it lists the elements and their node numbers. Look at the sequence of node numbers for the three
elements to see why the element coordinate systems point in such different directions.

http://www3.sympatico.ca/peter_budgell/ANSYS_tips.html

7/13/2009

ANSYS Tips and ANSYS Tricks

Page 22 of 34

The next two images show a plot of TX done from an element table. The element table was filled by the TX
values for the elements (this is the load-per-unit-length in the element coordinate system X direction). The
values differ so much from element to element because of the difference in the element coordinate systems.
The plot consequently tells us too little. The following element plot of Sx shows the stress in the X direction.
The results are shown in the global coordinate system.

http://www3.sympatico.ca/peter_budgell/ANSYS_tips.html

7/13/2009

ANSYS Tips and ANSYS Tricks

Page 23 of 34

The final images in this section show a group of Shell63 elements that have had their element coordinate
systems aligned with local coordinate systems at the time of the creation of the elements, by the use of the
ESYS command. This will permit element table results TX, TY, and TXY to be aligned in a known manner.
This also permits Sx, Sy, and Sxy to be aligned in the plane of the elements creation if RSYS,SOLU is active
when plotting stress results. Knowlege of the alignment of the loads and stresses can make plots more useful in
understanding load paths, reduce the total number of plots required in model assessment, and help facilitate an
evaluation of loading on welds. The first plot with vector graphics shows the elements with their element

http://www3.sympatico.ca/peter_budgell/ANSYS_tips.html

7/13/2009

ANSYS Tips and ANSYS Tricks

Page 24 of 34

coordinate systems. Note that they are aligned. There are two local coordinate systems at work in this example
-- they are numbered 11 and 12 and their symbols are plotted. Elements have been created aligned with number
11 in one plane, and aligned with number 12 in the other plane of elements. A line pressure has been applied in
the global -Y direction. The second plot with raster graphics is of Sx at the shell mid-plane. Because
RSYS,SOLU was active when the Sx plot was generated, there are Sx values shown in all elements. If RSYS,0
were active when the Sx plot was done, the plane of elements that is perpendicular to the global X axis would
show zero stress in the X direction in this example.

http://www3.sympatico.ca/peter_budgell/ANSYS_tips.html

7/13/2009

ANSYS Tips and ANSYS Tricks

Page 25 of 34

There is an alternative to using ESYS and RSYS,SOLU to align element coordinate systems for the purposes
of stress plots like Sx, Sy, and Sxy. During postprocessing in /POST1, a local coordinate system can be aligned
with the plane of shell elements of interest, and RSYS set to that local coordinate system, before plotting Sx,
Sy, or Sxy. However, this would do nothing for TX, TY, and TXY which depend on the element coordinate
system and are generated in an Element Table.
I leave the topic of whether to plot surface or mid-plane shell stresses to the reader to determine. Too much is
industry or application domain specific. Hint: Check mid-plane plus both shell surface stresses. Surface
stresses and strains can cause local bending, cracking, breaking of protective coatings, fatigue, and imply
possible overload or prying of welds and fasteners, and can highlight other troubles.
Tip 26: Nodal Coupling (CP) versus Rigid Region (CERIG):
I have seen analysts mistakenly use nodal coupling where rigid region constraint equations should have been
employed. (The nodes concerned were not at the same location in space.) Rigid region constraint locks together
a selected set of nodes so that they translate AND rotate in space as if they were locked together by an
infinitely stiff structure. Nodal coupling locks together selected degrees of freedom (translation and/or rotation)
individually, so that the same degree of freedom value will result for the nodes in the coupled set. Nodal
coupling will not combine the rotations and translations that are necessary to imply rotation as a rigid body in
space.
Note that rigid region constraint may not be appropriate for Large Displacement, when the displacement

http://www3.sympatico.ca/peter_budgell/ANSYS_tips.html

7/13/2009

ANSYS Tips and ANSYS Tricks

Page 26 of 34

rotations are significant (sin(theta) differing from theta, etc.). This is because ANSYS uses a linear
approximation to the rigid body rotation matrix. A rigid region grouping can be implied by tying nodes
together with extremely stiff beam elements (zero-mass beam elements a few orders of magnitude stiffer than
the structure to which they are attached.) The beam elements should have the advantage that they work under
Large Displacement. The beam elements should not be too stiff, or ill-conditioned matrices could result. If the
beams are of very widely varying lengths, then some may be too stiff, others too flexible -- remember that
flexibility is proportional to length cubed.
I ran a model in which about one thousand beam elements were used to position gap elements. These beam
elements would ideally have been infinitely stiff. I needed elements, instead of nodal coupling or constraint
equations, because of thermal expansion considerations. The beam elements were widely varying in length.
This created solver trouble, until I wrote a macro that assigned each beam element a unique REAL value,
which set values for each BEAM4's Ixx, Iyy, Izz, and Area as a function of the element's length. I found it
sufficient to set their stiffness a couple of orders of magnitude stiffer that contact stiffness for the gap elements.
Turning on the symbols for nodal coupling and for nodal constraint equations is very helpful in reviewing the
correctness of a model.
Tip 27: Vibration Modes with Pre-stress:
Calculation of natural frequencies and modes of vibration CAN be done with pre-stressing of the structure
under ANSYS. There is a "PRESTRESS" flag to set under modal analysis. This is available in the dialog box
for Modal Analysis Options. First, do a static analysis with the prestress flag set. Exit Solution (click Finish or
enter "/fini"). Re-enter Solution, and do a modal analysis with the prestress flag set again. This does not seem
to work when the stress run is done with Large Displacement activated.
I leave the question of how a performer plays music with a hand saw and a violin bow as an "exercise for the
reader" :-)
Tip 28: Creating New Elements by Copying or Reflecting Existing Structure:
In order to create new elements by reflecting or copying existing elements, there are a few things to do. First,
select the elements to be copied and get their nodes with NSLE. Copy or reflect the nodes, noting the nodal
number offset that will be used -- write it down. Copy or reflect the elements, using the nodal offset number
that you wrote down. ANSYS should default to a nodal offset number equal to your highest numbered node. If
you make it smaller, you run the risk of changing the location of nodes that already exist, resulting in a lovely
mess. If you are running something like ANSYS/ED you may want to compress your node numbers first, for if
a node number results that exceeds the ANSYS/ED limit, the program will terminate immediately (the more
recent ANSYS revisions may give a non-fatal warning message and quit some time later if you don't clean up).
You could compress the node numbers, and then make the offset number equal one plus the difference between
the maximum node number of the whole model and the lowest node number of those nodes to be copied or
reflected. You can find these node numbers with *GET commands. (Remember that compressing node or
element numbers will destroy synchronization with Load Step files.)
The same nodal offset number will need to be used if nodal coupling is to be copied as well. In order to copy
nodal coupling, use "Generate Coupled DOF Sets with same DOF" for which you will need the same nodal
offset number. Do a replot to see the newly created nodal coupling. Caution: Be sure that if nodes were deleted
earlier, that nodal coupling equations that in the past included those deleted nodes were also deleted. If you
forget, you may get a pretty mess.
Remember that if there are nodes on the plane of reflection, new nodes will overlay them. Merge commands
may be wanted for the nodes on the reflection plane. Now the tricky part: elements lying in the reflection plane
(shell elements will do this) get generated with the node order reversed, because of the mirror imaging. They
Will Not Merge with the element from which they were reflected. They may have to be deleted, depending on

http://www3.sympatico.ca/peter_budgell/ANSYS_tips.html

7/13/2009

ANSYS Tips and ANSYS Tricks

Page 27 of 34

what you are trying to accomplish. Alternatively, do not select elements that lie in the plane of reflection when
reflecting the structure. You still need to reflect the nodes on the plane of reflection, in order to reflect the
elements that will join them to the remainder of the reflected structure, so the nodal merge will still be needed.
Tip 29: Adding to a Model Comprised of Elements and Nodes Only:
It may happen that a model that consists of nodes and elements only has to have a section replaced, or requires
the addition of more structure. The way to attach new geometry onto existing nodes and elements is to: (1)
Place keypoints on the nodes onto which new geometry is to be built (i.e. grafted). (2) Join these keypoints
with lines. (3) Set mesh density along these lines to only one element. (4) Build new geometry outward from
these keypoints and lines. This gets messy if you are building solids. (5) Mesh the new geometry. (6) Select the
nodes (new and old) along the interface between the old nodes and the nodes of the new geometry. (7) Merge
ONLY these nodes along the interface using the NUMMRG,NODE command. Alternatively (much more work
unless a macro is written or the CPINTF command is used correctly), fully couple the PAIRS of nodes with the
CP command. In the event of elements with mid-side nodes, lines will have to be created curved so that a
single line spans three keypoints placed on the three nodes along the edge of an element. It is probably
advisable to connect elements with mid-side nodes to other elements with mid-side nodes.
This attaches the new geometry and mesh to the old elements and nodes. Be sure to double check that the
merging has been done correctly and according to your intentions -- I have found this to be a surprisingly errorprone operation.
Tip 30: Zero Mass Beam Elements Form Rigid Region:
An analyst could use very stiff beam elements (a few orders of magnitude stiffer than the surrounding
structure) in order imply a rigid region grouping of nodes, which works under Large Displacement (a CERIG
group does not work with large displacement). This is an old FEA trick -- it is not perfect. A separate material
should be created for these beams, and be given zero mass (set the material density to zero) so that no
gravitational or other inertial load acts on the material. A thermal expansion coefficient should be input if
appropriate -- it would usually be identical to the coefficient value for the structure that it approximates.
I wrote a macro to create a rigid region using beam elements. It is called after the set of nodes to be connected
is selected. The lowest numbered of the set of nodes is attached to each of the other nodes in the set by a beam
element. The beam element to use has to be set up in advance, and the appropriate MAT, REAL, and TYPE set
by the user. A macro like this is very fast to run. Caution: Such a macro would become complex if it checked
for duplicate nodes at the first node location (ANSYS can't use zero length beams), and checked for widely
varying beam lengths. This is not a guaranteed method.
Tip 31: Turn off Symbols When Changing a Model after Solution:
If you have run SOLVE, the results database will be full of data. If you then change a model, and create
anything that plots a symbol, all symbols become active, and plots become extremely slow. Turn off symbols
with /PBC,ALL,,0 to speed things up. I put this command in the Toolbox for convenience. I have found that
plotting can become slow with very large models when loads have been applied, and even when applied and
deleted. Presumably ANSYS is checking to see if any symbols should be shown. The plotting speeded up
considerably when symbols were turned off with "/PBC,ALL,,0" even though there were, in fact, no symbols
to be plotted.
Tip 32: Are the "Free-Free" Vibration Modes Relevant?:
Simple supports on a structure may be appropriate for static analysis and gravity loading, since the structure
will "sink" until the simple support reacts enough to withstand the applied load. If a modal vibration is excited,
small amplitude vibrations may result in very little response from the support, and vibration similar to a
structure that is free in space may result (this is obviously very problem dependent). If so, it may be desirable

http://www3.sympatico.ca/peter_budgell/ANSYS_tips.html

7/13/2009

ANSYS Tips and ANSYS Tricks

Page 28 of 34

to run a modal vibration analysis with no constraints. More than six modes must be requested, since the first 6
represent the free translation and rotation, and give Zero eigenvalues. A better approach would be to
characterize the flexibility of the constraint points. With some structures, you may get a few surprises, as
torsional and other vibration modes appear.
Tip 33: Selecting a CAD or FEA System -- Cover Yourself
It is common to evaluate a few CAD or FEA packages when trying to make the right choice for a purchase.
Watch out for this stunt: (I've seen it done, and been threatened with it once (I laughed at her).) A losing
vendor writes a letter to your boss, or even to the head of your company, claiming that the engineers are
incompetent (stupid, uninformed, can't spell, and so on) and making a huge mistake. If the boss is not an
engineer and cannot understand the issues, this could get awkward. (Certain Dilbert cartoons come to mind.)
Warn your boss(es) in advance that a few vendors pull this move and that you and your group will evaluate the
products in a thorough manner. Write down some criteria and your assessments. Also, be careful that you
cannot be accused of leaking information unfairly from one vendor to another -- date your correspondence
carefully, and work through your purchasing department if that is appropriate at your firm. Some sales-types
are very greedy for their commissions, and petulant when they lose. (Names will not be mentioned, to protect
the guilty. If you've been around the block a couple of times, perhaps you can make a few guesses.)
(The ANSYS vendor I've dealt with has been very professional.)

Tip 34: Creating Lines Perpendicular to, or at Angle to Existing Lines


When creating structures in the /PREP7 portion of ANSYS, I find that the
commands that create lines that are perpendicular to existing lines, or at an angle
to existing lines, are extremely useful. Look at the commands LANG, LTAN,
L2ANG, as well as the others. These commands break lines where new lines
intersect, even though the original lines are already attached to areas. Since I often
model shells that are to act as if they are welded together, I need the lines to be
shared where areas contact each other. These commands give the connectivity I
need.
The command that meets another line at an angle may do better if it is entered manually, with the first guess of
the contact point set at 0.0, 0.5, or 1.0, depending on your intention. This often succeeds when the interface
command fails.
Tip 35: Use the /UI command in Your ANSYS Toolbar to Bring up GUI Dialog Boxes
Take a look at the /UI command in ANSYS. You can use it in your Toolbar to activate certain GUI dialog
boxes with one-click simplicity, instead of finding your way though the menu system. I sometimes get odd
results from the Hard Copy command when I do this -- I have no idea why.
Tip 36: Reaction Force, Nodal Force, and Load Paths
I worked on a model subject to aerodynamic pressure and gravity load. We needed to know the load that the
structure would apply to its foundations. Printing the Reaction Force would give this value, however the +/sign is in the direction of the force that the constrained node (or nodes) applies TO the structure. If nodes are
selected with the three commands NSEL,S,D,UX $ NSEL,A,D,UY $ NSEL,A,D,UZ the Nodal Force at the
constrained nodes can be printed. This is the force with which the nodes press on the supports. (NOTE: You
may need to include nodes where there are constraints on rotation, depending on what you are modeling.)

http://www3.sympatico.ca/peter_budgell/ANSYS_tips.html

7/13/2009

ANSYS Tips and ANSYS Tricks

Page 29 of 34

WARNING: A number of things can go wrong with this approach.


1. If you ask for nodal forces without limiting the node selection to nodes where there are constraints, you
will get nodal forces wherever forces and pressures have been applied to your structure. (For the curious,
printing nodal forces when only pressure has been applied to shell and high order elements will illustrate
that FEA software inputs a complex set of forces and moments because of how the elements are derived
from first principles. What is being printed is the force with which the nodes react to the forces input
from outside -- if a moment is input, a nodal "force" moment is output in reaction.)
2. If an input force has been applied to a constrained node, the nodal force and the reaction force
magnitudes will differ. When I tested this, the reaction force that ANSYS listed was modified by the
presence of a force applied directly to a constrained node, whereas the nodal force (that is based only on
element deformation) was not affected.
3. IMPORTANT: All the elements to which the selected node is attached must be selected in order to get
the total force with which the node pushes on the outside world (use ESLN after selecting the nodes).
The generation of Nodal Force (and Reaction Force, if I remember correctly) is determined from the
deformation and stiffness of attached elements. If elements attached to a node of interest are not selected,
then the contribution of those elements to the force at the node is not included and will be missing.
4. Caution: If you have used a rigid region with the node of interest, the lack of element deformation means
that you will NOT get the Nodal Force or Reaction correctly -- you may need to work from the set of
nodes where the rigid region attaches to the flexible part of the structure. I'm not sure what kind of
effects nodal coupling would have.
There are various other uses to which you can put Nodal Force. You can plot the Nodal Force vectors along
with your model (see the /PBC command), after SOLVE, giving visual cues during your review. You can use
NODAL FORCE to find out about the load being carried in certain Load Paths:
z

z
z

Determine where to position a "cut" in the model. Locate it where you want to determine the force
carried across the cut. The "cut" should follow a path along the edge of a set of adjoining elements.
Select all the elements on ONE side of the "cut".
Select the nodes on the "cut" side of those elements.
Printing the Nodal Force (forces only) will tell you about the forces that your selected elements apply to
those nodes. The sum that is printed tells you the total force carried across the "cut" in the X, Y, Z
directions, based on the selected elements.
Caution: Getting the moment across the cut is not so easy, because moment is determined with respect to
an axis. You would have to do extra work to pursue moment across a cut, determining your "neutral"
axis, and using other commands. See, for example, ANSYS manuals information on the SPOINT
command.

Note my earlier comment Tip 25 on making load paths visible in shell models. For further information, read
the ANSYS manuals on the FSUM and NFORCE commands.
Tip 37: Inputting Temperatures with BF, BFE, and TUNIF in Structural Analysis
As discussed by ANSYS in Chapter 2.6 of the Elements Manual, Body Loads (temperatures for structural
analysis that cause thermal strains and affect temperature dependent material properties) may be input in a
nodal format or an element format. "Either the nodal or the element loading format may be used for an
element, with the element format taking precedence. Body Loads are designated in the "Input Summary" of
each element." This means that if both BFE and BF are applied to an element and its nodes, and the inputs
differ, the BFE setting will govern. If temperature is input on a nodal basis, the temperature input at a node will
influence all the attached elements. If temperature is input on an element basis, the temperature(s) input will
influence only the element to which it was applied. The commands TUNIF and BFUNIF can be used to set all
nodes to one default temperature that differs from the reference temperature. Then, BF or BFE commands can
to used on specific regions of the model to put in other temperatures.

http://www3.sympatico.ca/peter_budgell/ANSYS_tips.html

7/13/2009

ANSYS Tips and ANSYS Tricks

Page 30 of 34

If you use piping commands to create pipe elements, and have applied temperatures, ANSYS will apply the
temperatures on an element basis (to check this, generate a Load Step file and inspect its contents, or use the
BFLIST and BFELIST commands). For the user applying temperatures directly, it can be a little simpler to
apply temperatures on a nodal basis with BF, since the nodes can be selected by location. Inputting
temperatures on an element basis with BFE permits control of things such as temperature differences between
the inside and outside of pipe elements, or between the top and bottom of beam elements. The element listing
in the Elements Manual should be consulted before applying temperatures with BFE. As I discussed elsewhere,
if you change temperatures that were previously set with BFE, the temperatures have to be changed at all the
locations within each element to which temperatures were applied. Otherwise, the old temperatures will still be
there. You may want to clean up with a BFEDELE or other cleanup command before starting. The BFDELE
and BFEDELE commands only act on selected nodes and elements -- if you want to remove all temperature
application, select the full model first. Be wary of what happens when you use Load Step files.
Tip 38: ANSYS Toolbar Use

The ANSYS Toolbar can be very helpful in giving "one click" access to frequently used commands. Toolbar
buttons can also call macros, or the function form of commands, for example Fnc_Pl_Symbols to bring up the
dialog box for setting symbols. If you want to get fancy, a toolbar button could be used to activate an
alternative toolbar.
In the toolbar shown here, a variety of buttons have been enabled. Some of the
captions are a little cryptic; this is because the captions are limited to only 8
characters. The command that gets executed cannot include the $ sign. Consequently,
only one command can be executed, however, a macro can be called in order to
perform a complex set of instructions. The toolbar editing is brought up from the
menu item "MenuCtrls". In the example toolbar shown here, the buttons are not in a
highly logical order. In order to modify the button sequence, save the toolbar (I
suggest the unimaginative file name "toolbar") and re-order the lines in that file with a
text editor. Keep the eventual sizing of your toolbar in mind. The example here is
sized for six rows deep, and seven columns wide. Use the "Save Menu Layout" menu
selection to save the layout of all of your ANSYS windows including the toolbar
shape. (This setting is destroyed if you modify the "GUI configuration" under your
ANSYS Interactive startup dialog box.) When you are happy with the layout of your
toolbar, you can append the toolbar file's contents to the end of the "Start.ans" file
located in the ANSYS "DOCU" subdirectory.
Tip 39: ANSYS Piping Elements
The use of ANSYS piping elements, Pipe16 and Pipe18, can simplify the work required to create models of
piping systems that will satisfy certain code requirements. Piping commands can be used in /PREP7 to directly
create models of piping. In using piping creation commands, a user works out the intersection points of the
runs of piping as if there are sharp angle bends. Each run of pipe is entered as dx, dy, dz, creating Pipe16
elements, and then a radius of curvature at the previous intersection can be applied, creating Pipe18 elements.
The Pipe18 elements are taken out of the two Pipe16 elements that met at the last corner intersection. If these
two Pipe16 elements are too small to encompass the Pipe18 bend elements, difficulties will result. If the user is

http://www3.sympatico.ca/peter_budgell/ANSYS_tips.html

7/13/2009

ANSYS Tips and ANSYS Tricks

Page 31 of 34

defining U-bends, it is easy to have zero-length Pipe16 elements generated. My approach to this is to inspect
the model for zero-length Pipe16 elements, and delete them, after I make sure that all pipe nodes are merged. I
use a macro to inspect the model and do the deletions. Checks are included in the macro, because Pipe18
elements always return a zero length. I have also seen users do a U-bend with a small extra space so that a very
small Pipe16 element will remain between the two 90 degree bends that make up the 180 degree U-bend,
avoiding a zero-length element problem.
To list or plot useful stress information from the piping model usually requires putting selected results data into
element data tables, and the use of appropriate PLLS commands. Fortunately, ANSYS includes many output
possibilities for the two piping element types, so typical piping code requirements can be met. See the element
manual for these elements for information on the available output data.
For obvious reasons, I leave proper use of design codes within piping analysis as an "exercise for the reader." :)
Piping creation in ANSYS includes the possibility of added mass due to fluid in the pipes, and from insulation
added to the piping. The insulation addition is simple -- the user can input thickness and density. This lets the
added mass presence of heat exchanger fins be easily faked by inputting the product of fin_thickness x
fins_per_inch x fin_material_density as the "insulation" density, and fin height as the "insulation" thickness.
(Substitute the appropriate dimension for fins_per_inch, etc. for your system of units.)
The deflection behavior of pipe elements is based on ANSYS beam elements. If accurate vibration behavior is
to be modeled, at least several pipe elements will be needed between supports. If accurate gravity-induced
deflections and stress are wanted, better results will come from the use of a consistent mass matrix, if element
density between supports is low.
Developing an understanding of the function of the ANSYS element creation commands (BRANCH, RUN,
BEND, and so on) will require creating some elements with material and dimensional information, then
reviewing what element TYPE and REAL data has been created in the model database. Model review is
enhanced by plotting the elements with the /ESHAPE option active.
Where piping is connected with sliding supports to the outside world, the use of gap elements may be needed if
sliding friction is to be included in the model. ANSYS does not differentiate between static friction and sliding
friction coefficients, so a reasonable and conservative value for coefficient of friction (as well as contact
stiffness of the gap element) will have to be determined by the analyst. If there are thermal expansions in the
piping, stresses predicted by the model will usually be reduced if the gaps in the support structure are included
in the model (depending on the nature of the structure) rather than having "tight" fits at the sliding connections.
Tip 40: Graphical Output from ANSYS
If you start up ANSYS under Windows NT with "win32" selected for graphics, the stress plots will be shaded.
If you select "win32c" for the graphics, the stress plots will not be shaded, and will usually look better when
plotted to paper, especially when plotted from ANSYS with HardCopy to ink jet printers. They can be selected
with the commands /SHOW,WIN32 and /SHOW,WIN32C when using the GUI.
Plotting to the screen window with Z-buffering as the hidden surface control can give very satisfactory and
often quicker results. Hard copies of these Z-buffer plots, however, will look "pixelated", being limited to a
coarse resolution. Better looking hard copies to paper will usually result if the screen is set to "Precise Hidden"
or even to Centroidal hidden surface control. This is usually true of plots sent to a file, for subsequent
processing with the ANSYS DISPLAY program.
Plots can be redirected to files by using the /SHOW command. This permits the DISPLAY program to do
various things with the results, including the generation of animations. Under Windows NT, an animation can
be generated as an AVI file.

http://www3.sympatico.ca/peter_budgell/ANSYS_tips.html

7/13/2009

ANSYS Tips and ANSYS Tricks

Page 32 of 34

I occasionally find it helpful to generate an animation file based on a single stress plot of a load step, in which I
spin the model about the screen X or Y axis. You can use the /ANGLE command and the /REPLOT command
to accomplish this. A simple macro does /REPLOT calls with the model set at a series of angles from 0 to 360
degrees. You can even execute this command on one line using the "$" symbol to separate the commands. The
command "*DO,III,0,355,5$/ANGLE,ALL,III,YS,0$/REPLOT$*ENDDO" will achieve this for you. The
scaling of the display should NOT be set with /ZOOM,OFF or else the image will "move in and out" in order
to fill the screen as the view is rotated -- set the zoom level manually with picking; you may want to move out
so that the model fits in all views. You may need to experiment. Node plots without symbols are a quick way
to assess the behavior while testing. If the plots have been re-directed to a file when this command is executed,
the plots in the file can be animated by the ANSYS DISPLAY program.
AT the ANSYS 5.3 level, and presumably above, you can do a /SHOW,VRML plot to get a 3-D VRML file
produced of a 3-D model plot. This could be a stress contour plot of a 3-D model. With the right options
activated for a good VRML viewer plugged into a Web browser, the stresses on the 3-D model can be
reviewed at any viewing angle with the positioning control a VRML viewer. This ought to be particularly
interesting on a computer with a fast 3-D graphics accelerator.
There are utilities that can convert a Postscript output file from the ANSYS DISPLAY program into a bitmap
image file. A free conversion program is Ghostscript, once you figure out how to use it. The user should get a
front end for the Ghostscript program, for ease of use.
Under Windows NT, the Alt/PrintScreen key combination will copy a window to the Clipboard. This can be
used to capture an ANSYS graphics window for pasting into a word processor document, or into an image
processing program for conversion to a GIF or other bitmap file. GIF files can be used in WEB pages to show
the results of ANSYS work. I recommend GIF over JPEG files for images from ANSYS, because GIF files
precisely reproduce 256, 16, and 2 color images (you have to reduce the colors to 256 or fewer levels in the
image processing program, or accept the default color reduction used when the GIF file is generated.) Before
capturing the Graphics window of ANSYS, set its size to your satisfaction. Bitmap image size changes in an
image processing program are not satisfactory with this type of graphical output. If you want to get really
fancy, generate a GIF file that contains an animation of a ANSYS model. (Animated GIF files can be generated
from individual images with software that you can find on the Web or purchase.)
Re-sizing of the ANSYS graphics window under Windows NT is painful if a model has been plotted, because
ANSYS wants to keep re-plotting the image as the window edge or corner is dragged. This problem goes away
if you set the Windows NT Display Properties to NOT show window contents while dragging. I keep my PC
permanently set this way for this reason.
Tip 41: Check Nodal Loads at Bolts, Rivets, Spot Welds and Links
Wherever connection by bolts, rivets, or spot welds has been represented by various simplifications or
representations in an ANSYS model, the load on those connections should be checked, and compared with
allowables. Spot weld review may require assessment of moments (especially about an axis perpendicular to
the sheets that are spot welded together), as well as assessment of forces. One way to do this is to select the
appropriate node(s) at the connection, select elements on "one side" of the node(s), and check nodal loads. The
connection devices should not be overloaded. The hole in which a bolt or rivet is placed must not be
overloaded or too near an outside edge of a sheet or plate, either. Additionally, building codes usually forbid or
substantially limit "prying" loads on bolted and riveted connections. If the FEA model has good detail,
including gap or contact elements, a high prying load can be demonstrated in some models (never assume your
FEA model will automatically show you all trouble spots).
Similarly, links or "spars" that are loaded should be checked for stress, and be checked for buckling. Since a
link will be represented by one element that is pin connected at the ends, and only cross section area is entered,
ANSYS will not generate buckling information about the link, not even in a Large Displacement analysis. The
user must do some work to compare compressive load with critical buckling load (use a good margin of

http://www3.sympatico.ca/peter_budgell/ANSYS_tips.html

7/13/2009

ANSYS Tips and ANSYS Tricks

Page 33 of 34

safety). A user could write a macro to step through all link elements, identifying the compressive stress and
force, and calculating buckling information. The ANSYS Link10 element supports a tension-only and a
compression-only capability. Where it is not known in advance whether all links will remain in tension, and the
links are slender, this element could be used to imply that no link can support compression for what may be a
"worst case" evaluation of some models. An example would be the stays that support the mast on a sailboat,
with pre-tensioning implied with initial strain. (If the stays are woven rope or steel cable, getting a
representative crossection for the link elements will require some extra work.)
Spot weld representation in large structures is usually an inexact science in FEA modeling. Spot welds will
be found, for example, in many automobile body structures. Plug welds are a stronger alternative, applicable to
thicker steel sheets and plates. The crudest and quickest representation of spot welds is to merge coincident
nodes from the two joined layers where nodes have been intentionally created coincident at the spot weld.
Alternatively, the nodes can be fully coupled with the CP command if they are coincident. They can be joined
as a rigid region with CERIG if the nodes are close but not touching as when shell elements are kept at the
mid-plane position of two sheets that are spot welded together. (Remember that CERIG is valid only in small
displacement analysis -- coupling with zero-mass stiff beam elements could be substituted if large
displacements were needed.) The shell nodes can be joined with a beam element that has properties that reflect
the diameter of the spot weld. The roughest approximation will merge or couple just one node pair. If nodal
coupling is used, rotations should be coupled as well as translations, for spot weld representation. NOTE: With
shell elements, read the "drilling mode" comments in the ANSYS Elements Manual -- it may be necessary to
set a KEYOPT value to transmit rotation and torque about an axis perpendicular to the shell elements when a
spot weld is crudely represented by single node pair coupling, merging, CERIG, or beam elements. Contact
elements between the joined shells or materials may want consideration. Exactly what to do for spot weld
representation is very problem, industry, and material dependent. These very approximate techniques tell us
little or nothing about stress, fatigue, or fracture possibilities near or at the weld. More elaborate modeling
(more nodes and elements, and special element types) of each spot weld could give more information about
local stresses, when local stresses matter. Studying the "crack" that is hidden between the sheet metal layers in
a spot weld is an "advanced topic" -- discuss this with an expert or consultant. I doubt that you would find
many spot welds used with aluminum, not only because of the difficulty of welding aluminum, but also
because of the fatigue considerations -- consider how commonly aircraft use rivets and modern adhesives.
There is a document on spot weld fatigue and FEA on the MSC/Nastran website. (There is a variety of other
good reading at the site, too.) Take a look at the paper in PDF format by Heyes and Fermer, which, although it
is MSC/Nastran related, is interesting and includes the following references:
z Rupp, A., Strzel, K. and Grubisic, V. "Computer Aided Dimensioning of Spot-Welded Automotive Structures". SAE Technical Paper 950711, 1995.
z Smith, R. A. and Cooper, J. F. "Theoretical predictions of the fatigue life of shear spot welds." Fatigue of Welded Structures, Ed. S. J. Maddox, pp. 287 -

293, The Welding Institute, 1988.


z British Standards Institution. Code of Practice for Fatigue Design and Assessment of Steel Structures. BS 7608, 1993.
z Radaj, D. "Local Fatigue Strength Characteristic Values for Spot Welded Joints." Engineering Fracture Mechanics, Vol. 37, No. 1, pp. 245 - 250, 1990.
z Sheppard, S. D. and Strange, M. E. "Fatigue Life Estimation in Resistance Spot Welds: Initiation and Early Growth Phase." Fatigue and Fracture of

Engineering Materials and Structures, Vol. 15, No. 6, pp. 531 - 549, 1992.
z Sheppard, S. D. "Estimation of Fatigue Propagation Life in Resistance Spot Welds." ASTM STP 1211, Advances in Fatigue Life Prediction Techniques,

M. R. Mitchell and R. W. Landgraf, Eds., pp. 169 - 185, ASTM Philadelphia, 1993.
z Heyes, P., Dakin, J. and StJohn, C. "The Assessment and Use of Linear Static FE Stress Analyses for Durability Calculations." SAE Technical Paper

951101, 1995.

I have never worked in aerospace, but I recently had a look inside a old helicopter that was on public display.
In addition to rivets, what was either a caulking or an adhesive appeared to have been used between some ribs
and the outer shell. This may prevent corrosion in the gap, and help reduce vibration and fretting or galling. If
it is purely a soft caulking, it might be ignored in FEA, but if it functions as an adhesive, the load on the rivets
is probably reduced. Presumably the manufacturer has standards for this type of design.
Tip 42: Use QUERY to Check Results with Picking

http://www3.sympatico.ca/peter_budgell/ANSYS_tips.html

7/13/2009

ANSYS Tips and ANSYS Tricks

Page 34 of 34

In /POST1 the "Query Results" capability applied to nodes makes it easy to check on results (stresses, strains,
deflections, etc.) by picking nodes. To see an image of this in action Click to See Image and use your browser's
Back button to return. For the shell element illustrated, the result will be reported for the Top, Middle, or
Bottom, according to how the SHELL command was issued (the usual rules as to what constitutes the Top and
Bottom of a shell element apply). It will do this even if PowerGraphics is active for the plot on the screen. Note
that the nodal stresses are based on averages if more than one element that is connected to a node is selected.
You can inspect the consequence of element selection on nodal stress easily with this feature. The element
query returns only data on energy and error estimation.
Tip 43: Loads on Geometric Entities Overwrite Loads on Nodes and Elements -- Easy Error to Make
My "dumb move of the week" was to retrieve an old model of a beam with redundant supports, change the load
on a node, and re-run the model. I then updated the element table results, and used PLLS to plot the result, as
shown below. This is a plot of top surface bending stress, with gravity loading included. Both applied point
loads and reactions are shown as colored arrows. Stress colors have been gray scaled for printing to a black and
white laser printer. Upon inspection by a co-worker, he noticed that the results were the same as the results the
last time the model was run, under different loading, a month before. What was wrong?
The model database file had been saved with the original loading and results. The original model had the load
applied to the keypoints. I changed the load on a node. When I ran SOLVE, the load on the keypoint
OVERWROTE the load on the node, and I got the old result. When I listed the applied forces with FLIST
before running SOLVE, I saw my modified loads. When I listed the applied forces with FLIST after running
SOLVE, I got the OLD loads on the nodes. The same principle applies to loads on lines, areas, and volumes.
Presumably, it happens with applied displacements, also. Since loads on geometric entities cannot be scaled,
there may be little reason to keep the loads on geometric entities after these loads have been transferred to
nodes and elements, EXCEPT when meshing may be changed in the future. The use of components is an
alternative way to select parts of the model for loading.

Suggestion: The user should add a warning annotation stating that loading is on geometric entities, before
archiving a model. Should ANSYS add a warning message about SOLVE transferring loads from geometric
entities, which requires user acknowledgment?
A potentially dangerous mistake -- watch for it!
Tip 44: Use Components for Load Input, and for Results Review
A user-written input file could be used to apply loads to components that the user has defined. An even more
convenient use for components is for reviewing stresses due to a load. The components can be called up and
stresses plotted without the need to do m

http://www3.sympatico.ca/peter_budgell/ANSYS_tips.html

7/13/2009

Anda mungkin juga menyukai