You are on page 1of 54

ANSYS Tips and ANSYS Tricks

h p://www3.sympa co.ca/peter_budgell/ANSYS_ ps.html

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 Op miza on Introduc on Page FEA Modeling Issues Page

The ANSYS manuals explain many things and give some examples, but they do not give many ps to the user. Here is a collec on of things I have noted or learned. (Use at your own risk...) Necessity is the mother of inven on, 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 conversa ons. The comments in these pages are based on my experience with ANSYS 5.0 through ANSYS 5.3. I hope these ps will shorten your learning curve. An analyst frequently does not have a mentor for guidance, so considerable eort can be needed to deduce how to accomplish some tasks. ANSYS users need to spend a generous amount of me 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 verba m... understand why it works, and whether my comments are in error or inappropriate for your situa on, before employing any of these sugges ons. The teaching of FEA at the academic level is intended to educate the mind, teach how FEA methods are derived from rst principles, and to develop students who can invent and code new elements, test their behavior, write research or industrial quality so ware, and apply it to dicult academic or research problems. Some professors feel strongly that the purpose of an undergrad course in FEA is further educa on in how applied math, engineering, con nuum 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 crea vity, learn quickly, problem solve be er, be more innova ve, 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 signicant. 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 universi es, 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 par cular so ware package, and how to perform basic analysis types. Some instructors pepper their presenta ons with ps, but the a endees may be drowning from informa on overload. Li le 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, coworkers, or other users, and substan al reading, thought, trying examples, and tes ng techniques on the part of the analyst. I hope that these pages will provide some helpful details.
CONTENTS:

1 of 54

1/17/2009 11:41 AM

ANSYS Tips and ANSYS Tricks

h p://www3.sympa co.ca/peter_budgell/ANSYS_ ps.html

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 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

2 of 54

1/17/2009 11:41 AM

ANSYS Tips and ANSYS Tricks

h p://www3.sympa co.ca/peter_budgell/ANSYS_ ps.html

Tip 70: Solid Elements 95 and 92 -- Efficiency and Interconnection

Tip 1: Use Annota ons: Only a oneline tle is possible on the ANSYS screen or plot. Considerably more informa on can be included in annota ons on the screen. The annota ons are kept through all plots un l they are deleted with the command: /ANNOT,DELE or via picking with the graphical user interface (GUI). At the top of the Annota on dialog box, there is a list box from which the user can choose Text, Lines, etc., on down to Controls. These selec ons bring up dierent menus. The Controls selec on oers a SNAP se ng that makes it much easier to get the text aligned nicely. (Hint: ANSYS, Inc. should put this SNAP selec on up front under Text, or even on every menu.) Ac vate the Snap se ng, then go back to Text to enter the annota ons. Tip 2: Making Room for Annota ons: The /PLOPTS command controls what goes into the legend at the right (by default) side of the ANSYS screen and plot. If you turn o LEG2 (the rela vely useless "view" informa on), you will get extra room at the bo om of the legend. This area can be used for annota ons if the number of contour levels in stress plots is not too great (the default is ne). Tip 3: Using Parameters in Annota ons: Just as in a tle created with the command /TITLE, ANSYS permits the use of a parameter in an annota on, as discussed in the Commands Manual descrip on of the /TLABLE command. When typing the annota on 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 plo ed in the annota on string. The ANSYS func on NINT can be used to round a number the nearest integer, some mes improving the appearance of the annota on for large numbers in which the frac onal part is irrelevant (e.g. NINT(123.456789) = 123 ). For this, the parametric expression should be enclosed in percent signs. Annota ons are usually created in the GUI, but can be entered with code like that shown below. Entering a single annota on line containing Result = %pname% generates log le 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 posi oning on the screen, and the proper es of the characters. To apply the NINT func on to the parameter, manually enter Result = %NINT(pname)% as the annota on:
! 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)%

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 annota on will automa cally update to reect the new value! Try it: a er crea ng an annota on on the screen that includes a parameter, change the parameter's value, then do a /REPLOT. Running a macro could get informa on that goes into the parameter that a /REPLOT will automa cally put it on the screen. This makes it possible to automa cally include far more informa on than can go into the tle, and to do it for a series of automa cally generated plots or graphs. Tip 4: Use Small Annota ons: The default character size se ng for an annota on is 1. The size of an annota on can be decreased using the GUI. A size of 0.6 is quite readable and permits far more informa on to be packed into a plot. Note that there is a limit to the number of characters possible on an annota on line this is character size independent.

3 of 54

1/17/2009 11:41 AM

ANSYS Tips and ANSYS Tricks

h p://www3.sympa co.ca/peter_budgell/ANSYS_ ps.html

Tip 5: Mathema cal Func ons Available: Under the Help lis ng for the *SET command there appears lists of mathema cal func ons 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) ACOS(X) ASIN(X) ATAN(X) ATAN2(X,Y) Absolute value ArcCosine ArcSin ArcTangent ArcTangent of (Y/X) with the sign of each component considered (see a FORTRAN manual if you don't know what this means.) Cosine Hyperbolic cosine Exponen al Random sample of Gaussian distribu ons where X is the mean, and Y is the standard devia on. Might be used in a Monte Carlo Simula on to explore the distribu on of outputs based on randomized loadings and material proper es. For an explana on, see a good modern engineering design textbook. Natural log (to base e) Log (to base 10) Modulus (X/Y), it returns the remainder of X/Y. If Y=0, returns zero (0) Nearest integer (nice for outputs of stresses to /TITLE or annota ons (see Tip 3 above)) Random number, where X is the lower bound, and Y is the upper bound. (Useful for Monte Carlo Simula on, etc.) Absolute value of X with sign of Y. Y=0 results in posi ve sign. Sine Hyperbolic sine Square root. Tangent Hyperbolic Tangent

COS(X) COSH(X) EXP(X) GDIS(X,Y)

LOG(X) LOG10(X) MOD(X,Y) NINT(X)

RAND(X,Y)

SIGN(X,Y) SIN(X) SINH(X) SQRT(X) TAN(X) TANH(X) Note:

The func on form of the *GET commands can also be used to get informa on from the model see the APDL guide men oned above for a lis ng of available func ons. The APDL guide also gives func ons to retrieve the values of parameters, both numerical and character. The *VFUN command has a list of func ons that act on an array entry. The Commands manual lists func ons that act on Element Tables in the sec on "POST1 Command for Element Table". Crea vely used, the array and ETABLE algebra

4 of 54

1/17/2009 11:41 AM

ANSYS Tips and ANSYS Tricks

h p://www3.sympa co.ca/peter_budgell/ANSYS_ ps.html

commands can be surprisingly powerful. Tip 6: Start 16Bit Applica ons before Star ng ANSYS under Windows NT: It has been my experience that some large commercial 16bit applica ons 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 applica ons in the foreground while the ANSYS SOLVE is running in the background, this will be a useful p. I have seen other applica ons start up very slowly (e.g. Internet Explorer) or wait un l ANSYS was done before proceeding (setup.exe for many Windows install programs). Tip 7: Running ANSYS at Low Priority under Windows NT 4.0: Se ng Process Priority in NT Under Windows NT 4.0 the priority level of individual processes can be useradjusted. 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 tled "ANSYS.EXE", and "Set Priority >" comes up. Set the priority to "Low" to help make foreground applica ons 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 ANSYS is not slowed down when you start doing plots through the GUI. Tip 8: Opera ng 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 en es (keypoints, lines, areas and volumes) seems not to be available. If any load on your structure has been applied to a geometric en ty, rather than directly to elements or nodes, that load will be transferred to the elements and nodes at solu on me. The transfer will overwrite any scaling of loads that you have applied. (Guess how I gured this out!) So what can you do about this? Method 1: Transfer the loading from geometric en es to the elements and nodes, then write a load step le. This records loading on elements and nodes. Delete the loading on geometric en es, then read the load step le that was just wri en. 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 wri ng a load step le. Method 3: Transfer the loading from geometric en es to the elements and nodes, then delete the rela onship between geometry and the FEA mesh with the MODMSH,DETA command. Method 4: Transfer loading from geometric en es to the elements and nodes, then unselect the geometric en es, before execu ng SOLVE. The element and node loading can be scaled a er it has been transferred from geometric en es. An unselected geometric en ty will not transfer its loading to elements or nodes when SOLVE is executed. Warnings: Method 3 ruins the rela onship between geometry and the mesh. Save the model under an appropriate le name before execu ng MODMSH,DETA. Method 4 is ne, as long as you do not forget and reselect the geometric en es ALLSEL will do this. Scaling displacements (nodal constraint values) is also possible. One thing that has not worked for me is an a empt 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 mul plied displacements by a factor of roughly 10^(31) and reduced loads to

5 of 54

1/17/2009 11:41 AM

ANSYS Tips and ANSYS Tricks

h p://www3.sympa co.ca/peter_budgell/ANSYS_ ps.html

virtually zero. A empts 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 accelera on 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 deforma on that results from plas c 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 dele ng it (zeroing it), for the purposes of ramping loads. The me substep sizes to use will depend on your model. Se ng displacements to zero or near zero is, of course, very dierent from dele ng constraints. Tip 10: Star ng ANSYS Graphs at t=0 Graphs start at the rst data point, which means that if you do a mehistory trace, you don't get a t=0 data point. If you leave me 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 rst load step with "t" extremely small, in comparison to other mes in the analysis, e.g. t=0.0000001. The load at this me 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 con nues 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 the nodes that the FEA program applies will be appropriate given the formula on of the elements. If you want to apply a total force to the line, you can use a *GET command to nd 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 a ached to the line. If two areas are a ached at 90 degrees or another angle, two loads are set up, ac ng in each of the area plane direc ons. You can use select logic on the areas to get some interes ng eects as to the direc on in which the applied forces act, but only if both areas are meshed, and the elements are selected. If you unselect one of the areas, pressure on the line will only be exerted in the direc on of the area that is selected. The select logic must s ll be in place when you SOLVE, or else your carefully cra ed load case can be overwri en. As above, transferring loads from geometric en es to nodes and elements, wri ng them as a load step, dele ng all the loads on geometric en es, and reading in the load step will protect your load case, and make scaling the loads possible. Alterna vely, 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 orienta on in space, even under Large Displacement. This dierence 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 rst load step with all the loads at their star ng 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 rst load step. Then set up a second load step, with ramping ac vated. Change those loads to be ramped from their star ng 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 applica on of a gravity load before other loads are to be ramped up from zero. In some cases, this could give a more realis c 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 prac ce in your industry.) Applying gravity rst can give much be er convergence when assessing the eect of thermal expansion moving structures across fric on contact elements, where the normal

6 of 54

1/17/2009 11:41 AM

ANSYS Tips and ANSYS Tricks

h p://www3.sympa co.ca/peter_budgell/ANSYS_ ps.html

load on the contact elements is caused by gravity. I suspect that this is not possible with the ArcLength method. I have not experimented with it, but do not see how controlled ramping of only some loads could be implemented under ArcLength 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 outofplane deec on of a at plate or shell is greater than half the thickness, then membrane forces start to become signicant in resis ng the applied load. In ANSYS, this calls for ac va ng a Large Displacement solu on (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 situa ons, a Large Displacement solu on (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 eld is developed in a web, and elas c buckling failure does not develop at the rst eigenvalues predicted. In other structures, buckling failure may occur before the rst eigenvalue, and only nonlinear analysis will predict this. Linear eigenvalue buckling has to assume that gap and contact elements are either closed and ac ve, or open and inac ve. Nonlinear analysis will follow the eects of these elements as they go in and out of contact, when the loading is applied. A er any Large Displacement nonlinear elas c buckling analysis (if it doesn't diverge), see whether the elas c stress limits have been exceeded (this includes the surfaces of shell elements, and be careful that nodal averaging does not hide anything). If signicantly 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 elas c Large Displacement analysis without contact and gap elements, the user may want to consider a Southwell plot. If elas c stress limits are exceeded in the Large Displacement model, it may be desirable to do a combined Large Displacement and Plas c Deforma on model. If the structure is overloaded, it may begin to collapse (perhaps only locally), and the ArcLength method may be needed for convergence control. A need to strengthen the structure may be predicted or iden ed. The material proper es to use are applica on domain and industry specic start by talking to your coworkers, supervisor, and suppliers.

Tip 15: Nonlinear Analysis and the ArcLength Method: The basic way to do nonlinear analysis in ANSYS is to use NR itera on and many default se ngs. At mes, convergence will become a problem; I've encountered this with shell structures under compressive stresses. The arclength method can some mes cope be er with nonlinear solu ons, because of its ability to follow force deec on curves that rise and fall. Be prepared for long run mes if your model is large.

7 of 54

1/17/2009 11:41 AM

ANSYS Tips and ANSYS Tricks

h p://www3.sympa co.ca/peter_budgell/ANSYS_ ps.html

My experience with the arclength method is that in its default se ngs for step size mul pliers, it does not give sa sfactory results when compressing some shellbased models. What may work is to set a number of me substeps, such as 10, so that each substep is 1/10 of the load step. Set the ArcLength maximum mul plier MAXARC to 1.0 so that no substeps larger than 1/10 of the load step are taken. Set the ArcLength minimum mul plier 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 se ng, but my experience to date suggests that one should not get greedy with MAXARC. Obviously, you may want to play with the number of me substeps. The solu on may s ll diverge but it is likely that you will get more informa on than without arclength analysis. You will want to set a termina on condi on for the analysis if buckling is expected to result. I nd it desirable to save the results at every me 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 Arclength control, the TIME value on the ANSYS plots shows the decimal frac on 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 frac on will fall, even though some displacements are visibly ge ng larger. As men oned above, something I have not tried is to get the Arclength solu on 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 addi on to other applied loads, and the physical realism of the model may be aected. Tip 16: Anima ng 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 anima on, rst run your analysis with loads ramped up, and a number of substeps. Have all substeps wri en to the results le. 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 anima on window to appear (most screens will have lower resolu on than a CAD worksta on), keeping the aspect ra o correct. Smaller graphics windows result in smaller anima on les, if size ma ers. Anima on les under Windows NT (AVI les) from ANSYS o en compress very well for storage purposes. Use the PlotCtrls menu selec on on the U lity Menu, and choose Animate to get a submenu of choices. Choose "Dynamic Results" to create an anima on of your saved load substep results with the me shown in the legend. This seems to work only for the last load step (read the ANSYS macro). The resul ng AVI le 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 pa ern or deforma on as nonlinear eects take over the model. In anima ng a changing stress or other contour plot, you may wish to specify the contour levels before genera ng the anima on le. View the load step or substep with the worst results as part of deciding where to set the contour levels.

8 of 54

1/17/2009 11:41 AM

ANSYS Tips and ANSYS Tricks

h p://www3.sympa co.ca/peter_budgell/ANSYS_ ps.html

I have not found that any of the ANSYS supplied anima on macros do the one simplest thing I want. Usually I want to animate every substep of every load step stored in the results le. 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 table data. If stresses, strains, or other data with amplitude informa on are to be plo ed, the user may want to x the contour map levels ahead of me. The user will want to set the displacement amplitude scaling with /DSCALE in advanceautoma c scaling will not be sa sfactory. In general, it may not be sa sfactory to have /ZOOM,OFF ac ve, since the view will change if plots of signicant deec on are included in the anima on. Manually se ng a view may yield a be er anima on. Modify this macro as you wish. This macro must be called from within /POST1. The le 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 alterna ve to this macro could step through all substeps on the RST le 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 reset to 1 when the anima on 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 automa cally plo ng all mode shapes. The user would then not need to specify the number of substeps to plot, improving the automa on, and le ng the solver use variable substep sizes without the user having to check on the number of substeps that resulted. Tip 17: Ge ng the Mass or Weight of a Model:

9 of 54

1/17/2009 11:41 AM

ANSYS Tips and ANSYS Tricks

h p://www3.sympa co.ca/peter_budgell/ANSYS_ ps.html

A reader has been helpful by poin ng point out that mass (or weight, depending on your units) of keypoints, lines, areas, or volumes in a model can be retrieved, when a ributes have been assigned to these en es, 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" respec vely. If no a ributes have been assigned to the geometric en es, unit densi es are assumed in repor ng mass and center of gravity informa on. A er the execu on 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 a ributes) or the volume of a "volume". The volume of a series of areas or "volumes" can also be retrieved with the *GET command a er a "sum" command is used. The *VGET command can also be used, where appropriate, in retrieving informa on made available a er 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 solu on of a problem. The user can run a par al 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, selec ng elements for each material type. Get the volume of those elements, and mul ply 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 densi es in the material deni ons) 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 3D), applying 1 g ver cal, having constraints on ver cal mo on, running SOLVE in a linear analysis, and nding the ver cal reac on force. In such a run, a combina on of the FSUM (select ver cally restrained nodes only, with all a ached elements) and *GET commands in /POST1 might help you to get the weight into a variable. However, a par al 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 Op miza on. The op miza on examples work to reduce model volume, not weight. Tip 18: Using Fnc Calls from Macros: Before using macros for the rst me, read about the *USE command in the ANSYS Help manual, in addi on to other relevant parts of the ANSYS manuals. The *USE command help discusses the macro calling parameters and their local scope. Note a slight dierence in calling parameters AR19 and AR20 when the *USE form of a macro call is used, versus the "unknown command" form. There are mes when calls from macros directly to the Func on form of an ANSYS command will be the only way to get the func on called with picking. It may be desirable to sent the user a message that explains why the picking has been requested. The func on 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. Tip 19: Use ENSYM and ENORM to Turn Over Shell Elements: ANSYS has two commands, ENSYM and ENORM, for reorien ng shell elements so that a set of shell elements can all have their "top" surface face the same way. This makes applica on of pressure, contact elements, and review of results more feasible. This orienta on should be done before running SOLVE; the results are not reoriented in the database when these commands are applied, nor in the results le, so if the elements are reoriented a er 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 a ached to areas, as well as with independent shell elements. Note: If you clear the elements a ached to an area, then remesh, the new elements will have the same orienta on as the area. (Hint: ANSYS ought to do this reorienta on for Areas, making it easier to pressurize

10 of 54

1/17/2009 11:41 AM

ANSYS Tips and ANSYS Tricks

h p://www3.sympa co.ca/peter_budgell/ANSYS_ ps.html

the interiors of containers dened with shell elements.) See HELP,ENSYM for informa on on what this command will do. ENSYM can be used to "ip over" a shell element so that the opposite side (Top or Bo om) is showing. To do this would require reversing the node order in the database so that Face 1 (Bo om) and Face2 (Top) get switched. For more powerful capabili es in reorien ng shell elements, see HELP,ENORM. This command will search outward from a chosen element that the user considers "correct", reorien ng a connected set of shell elements so that they face the "same way" (this takes some interpreta on), even working around corners. It searches elements from the selected set of elements, un l it hits the edge of the model, or un l two or more elements are a ached to one element edge. The user should experiment with this command in order to understand exactly what it does, and inspect the model thoroughly a er ENORM is applied, to verify that the results are as desired. The correct use of ENORM can make the applica on of pressure or contact elements to a complex model substan ally 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 plo ng 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 dierent 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 Elas c), Shell 43 (for Plas c), Shell 93 (8Node, for Elas c & Plas c), Shell 143 (for Plas c), and Shell 181 (for Plas c). The Revision 5.4 for ANSYS will include a bug x for a Shell 181 problem. Shell 143 is no longer supported, but is s ll embedded (hidden) in Revision 5.3 of ANSYS for compa bility 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 at, and can make a mess of a general curved surface under free meshing.) Shell 93 gave me good convergence for both elas c and plas c 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 llet 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 ra o warnings. (Lack of warnings is not a complete guarantee of acceptable element shapes.) If the structure has pressurized at surfaces, Shell 93 o en converges be er when stress s ening is ac vated for Large Displacement analysis. Stress s ening for Shell 93 is ac vated at the solu on phase of the analysis, whereas Shell 63 is (apparently) only stresss ened by se ng one of the KEYOPT values. (I have obtained dierent Large Displacement convergences with Shell 63 with no stresss ening set, with the KEYOPT stresss ening set, with stresss ening set in /SOLU, and with stress s ening 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 elas c analysis, so models can be moved back and forth. When forcing mapped meshing of curvesided Shell 93 elements on a plane area by concatena ng perimeter lines, I have occasionally had midside nodes created, in the interior of the area, such that there was too much element curvature distor on in the plane of the element. One x is to have the elements created with the sides straight, which is tolerable if the elements are at, and if it does not cause trouble on the perimeter of the plane area being meshed. "Trouble" here means poor representa on of curved boundariesother elements on these boundaries may need to curve to follow curved surfaces, or it may be desired to have a curved t to an outside edge. If at element sides cause trouble on the perimeter, then start by meshing areas on the other side of the perimeter with elements that have curved sidesthese 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 be er 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 inten onally extreme example. In the rst image, a line plot of element edges shows extreme distor on in the plane. An intended hole is meshed with triangles. All these elements are Shell 93, having midside nodes.

11 of 54

1/17/2009 11:41 AM

ANSYS Tips and ANSYS Tricks

h p://www3.sympa co.ca/peter_budgell/ANSYS_ ps.html

In the second image, meshing with midside nodes posi oned on straight lines is being chosen.

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

In the fourth image, the elements bordering the hole are shown, a er the hole has been cleared of elements. The element curvature at the hole is visible. The interior of the plane area is meshed with straightsided elements. The same problem and a similar x can be encountered with midside noded SOLID95 brick elements that have 20 nodes. The surface areas of a volume can be meshed with 8node 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

12 of 54

1/17/2009 11:41 AM

ANSYS Tips and ANSYS Tricks

h p://www3.sympa co.ca/peter_budgell/ANSYS_ ps.html

surface areas, but with straight sides in the interior. There are rare occasions when this will eliminate element distor on warning messages.

Tip 21: Moving a Model from ANSYS Mechanical to ANSYS Linear/Plus: Because versions of ANSYS sell for dierent prices, a company may own one version to be used for nonlinear models, and several licenses for linear work, or just for model crea on 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 diculty 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 limi ng 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, coordina on of loading with the numbering expressed in load step les is lost. The way around this that I have used is to read in the original database, read in a load step le, compress the numbering, and write the load step le. The process, reading in the original database, must be repeated for every load case (a macro could be wri en to automate this.) Finally, the original database is read in, numbering is compressed, and the new database is wri en. 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 en es does not exceed ANSYS Linear/Plus limita ons, 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 func on 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 sa sfactory, a user could use CDWRITE to write out the element and node model and other model data to a le (the DB op on), then manually clean up the le so that the earlier version of ANSYS could accept it.

13 of 54

1/17/2009 11:41 AM

ANSYS Tips and ANSYS Tricks

h p://www3.sympa co.ca/peter_budgell/ANSYS_ ps.html

This includes modifying commands for element crea on, a er deducing what format is needed. Wri ng the element data with EWRITE then cu ng and pas ng with the CDWRITE le may be easier I haven't tried it. A userwri en program can expedite cleanup for a large model. Tip 22: Dele ng Nodes that have Nodal Coupling: When dele ng a set of nodes for which some were members of coupled node sets, delete the coupling equa ons BEFORE dele ng the nodes. Otherwise, unwanted coupling equa ons may be ac ve if you create more nodes. The coupling equa ons are not automa cally deleted when the nodes are deletedis this a bug? Select the nodes to be deleted, then delete node coupling equa ons for which any nodes are selected, then delete the nodes. (You will have had to rst delete the elements.) Clearing solid model en es is the same as dele ng the elements and nodes simultaneously. I nd 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) Plas c Material proper es are the obvious types. In addi on, nonlinear solu ons 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 elas c", 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 nite element model, it helps to have a computer with an extremely fast CPU, large RAM, large hard drive, and fast hard drive data transfer (highspeed 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 (plas city). Shell 43, Shell 143, and Shell 181 are capable of both Large Displacement and material nonlinearity. These four elements are 4node quad elements. ANSYS also has an 8node 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 solu ons. I will restrict my comments to the basic shell elements: 63, 43, 143, 181, and 93. The elements should have acceptable aspect ra os, 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 par al solve (Par al Solu in the GUI), only genera ng the element matrices, and ge ng warnings (if any) and other informa on in the ANSYS Output window. If a Large Displacement solu on is chosen, some solu ons are improved by se ng Stress S ening before running the solve process. Stress s ening for elements 63, 43, 143, and 181 can (apparently) only be set with one of the KEYOPT values (Keyopt(2)) for the element (see Op ons when using Add/Edit/Delete to add element types with the GUI). Some beam elements are like this, too. It apparently (I nd the manuals dicult to interpret on this) can NOT be set within the Solve module, even though the GUI has a selec on box for Stress S ening. However, I seem to have had convergence dierences with Shell 63 with stresss ening set and not set in the solve module. For Shell 93, stress s ening IS set within the Solve module, by choosing it under Analysis Op ons in the GUI (SSTIF). The use of stress s ening for convergence improvement is contraindicated by some condi ons such as the substan al use of nodal coupling or nodal constraint equa ons... 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 solu ons (both Large Displacement and plas c) to converge when substeps are being used is to ac vate 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 se ngs that can be tried when a empts at convergence are not working. I usually s ck to le ng the program decide how to use NewtonRaphson itera on and adap ve descent in the Solve module. Under the Nonlinear se ngs of the GUI, the user can modify the Convergence Criteria. I o en use only convergence on

14 of 54

1/17/2009 11:41 AM

ANSYS Tips and ANSYS Tricks

h p://www3.sympa co.ca/peter_budgell/ANSYS_ ps.html

forces (not moments) when analyzing shells if I am not inpu ng any moments directly. I usually reduce the number of Equilibrium Itera ons 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 Itera ons. I rarely try Line Search. Making a good choice of me substep sizes is cri cally important in ge ng models to converge. If shell models of at plates subjected to pressure or perpendicular forces are included in the analysis, the shell will at rst act as a at 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, star ng 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 rst substep, but allow the largest substep to be as large a frac on 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 mesteps will be needed toward the end of the force applica on ramp. Where there is no pressure or perpendicular force on at 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 addi on to me substep size will need considera on. If the structure is buckling or undergoing plas c failure, or "simply will not converge" it may help to use the ArcLength method. As I have noted elsewhere, I don't use the default ArcLength se ngs. I usually start with a number of substeps (NSUBST), and don't let the ArcLength solver increase the size of a step beyond my maximum substep size. I let the ArcLength solver use a minimum step size that is 1/10 or 1/100 of my substep size. I let the ArcLength solver use a maximum step size mul plier of one. The ArcLength method can follow a rising and falling forcedisplacement rela onship. I nd PlotCtrls/Animate/Dynamic_Results to be useful in reviewing the behavior during an ArcLength analysis, and other nonlinear analyses. I prefer to save the results at every substep when doing this (Output Ctrls). When using ArcLength 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 automa c me stepping, and in the NSUBST command, allow the program to bisec on by se ng 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 plas c deforma on, and having trouble with convergence, consider a study in which you do (1) an elas c small displacement analysis as a check on element shape, loading, and constraints, (2) a Large Displacement elas c solu on, and possibly (3) a plas c small displacement solu on. If these work without signicant warning messages, you should be making some progress. If gap or contact elements are being used, consider (4) so ening the normal and tangen al s ness 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 nd what se ngs help you to get convergence or discover modeling problems before you do more meconsuming accurate analysis. If you are trying a new technique, consider tes ng it on a toysized problem, before applying it to a large industrialsized problem that runs for hours or days, in order to learn the peculiari es and pi alls of a par cular meconsuming method. If gap or contact elements are the only nonlineari es in a model, consider substructuring the linear regions of the model. This can result in a tremendous increase in solu on speed. If only a subregion of a model will behave in a nonlinear manner, it may reduce solu on me to substructure the region that can be regarded as ac ng in a linear manner. This speedup eect or may not occur with large displacement modeling, when the substructure itself will be undergoing large displacement I have done only limited tes ng 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 les can be used to automate the applica on of a number of dierent load cases on a structure. A load step le contains loads on elements and nodes. It does NOT contain loads on geometric en es. Consequently, a load step le can be generated a er all loads from geometric en es have been transferred to a model. A er all loading on geometric en es has been deleted, the load step le can be read back in, recovering all applied loads. Alterna vely, consider the "LSCLEAR,SOLID" command. These loads can then be scaled.

15 of 54

1/17/2009 11:41 AM

ANSYS Tips and ANSYS Tricks

h p://www3.sympa co.ca/peter_budgell/ANSYS_ ps.html

The user needs to be careful when manipula ng load step les. The load step les may contain the KUSE instruc on telling ANSYS to reuse the TRI le if the constraints have not changed. If the user deletes a load step le, changes the order of their execu on, or manually modies their contents, invalid analysis might result. If the model is renumbered a er load step les are generated, the node and element numbers in the load step le will no longer be synchronized with the model, and will be invalid. A way around this is men oned 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 loads and resets all load step op ons to their defaults. This can "clean up" the load step data before using LSREAD to read a load step le for modica on. What this implies is that the load step execu on process does NOT execute an LSCLEAR command when a load step le is read in. If it did, then ANSYS would have to implement substan al checking to see whether a TRI le was safe to reuse, under the frontal solver (TRI le reuse saves considerable me). Load step implementa on can cause havoc when the user employs load step les in a manner for which the method was not designed. It may help to read the contents of the LSSOLVE.MAC macro in predic ng 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 en es before reading in load step les. 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 le (it does clear some... read the manual). When using load step les: If loads on nodes and elements are set with BF and BFE commands (for example applying temperatures for a thermal deforma on 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 dele ng 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 loca ons on an element with BFE, and in a later load step set the value at only two loca ons within an element, the temperature at the other two loca ons will s ll be "hanging around" at the previous value. It is very easy to make this mistake when running a series of load step les. (Another thing I found out the hard way, in a model where both piping crea on commands and beam elements were used.) If the user is dele ng displacement constraints using DDELE, and then wri ng an addi onal load step le, the old constraint may s ll be present when the series of load step les is read in under LSREAD; check for this in your results. Be careful with this. It may compromise the use of load step les, or require some interven on like wri ng an input le that calls load step les in using LSREAD, implemen ng xup commands as needed be careful that a TRI le is not reused because a load step le contains "KUSE,1" when your changes to constraints mean that a new TRI le should be generated. Statements in the LSSOLVE.MAC macro can provide guidance on using LSREAD eec vely. You may need to look inside the load step les with a text editor. Be warned that changing the contents of load step les with a text editor can be tricky because of unintended sideeects. 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 genera ng the load step les in the rst place, and may apply when reading in load step les 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 ge ng 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 inbetween loads. Before reading in load step les to solve with LSREAD, ensure that loads on geometric en es and elements and nodes have been deleted, unless you are keeping them inten onally (as noted, loads on geometric en es

16 of 54

1/17/2009 11:41 AM

ANSYS Tips and ANSYS Tricks

h p://www3.sympa co.ca/peter_budgell/ANSYS_ ps.html

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 les, the NLGEOM ag must be set in the rst load step le. There will be no NLGEOM command generated in subsequent load step les. 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 les. Tip 25: Plo ng Shell Stresses Surface, MidPlane 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 bo om surfaces of the shell element. The user can has four op ons in ANSYS 5.3 for plo ng shell stresses (and strains). Three of them are selected with the commands: "SHELL,TOP" , "SHELL,MID" or "SHELL,BOT". These will cause plo ng of shell stresses (and strains) to be based on the values at the top surface, midplane, or bo om surface of each shell element. This is a bit misleading. The midplane stress is based on the average of the stresses at the top and bo om (this may not be correct, at least for some elements, considering Sec on 2.3.4 of the Theory manual, which refers to stress on the midplane of a shell element separately from the top and bo om, and forms the force per linear unit from a weighted average of top surface, midplane, and bo om surface stress what's going on here?). What cons tutes the top and bo om of a shell element depends on the element's orienta on when it was dened (see elsewhere in these pages). It is possible to have adjacent elements, one with a "top" surface poin ng upward, and its neighbour with the "top" surface poin ng downward. In complex structures it happens all the me. If nodal averaged plots are done, for example with "PLNSOL,S,EQV", when either top surface or bo om surface plo ng is chosen, then with such adjacent elements, the plo ed top surface and bo om surface results will get blended, causing a misleading mess to be displayed. (See Tip 19 for commands that can reorient shell elements.) More insight into the ow of stress in a model can be gained by plo ng the stress vectors, using the "PLVECT,S" command. With shells, these vectors will be plo ed for the midplane principle stress components. At mes 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 intersec ons of planes of shell elements, e.g. corners or "Tee" intersec ons, or where elements of diering thickness meet, the averaging of node stresses can render local stress plot informa on meaningless at the intersec on. This is true of both surface and midplane stress plots. This is one way in which excessive stresses will be uninten onally missed. Any me that nodal averaged plo ng 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 op on in plo ng shell stresses is to switch on the ANSYS Powergraphics feature. This causes shell results to be displayed, even averaged, for the visible surface. Op ons ac vated with the AVRES and /EFACET commands can rene the way the results are plo ed under Powergraphics (look them up). Powergraphics has the op ons to discon nue the averaging of stress contours where there are certain discon nui es 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 fa gue or other damage, such as cracking, or a weld being torn apart. The only shortcoming is that Powergraphics will not work with midplane stress. The user has few op ons here. Some mes it is important to select only regions of a model when doing nodal averaged midplane stress plots (using "SHELL,MID", without Powergraphics) so that the averaging does not wash anything out. A midplane 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 alterna ve I used is discussed elsewhere in these pages: I wrote a macro to get the midplane averaged stress (all components) at every node of every

17 of 54

1/17/2009 11:41 AM

ANSYS Tips and ANSYS Tricks

h p://www3.sympa co.ca/peter_budgell/ANSYS_ ps.html

element (a given node has dierent results with reference to each of the elements to which it is a ached, so a given node will be looked up as many mes as the number of elements to which it is a ached), and transfer it to the top and bo om surfaces, so that Powergraphics would plot midplane averaged stress neatly, with discon nui es. CAUTION: This ruins the results database. The macro is extremely slow to run. The method (under Powergraphics) does, however, give far be er looking plots than using the "PLESOL,S,EQV" command to plot midplane element stresses without nodal averaging (without Powergraphics).

LOAD PATHS: The macro I men on above could be modied to mul ply the midplane averaged stress components by the local shell element thickness at each node. The resul ng values would yield a contour plot of force per linear inch (or other dimensional unit) "averaged" at the midplane 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 loadperunitlength on the midplane and show the principal direc ons in which it points, helping to illustrate the load paths. This macro would also ruin the database for any other use. Before plo ng "loadperunitlength" data, the user needs to decide how to orient the results data coordinate systems with RSYS for informa on such as Sx or Sy that contains direc on informa on (stress and strain with EQV does not contain direc on informa on). Note: The Output Data sec on on Shell63, Shell43, and Shell93 includes Inplane 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 resolu on of one value per element. (For Shell63, 43, and 93, use SMISC se ng 1, 2, or 3 when genera ng the element table data.) The Theory Manual uses the term Inplane 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 plo ed, but there are no principal stress style vector plots of table data. (Clarica on: PLVECT can plot vector arrows based on 3 ETABLE columns, but not the doubleheaded 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 informa on can be extracted at the midplane. Their value is extracted with the component name method. Brief experimenta on shows that if the command "SHELL,MID" is followed by "ETABLE,SEQVMID,S,EQV" that the column called SEQVMID will contain an average SEQV value for the midplane. 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 plo ng ETABLE shell element element table data with PLETAB the plot informa on legend will read TOP, MID, or BOT according to the current se ng of the SHELL command. This bit of informa on DOES NOT reect the SHELL surface se ng condi ons in eect when the ETABLE data was stored, and could be misleading. For this reason, the label used for the column should indicate the shell layer se ng in use when the element table data was loaded, as with "SEQVMID" above. Doing an element table update with ETABLE,REFL will rell columns with results data. A change of the SHELL layer se ng 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

18 of 54

1/17/2009 11:41 AM

ANSYS Tips and ANSYS Tricks

h p://www3.sympa co.ca/peter_budgell/ANSYS_ ps.html

explicitly recalculated. NOTE Also: The direc on of the element table loadperunitlength 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 insensi ve to the RSYS se ng. The Element Coordinate System will vary orienta on from element to element, par cularly under free meshing, and aects 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 "loadperunitlength intensity" in the sense of a Mohr's circle, giving rapid if somewhat coarse plots of load path informa on along the shell midplane. The plots will usually be more informa ve without nodal averaging. Sec on 2.3.4 of the ANSYS Theory manual discusses Forces and Moments per unit length on shell elements the sugges on is that internally, at least for some shell elements, the midplane stress is NOT simply the average of the top and bo om stresses. The way around the problem of element coordinate systems being arbitrarily oriented is to dene local coordinate systems before meshing areas (or otherwise genera ng shell elements) and use ESYS to get all shell elements oriented with the local coordinate systems. ESYS assigned to elements can be modied a er 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 at area to be meshed with shell elements so that all shell element coordinate systems can be aligned in the plane of the area a me consuming process unless a macro is used. Curved surfaces would be dicult. The problem of orien ng coordinate systems in the plo ng of results is illustrated by the images below. The rst shows 3 elements that were created during free meshing. The elements are plo ed using vector graphics, with the element coordinate systems shown. Each element has its coordinate system oriented dierently. 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 dierent direc ons.

The next two images show a plot of TX done from an element table. The element table was lled by the TX values for the elements (this is the loadperunitlength in the element coordinate system X direc on). The values dier so much from element to element because of the dierence in the element coordinate systems. The plot consequently tells us too li le. The following element plot of Sx shows the stress in the X direc on. The results are shown in the global coordinate system.

19 of 54

1/17/2009 11:41 AM

ANSYS Tips and ANSYS Tricks

h p://www3.sympa co.ca/peter_budgell/ANSYS_ ps.html

The nal images in this sec on show a group of Shell63 elements that have had their element coordinate systems aligned with local coordinate systems at the me of the crea on 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 crea on if RSYS,SOLU is ac ve when plo ng 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 evalua on of loading on welds. The rst plot with vector graphics shows the elements with their element 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 plo ed. 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 direc on. The second plot with raster graphics is of Sx at the shell midplane. Because RSYS,SOLU was ac ve when the Sx plot was generated, there are Sx values shown in all elements. If RSYS,0 were ac ve 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 direc on in this example.

20 of 54

1/17/2009 11:41 AM

ANSYS Tips and ANSYS Tricks

h p://www3.sympa co.ca/peter_budgell/ANSYS_ ps.html

There is an alterna ve to using ESYS and RSYS,SOLU to align element coordinate systems for the purposes of

21 of 54

1/17/2009 11:41 AM

ANSYS Tips and ANSYS Tricks

h p://www3.sympa co.ca/peter_budgell/ANSYS_ ps.html

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 plo ng 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 midplane shell stresses to the reader to determine. Too much is industry or applica on domain specic. Hint: Check midplane plus both shell surface stresses. Surface stresses and strains can cause local bending, cracking, breaking of protec ve coa ngs, fa gue, 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 equa ons should have been employed. (The nodes concerned were not at the same loca on 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 innitely s structure. Nodal coupling locks together selected degrees of freedom (transla on and/or rota on) individually, so that the same degree of freedom value will result for the nodes in the coupled set. Nodal coupling will not combine the rota ons and transla ons that are necessary to imply rota on as a rigid body in space. Note that rigid region constraint may not be appropriate for Large Displacement, when the displacement rota ons are signicant (sin(theta) diering from theta, etc.). This is because ANSYS uses a linear approxima on to the rigid body rota on matrix. A rigid region grouping can be implied by tying nodes together with extremely s beam elements (zeromass beam elements a few orders of magnitude s er than the structure to which they are a ached.) The beam elements should have the advantage that they work under Large Displacement. The beam elements should not be too s , or illcondi oned matrices could result. If the beams are of very widely varying lengths, then some may be too s , others too exible remember that exibility is propor onal to length cubed. I ran a model in which about one thousand beam elements were used to posi on gap elements. These beam elements would ideally have been innitely s . I needed elements, instead of nodal coupling or constraint equa ons, because of thermal expansion considera ons. The beam elements were widely varying in length. This created solver trouble, un l 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 func on of the element's length. I found it sucient to set their s ness a couple of orders of magnitude s er that contact s ness for the gap elements. Turning on the symbols for nodal coupling and for nodal constraint equa ons is very helpful in reviewing the correctness of a model. Tip 27: Vibra on Modes with Prestress: Calcula on of natural frequencies and modes of vibra on CAN be done with prestressing of the structure under ANSYS. There is a "PRESTRESS" ag to set under modal analysis. This is available in the dialog box for Modal Analysis Op ons. First, do a sta c analysis with the prestress ag set. Exit Solu on (click Finish or enter "/ni"). Reenter Solu on, and do a modal analysis with the prestress ag set again. This does not seem to work when the stress run is done with Large Displacement ac vated. I leave the ques on of how a performer plays music with a hand saw and a violin bow as an "exercise for the reader" :) Tip 28: Crea ng New Elements by Copying or Reec ng Exis ng Structure: In order to create new elements by reec ng or copying exis ng elements, there are a few things to do. First, select the elements to be copied and get their nodes with NSLE. Copy or reect the nodes, no ng the nodal number oset that will be used write it down. Copy or reect the elements, using the nodal oset number that you wrote down. ANSYS should default to a nodal oset number equal to your highest numbered node. If you make it smaller, you run the risk of changing the loca on of nodes that already exist, resul ng in a lovely mess. If you are running something like ANSYS/ED you may want to compress your node numbers rst, for if a node number results that exceeds the ANSYS/ED limit, the program will terminate immediately (the more recent

22 of 54

1/17/2009 11:41 AM

ANSYS Tips and ANSYS Tricks

h p://www3.sympa co.ca/peter_budgell/ANSYS_ ps.html

ANSYS revisions may give a nonfatal warning message and quit some me later if you don't clean up). You could compress the node numbers, and then make the oset number equal one plus the dierence between the maximum node number of the whole model and the lowest node number of those nodes to be copied or reected. You can nd these node numbers with *GET commands. (Remember that compressing node or element numbers will destroy synchroniza on with Load Step les.) The same nodal oset 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 oset number. Do a replot to see the newly created nodal coupling. Cau on: Be sure that if nodes were deleted earlier, that nodal coupling equa ons that in the past included those deleted nodes were also deleted. If you forget, you may get a pre y mess. Remember that if there are nodes on the plane of reec on, new nodes will overlay them. Merge commands may be wanted for the nodes on the reec on plane. Now the tricky part: elements lying in the reec on 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 reected. They may have to be deleted, depending on what you are trying to accomplish. Alterna vely, do not select elements that lie in the plane of reec on when reec ng the structure. You s ll need to reect the nodes on the plane of reec on, in order to reect the elements that will join them to the remainder of the reected structure, so the nodal merge will s ll 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 sec on replaced, or requires the addi on of more structure. The way to a ach new geometry onto exis ng nodes and elements is to: (1) Place keypoints on the nodes onto which new geometry is to be built (i.e. gra ed). (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. Alterna vely (much more work unless a macro is wri en or the CPINTF command is used correctly), fully couple the PAIRS of nodes with the CP command. In the event of elements with midside 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 midside nodes to other elements with midside nodes. This a aches 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 inten ons I have found this to be a surprisingly errorprone opera on. Tip 30: Zero Mass Beam Elements Form Rigid Region: An analyst could use very s beam elements (a few orders of magnitude s er 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 gravita onal or other iner al load acts on the material. A thermal expansion coecient should be input if appropriate it would usually be iden cal to the coecient value for the structure that it approximates. I wrote a macro to create a rigid region using beam elements. It is called a er the set of nodes to be connected is selected. The lowest numbered of the set of nodes is a ached 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. Cau on: Such a macro would become complex if it checked for duplicate nodes at the rst node loca on (ANSYS can't use zero length beams), and checked for widely varying beam lengths. This is not a guaranteed method. Tip 31: Turn o Symbols When Changing a Model a er Solu on: 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 ac ve, and plots become extremely slow. Turn o symbols with /PBC,ALL,,0 to speed things up. I put this command in the Toolbox for convenience. I have found that plo ng can

23 of 54

1/17/2009 11:41 AM

ANSYS Tips and ANSYS Tricks

h p://www3.sympa co.ca/peter_budgell/ANSYS_ ps.html

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 plo ng speeded up considerably when symbols were turned o with "/PBC,ALL,,0" even though there were, in fact, no symbols to be plo ed. Tip 32: Are the "FreeFree" Vibra on Modes Relevant?: Simple supports on a structure may be appropriate for sta c analysis and gravity loading, since the structure will "sink" un l the simple support reacts enough to withstand the applied load. If a modal vibra on is excited, small amplitude vibra ons may result in very li le response from the support, and vibra on similar to a structure that is free in space may result (this is obviously very problem dependent). If so, it may be desirable to run a modal vibra on analysis with no constraints. More than six modes must be requested, since the rst 6 represent the free transla on and rota on, and give Zero eigenvalues. A be er approach would be to characterize the exibility of the constraint points. With some structures, you may get a few surprises, as torsional and other vibra on modes appear. Tip 33: Selec ng 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 le er 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 informa on unfairly from one vendor to another date your correspondence carefully, and work through your purchasing department if that is appropriate at your rm. Some salestypes are very greedy for their commissions, and petulant when they lose. (Names will not be men oned, to protect the guilty. If you've been around the block a couple of mes, perhaps you can make a few guesses.) (The ANSYS vendor I've dealt with has been very professional.)

Tip 34: Crea ng Lines Perpendicular to, or at Angle to Exis ng Lines When crea ng structures in the /PREP7 por on of ANSYS, I nd that the commands that create lines that are perpendicular to exis ng lines, or at an angle to exis ng 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 a ached to areas. Since I o en 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 connec vity I need. The command that meets another line at an angle may do be er if it is entered manually, with the rst guess of the contact point set at 0.0, 0.5, or 1.0, depending on your inten on. This o en 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 ac vate certain GUI dialog boxes with oneclick simplicity, instead of nding your way though the menu system. I some mes get odd results from the Hard Copy command when I do this I have no idea why. Tip 36: Reac on 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 founda ons. Prin ng the Reac on Force would give this value, however the +/ sign is in the direc on 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

24 of 54

1/17/2009 11:41 AM

ANSYS Tips and ANSYS Tricks

h p://www3.sympa co.ca/peter_budgell/ANSYS_ ps.html

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 rota on, depending on what you are modeling.) WARNING: A number of things can go wrong with this approach. 1. If you ask for nodal forces without limi ng the node selec on to nodes where there are constraints, you will get nodal forces wherever forces and pressures have been applied to your structure. (For the curious, prin ng nodal forces when only pressure has been applied to shell and high order elements will illustrate that FEA so ware inputs a complex set of forces and moments because of how the elements are derived from rst 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 reac on.) 2. If an input force has been applied to a constrained node, the nodal force and the reac on force magnitudes will dier. When I tested this, the reac on force that ANSYS listed was modied by the presence of a force applied directly to a constrained node, whereas the nodal force (that is based only on element deforma on) was not aected. 3. IMPORTANT: All the elements to which the selected node is a ached must be selected in order to get the total force with which the node pushes on the outside world (use ESLN a er selec ng the nodes). The genera on of Nodal Force (and Reac on Force, if I remember correctly) is determined from the deforma on and s ness of a ached elements. If elements a ached to a node of interest are not selected, then the contribu on of those elements to the force at the node is not included and will be missing. 4. Cau on: If you have used a rigid region with the node of interest, the lack of element deforma on means that you will NOT get the Nodal Force or Reac on correctly you may need to work from the set of nodes where the rigid region a aches to the exible part of the structure. I'm not sure what kind of eects 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), a er SOLVE, giving visual cues during your review. You can use NODAL FORCE to nd out about the load being carried in certain Load Paths: Determine where to posi on 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. Prin ng 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 direc ons, based on the selected elements. Cau on: Ge ng 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 informa on on the SPOINT command. Note my earlier comment Tip 25 on making load paths visible in shell models. For further informa on, read the ANSYS manuals on the FSUM and NFORCE commands. Tip 37: Inpu ng 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 aect temperature dependent material proper es) 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 dier, the BFE se ng will govern. If temperature is input on a nodal basis, the temperature input at a node will inuence all the a ached elements. If temperature is input on an element basis, the temperature(s) input will inuence 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 diers from the reference temperature. Then, BF or BFE commands can to used on specic regions of the model to put in other temperatures. 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 le and inspect its contents, or use the

25 of 54

1/17/2009 11:41 AM

ANSYS Tips and ANSYS Tricks

h p://www3.sympa co.ca/peter_budgell/ANSYS_ ps.html

BFLIST and BFELIST commands). For the user applying temperatures directly, it can be a li le simpler to apply temperatures on a nodal basis with BF, since the nodes can be selected by loca on. Inpu ng temperatures on an element basis with BFE permits control of things such as temperature dierences between the inside and outside of pipe elements, or between the top and bo om of beam elements. The element lis ng 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 loca ons within each element to which temperatures were applied. Otherwise, the old temperatures will s ll be there. You may want to clean up with a BFEDELE or other cleanup command before star ng. The BFDELE and BFEDELE commands only act on selected nodes and elements if you want to remove all temperature applica on, select the full model rst. Be wary of what happens when you use Load Step les. Tip 38: ANSYS Toolbar Use

The ANSYS Toolbar can be very helpful in giving "one click" access to frequently used commands. Toolbar bu ons can also call macros, or the func on form of commands, for example Fnc_Pl_Symbols to bring up the dialog box for se ng symbols. If you want to get fancy, a toolbar bu on could be used to ac vate an alterna ve toolbar. In the toolbar shown here, a variety of bu ons have been enabled. Some of the cap ons are a li le cryp c; this is because the cap ons 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 instruc ons. The toolbar edi ng is brought up from the menu item "MenuCtrls". In the example toolbar shown here, the bu ons are not in a highly logical order. In order to modify the bu on sequence, save the toolbar (I suggest the unimagina ve le name "toolbar") and reorder the lines in that le 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 selec on to save the layout of all of your ANSYS windows including the toolbar shape. (This se ng is destroyed if you modify the "GUI congura on" under your ANSYS Interac ve startup dialog box.) When you are happy with the layout of your toolbar, you can append the toolbar le's contents to the end of the "Start.ans" le 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 sa sfy certain code requirements. Piping commands can be used in /PREP7 to directly create models of piping. In using piping crea on commands, a user works out the intersec on points of the runs of piping as if there are sharp angle bends. Each run of pipe is entered as dx, dy, dz, crea ng Pipe16 elements, and then a radius of curvature at the previous intersec on can be applied, crea ng Pipe18 elements. The Pipe18 elements are taken out of the two Pipe16 elements that met at the last corner intersec on. If these two Pipe16 elements are too small to encompass the Pipe18 bend elements, dicul es will result. If the user is dening Ubends, it is easy to have zerolength Pipe16 elements generated. My approach to this is to inspect the model for zerolength Pipe16 elements, and delete them, a er I make sure that all pipe nodes are merged. I use a macro to inspect the model and do the dele ons. Checks are included in the macro, because Pipe18 elements always return a zero length. I have also seen users do a Ubend 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 Ubend, avoiding a zerolength element problem. To list or plot useful stress informa on from the piping model usually requires pu ng selected results data into

26 of 54

1/17/2009 11:41 AM

ANSYS Tips and ANSYS Tricks

h p://www3.sympa co.ca/peter_budgell/ANSYS_ ps.html

element data tables, and the use of appropriate PLLS commands. Fortunately, ANSYS includes many output possibili es for the two piping element types, so typical piping code requirements can be met. See the element manual for these elements for informa on 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 crea on in ANSYS includes the possibility of added mass due to uid in the pipes, and from insula on added to the piping. The insula on addi on is simple the user can input thickness and density. This lets the added mass presence of heat exchanger ns be easily faked by inpu ng the product of n_thickness x ns_per_inch x n_material_density as the "insula on" density, and n height as the "insula on" thickness. (Subs tute the appropriate dimension for ns_per_inch, etc. for your system of units.) The deec on behavior of pipe elements is based on ANSYS beam elements. If accurate vibra on behavior is to be modeled, at least several pipe elements will be needed between supports. If accurate gravityinduced deec ons and stress are wanted, be er results will come from the use of a consistent mass matrix, if element density between supports is low. Developing an understanding of the func on of the ANSYS element crea on commands (BRANCH, RUN, BEND, and so on) will require crea ng some elements with material and dimensional informa on, then reviewing what element TYPE and REAL data has been created in the model database. Model review is enhanced by plo ng the elements with the /ESHAPE op on ac ve. Where piping is connected with sliding supports to the outside world, the use of gap elements may be needed if sliding fric on is to be included in the model. ANSYS does not dieren ate between sta c fric on and sliding fric on coecients, so a reasonable and conserva ve value for coecient of fric on (as well as contact s ness 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 " ght" ts at the sliding connec ons. 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 be er when plo ed to paper, especially when plo ed from ANSYS with HardCopy to ink jet printers. They can be selected with the commands /SHOW,WIN32 and /SHOW,WIN32C when using the GUI. Plo ng to the screen window with Zbuering as the hidden surface control can give very sa sfactory and o en quicker results. Hard copies of these Zbuer plots, however, will look "pixelated", being limited to a coarse resolu on. Be er 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 le, for subsequent processing with the ANSYS DISPLAY program. Plots can be redirected to les by using the /SHOW command. This permits the DISPLAY program to do various things with the results, including the genera on of anima ons. Under Windows NT, an anima on can be generated as an AVI le. I occasionally nd it helpful to generate an anima on le 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 ll the screen as the view is rotated set the zoom level manually with picking; you may want to move out so that the model ts in all views. You may need to experiment. Node plots without symbols are a quick way to assess the behavior while tes ng. If the plots have been redirected to a le when this command is executed, the plots in the le 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 3D VRML le produced of a 3D model plot. This could be a stress contour plot of a 3D model. With the right op ons ac vated for a

27 of 54

1/17/2009 11:41 AM

ANSYS Tips and ANSYS Tricks

h p://www3.sympa co.ca/peter_budgell/ANSYS_ ps.html

good VRML viewer plugged into a Web browser, the stresses on the 3D model can be reviewed at any viewing angle with the posi oning control a VRML viewer. This ought to be par cularly interes ng on a computer with a fast 3D graphics accelerator. There are u li es that can convert a Postscript output le from the ANSYS DISPLAY program into a bitmap image le. A free conversion program is Ghostscript, once you gure 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 combina on will copy a window to the Clipboard. This can be used to capture an ANSYS graphics window for pas ng into a word processor document, or into an image processing program for conversion to a GIF or other bitmap le. GIF les can be used in WEB pages to show the results of ANSYS work. I recommend GIF over JPEG les for images from ANSYS, because GIF les 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 reduc on used when the GIF le is generated.) Before capturing the Graphics window of ANSYS, set its size to your sa sfac on. Bitmap image size changes in an image processing program are not sa sfactory with this type of graphical output. If you want to get really fancy, generate a GIF le that contains an anima on of a ANSYS model. (Animated GIF les can be generated from individual images with so ware that you can nd on the Web or purchase.) Resizing of the ANSYS graphics window under Windows NT is painful if a model has been plo ed, because ANSYS wants to keep replo ng the image as the window edge or corner is dragged. This problem goes away if you set the Windows NT Display Proper es 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 connec on by bolts, rivets, or spot welds has been represented by various simplica ons or representa ons in an ANSYS model, the load on those connec ons 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 connec on, select elements on "one side" of the node(s), and check nodal loads. The connec on 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. Addi onally, building codes usually forbid or substan ally limit "prying" loads on bolted and riveted connec ons. 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 automa cally 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 sec on area is entered, ANSYS will not generate buckling informa on about the link, not even in a Large Displacement analysis. The user must do some work to compare compressive load with cri cal buckling load (use a good margin of safety). A user could write a macro to step through all link elements, iden fying the compressive stress and force, and calcula ng buckling informa on. The ANSYS Link10 element supports a tensiononly and a compressiononly 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" evalua on of some models. An example would be the stays that support the mast on a sailboat, with pretensioning implied with ini al strain. (If the stays are woven rope or steel cable, ge ng a representa ve crossec on for the link elements will require some extra work.) Spot weld representa on 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 alterna ve, applicable to thicker steel sheets and plates. The crudest and quickest representa on of spot welds is to merge coincident nodes from the two joined layers where nodes have been inten onally created coincident at the spot weld. Alterna vely, 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 midplane posi on of two sheets that are spot welded together. (Remember that CERIG is valid only in small displacement analysis coupling with zeromass s beam elements could be subs tuted if large displacements were needed.) The shell nodes can be joined with a beam element that has proper es that reect the diameter

28 of 54

1/17/2009 11:41 AM

ANSYS Tips and ANSYS Tricks

h p://www3.sympa co.ca/peter_budgell/ANSYS_ ps.html

of the spot weld. The roughest approxima on will merge or couple just one node pair. If nodal coupling is used, rota ons should be coupled as well as transla ons, for spot weld representa on. 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 rota on 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 considera on. Exactly what to do for spot weld representa on is very problem, industry, and material dependent. These very approximate techniques tell us li le or nothing about stress, fa gue, or fracture possibili es near or at the weld. More elaborate modeling (more nodes and elements, and special element types) of each spot weld could give more informa on about local stresses, when local stresses ma er. 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 nd many spot welds used with aluminum, not only because of the diculty of welding aluminum, but also because of the fa gue considera ons consider how commonly aircra use rivets and modern adhesives. There is a document on spot weld fa gue 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 interes ng and includes the following references:
Rupp, A., Strzel, K. and Grubisic, V. "Computer Aided Dimensioning of Spot-Welded Automotive Structures". SAE Technical Paper 950711, 1995. 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. British Standards Institution. Code of Practice for Fatigue Design and Assessment of Steel Structures. BS 7608, 1993. Radaj, D. "Local Fatigue Strength Characteristic Values for Spot Welded Joints." Engineering Fracture Mechanics, Vol. 37, No. 1, pp. 245 - 250, 1990. 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. 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. 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 addi on 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 vibra on and fre ng or galling. If it is purely a so caulking, it might be ignored in FEA, but if it func ons 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 In /POST1 the "Query Results" capability applied to nodes makes it easy to check on results (stresses, strains, deec ons, etc.) by picking nodes. To see an image of this in ac on Click to See Image and use your browser's Back bu on to return. For the shell element illustrated, the result will be reported for the Top, Middle, or Bo om, according to how the SHELL command was issued (the usual rules as to what cons tutes the Top and Bo om of a shell element apply). It will do this even if PowerGraphics is ac ve 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 selec on on nodal stress easily with this feature. The element query returns only data on energy and error es ma on. Tip 43: Loads on Geometric En es 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 rerun 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 reac ons are shown as colored arrows. Stress colors have been gray scaled for prin ng to a black and white laser printer. Upon inspec on by a coworker, he no ced that the results were the same as the results the last me the model was run, under dierent loading, a month before. What was wrong? The model database le 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 modied loads. When I listed the applied forces with FLIST a er 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 en es cannot be scaled, there may be li le reason to keep the loads on geometric en es a er these loads have been transferred to nodes and elements, EXCEPT when

29 of 54

1/17/2009 11:41 AM

ANSYS Tips and ANSYS Tricks

h p://www3.sympa co.ca/peter_budgell/ANSYS_ ps.html

meshing may be changed in the future. The use of components is an alterna ve way to select parts of the model for loading.

Sugges on: The user should add a warning annota on sta ng that loading is on geometric en es, before archiving a model. Should ANSYS add a warning message about SOLVE transferring loads from geometric en which requires user acknowledgment? A poten ally dangerous mistake watch for it! Tip 44: Use Components for Load Input, and for Results Review

es,

A userwri en input le could be used to apply loads to components that the user has dened. An even more convenient use for components is for reviewing stresses due to a load. The components can be called up and stresses plo ed without the need to do manual selec on over and over for each load case. I wrote a macro that automa cally steps through all components, plo ng the stresses for each component from a couple of viewpoints, for each load case. When the plots were diverted to a plot le, the le could be used in ANSYS DISPLAY to plot stresses for all components for all load cases. Statements in the macro would put the component name and weight (based on volume only) in an annota on; the tle already contained the load case name. Tip 45: Simple Substructuring Examples Bo om Up and Top Down ANSYS/ED is capable of only a small number of Master Degrees of Freedom (50 the last me I looked), so any use of substructuring in ANSYS/ED will have to be done with a very small number of nodes for master degree of freedom use. A 2D element such as PLANE42 may be best for many substructure experiments with ANSYS/ED. In Large Displacement substructuring, rota onal degrees of freedom are needed at the nodes, and ANSYS/ED will only handle very small numbers of nodes 2D beams may be best for learning experiments with Large Displacement. The problem with using beams elements for learning is that review of stresses is more complex; element tables must be used to hold and display beam stress informa on. For an alterna ve, consider SHELL63 elements with very few MDOF nodes (8 nodes x 6 DOF/node = 48 DOF), in Large Displacement substructuring studies. Substructuring has become more rare in FEA work, because of the capacity of modern computers for large models. There are s ll mes when it is desirable, such as when gap elements or contact elements are employed in large models, or when extremely large models are in use. The user will have to employ some insight to select substructures in a way that minimizes the resul ng number of degrees of freedom and wavefront size. Substructuring is a rela vely tricky procedure, par cularly with mul ple substeps or mul ple substructures. For serious use, the ANSYS manuals on substructuring should be purchased and studied in detail. The reader is reminded that the elements inside a substructure are treated as linear. Any nonlinear elements grouped inside the substructure will be treated as if they were in their ini al condi on, without material nonlinearity. The two simple examples below do not address use of mul ple substructures, mul ple load cases, gloading, vibra ons, and other complica ons. Nonlinearity (Large Displacement) is men oned only briey. If you do not turn to expert help for substructure work, I recommend substan al tes ng of any techniques on small models before doing any real work. Warning: Read the ANSYS Elements Manual sec on on MATRIX50 the superelement. Note its warning that if gravity is applied during the "gen" pass when the superelement is created, and gravity is applied during the "use" pass, it will be applied TWICE to the superelement substructure DOUBLING the gravity load on the superelement

30 of 54

1/17/2009 11:41 AM

ANSYS Tips and ANSYS Tricks

h p://www3.sympa co.ca/peter_budgell/ANSYS_ ps.html

region of the model. For this reason, gravity load would have to be introduced "carefully". Unfortunately, a detailed desc p on of this careful applica on is not included in the base ANSYS manuals. In the "Top Down" example below, I set "ACEL" for the model to ZERO in all three global coordinate direc ons during the "gen" part that generates the superelement. If the user has applied gravity to the model le that is read in, it will be applied during the "use" part of the analysis, and so only applied once to the superelement. This may aect the accuracy of the solu on I have not yet done comparison runs to test this. The example does not address centrifugal loading or other complica ons. Unfortunately, linear accelera on loading (e.g. gravity loading) is more accurately represented when applied as a load vector. This presents a problem when there are elements with mass that are not included in substructures. I have not yet determined whether gravity could be applied to a superelement in the GEN pass, without having a superelement mass matrix generated if it could be done, then the "accurate" applica on of gravity loading to the superelement could be accomplished without coun ng gravity load twice. Using rotated superelements introduces another set of problems with the direc on in which loads are applied read the manuals. Note that nonzero applied DOF displacements are not to be applied by a load vector, so MDOF should be applied to nodes where nonzero DOF values are to be applied during the analysis. Loads and constraints created in the GEN pass (i.e. in a load vector) cannot be changed in the "USE" pass, except by uniform scaling. Brief tes ng I did suggests that load ramping DOES work for load vectors the user should check this independently. The excep on to uniform scaling is with respect to angular mo on read the ANSYS tutorial and user's guide manuals on substructuring. The substructuring examples given in Chapter 4 of the ANSYS Advanced Analysis Techniques manual leaves out the rou ne steps leave out too many, in my opinion. The user should purchase an ANSYS manual and tutorial manual on substructuring before doing serious work. (ANSYS 5.5 has added some helpful comments to its Advanced User's Guide on Substructuring.) The command EXPSOL has to be added in the expansion pass of the bo omup example in order to get any results in the expansion results le. The SFE command is needed only if loads were applied to the superelement if SFE is used, it has to point to the element number of the superelement that was read in with the SE command as well as the appropriate load step number. A *GET command could nd the element number of the superelement right a er the SE command. The commands manual does not explain this adequately in ANSYS 5.3. The following examples are fairly brief. In the bo om up example, the coupling command CPINTF is used to join the superelement with the nonsuperelement por on of the model. The example shows the stresses in the superelement a er the expansion pass completes. The results of the use pass are saved in the le "use.db" for later review by the user. Bo om Up Substructuring Example:
! Substructuring demonstration ************************************* ! For information only. Use at your own risk. fini ! finish whatever was active previously /clear ! clear the database /title,Substructure Technique Test /filname,gen /prep7 et,1,shell63 r,1,.05 mp,ex,1,30000000 blc4,-.5,0.5,1.0,-1.0 lesize,all, , ,3,1,1 amesh,1 fini /solu antype,subst seopt,gen lsel,s,line,,2 nsll,s,1 m,all,all lsel,s,line,,4 nsll,s,1 d,all,all allsel save solve fini ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! filename for the generation pass element type 1 set to SHELL63 shell is 0.05 thick set value of E create a rectangular area 3 elements per line -- user can change this mesh the rectangle substructure analysis generation pass line at right side select all nodes on line make these nodes Master Degrees of Freedom line at left side select all nodes on line constrain nodes against all motion

! save this part of model as gen.db for expansion pass ! the save need not follow "solve" ! generates the gen.sub file

31 of 54

1/17/2009 11:41 AM

ANSYS Tips and ANSYS Tricks

h p://www3.sympa co.ca/peter_budgell/ANSYS_ ps.html

/clear,nostart /title,Shell elements are attached to a superelement /filname,use ! filename for the use pass /prep7 et,1,50 ! element type 1 set to superelement MATRIX50 type,1 ! set type 1 se,gen ! read in the superelement matrix from generation pass ! after reading superelement, create remainder of model: et,2,shell63 ! element type 2 set to SHELL63 r,2,.05 ! shell is 0.05 thick mp,ex,2,30000000 ! set value of E blc4,.5,.5,1.0,-1.0 ! create a new rectangular area lesize,all, , ,3,1,1 ! 3 elements per line -- user can change this aatt,2,2,2 ! assign mat=2, real=2, type=2 to the unmeshed area amesh,1 ! mesh the area -- note superelement node numbers are not used cpintf,all ! automatically couple coincident nodes at interface eplo fini /solu ksel,s,kp,,3 ! keypoint at upper right corner nslk ! select node at this keypoint f,all,fy,-1 ! put a load on node at upper right corner nsel,all ! select all nodes ! SFE,1,1,SELV, ,1 ! no load applied in generation pass, this statement not needed solve ! results go in the file use.rst save ! save use.db to review results in the non-superelements fini /post1 /pbc,f,,1 ! show applied force symbols /pbc,cp,,1 ! show nodal coupling symbols plnsol,s,eqv ! plot the stresses in the non-superlements fini /clear,nostart /filname,gen ! filename for the expansion pass resume ! brings up gen.db saved above /solu expass,on ! activate expansion pass seexp,gen,use ! options for the substructure expansion pass expsol,1,1 ! THIS IS NEEDED ! (read about NUMEXP also) ! OUTRES,ALL,ALL ! not required for one load step solution solve fini /POST1 /title,Stress in the Substructure /pbc,mast,,1 ! show master degrees of freedom symbols /pbc,u,,1 ! show displacement constraints /pbc,rot,,1 ! show rotation constraints plnsol,s,eqv ! look at the stress in the superelement

**************

In the above example, the user can change the mesh density. The numbers and posi ons of nodes along the common interface between the superelement and the normal por on of the model have to be the same for CPINTF to successfully connect the two parts of the model. The model is created with the "bo omup" approach. In the "use" part of this example, the superelement is read in with SE before the remainder of the model is created. If the remainder of the model was created before the superelement was read in, then the user would have to add statements to control the node numbering, so that none of the master nodes coming in with the superelement would replicate the node numbers of the exis ng elements. If the superelement has master nodes that have the same node numbers as the exis ng model, the model nodes will be redened, and a mess will result. Check the manual, and look at the SETRAN command to act on the superelement, or at the NUMOFF command to act on the exis ng model, to prevent node replica on problems. The PARSAV and PARRES commands can be used to put model parameter informa on into a coded le, and retrieve it a er the /CLEAR command has been issued. The maximum node number can be put into a parameter by *GET and put into a le with PARSAV during the genera on pass. It can be retrieved during the use pass by PARRES, and used to guide the oset of node numbers in either the already generated superelement with SETRAN, or in the remainder of the model with NUMOFF. Top Down Substructuring Example

32 of 54

1/17/2009 11:41 AM

ANSYS Tips and ANSYS Tricks

h p://www3.sympa co.ca/peter_budgell/ANSYS_ ps.html

The following example is NOT a subs tute for a detailed understanding of ANSYS substructuring. It is for demonstra on purposes only. Get the ANSYS Substructuring Tutorial guide and the Substructuring Guide for serious work. The top down substructuring technique makes it possible to take an exis ng model, and have a por on of it changed into a substructure. This can boost eciency in a number of ways, such as dealing with contact surfaces and gap elements, and handling very large models that have already been generated. In the example presented below, a model database is read in from a userprepared le named "model.db". This model in "model.db" must have had a por on of the elements grouped into a component called "super" using the command CM,SUPER,ELEM. This component will be rendered into a substructure. The intended substructure should, in general, consist of linear elements. The model must have had constraints and loads applied. The SFE command used in this example expects loads to exist inside the superelement, but should work without them. Some nodes can have been declared by the user to be master degrees of freedom. In order to create master degrees of freedom through the GUI, the analysis type has to be Substructure. In order to use the example below, the analysis type will have to be changed back to the type desired a er crea ng extra master degrees of freedom usually to sta c analysis. Note that for dynamic analysis, master degrees of freedom are needed throughout the substructure they are not created by the example below. In the example presented, master degrees of freedom are automa cally generated for the nodes on the interface between the component "super" and the remainder of the model. (There is no check for redundancy with userdeclared master degrees of freedom.) The full model is used the analysis is not limited to the selected set of elements in the le "model.db" when it is loaded. The example will automa cally perform the substructure genera on and the subsequent analysis, and will plot results to plot les. I have added a plot of the results for the full model, with results les for both the substructure and the nonsubstructure being read. There is no error checking in the example. This example has had limited tes nglet me know about errors. When dealing with gap elements and/or contact surfaces, the usual procedure would be to select all the linear elements in the model (not the gap or the contact elements), and in this example, call them the component "super" for substructuring. Because the substructure matrix is usually much smaller than the full model matrix, the itera ons required for convergence with gap and contact elements will usually run far faster than itera ons involving the full model, once the substructure matrix is generated. This makes otherwise infeasible modeling into a possibility. In dealing with extremely large models, where the objec ve is simply to deal with the size, not nonlinear elements like gap elements, there may li le advantage in turning the en re large model into a substructure it could take as long to generate the superelement as to solve the model for one load case. It would be more common to turn por ons of the model into one or more substructures. The connec ng regions between the substructures would be chosen to involve as small a number of nodes as possible, to minimize substructure matrix size, and model wavefront size. Although a MATRIX50 substructure superelement can undergo Large Displacement, it will act internally as a linear elas c structure. Methods to use MATRIX50 in nonlinear applica ons should be thoroughly tested by the user before applica on, including plots of displacement and stress to look for compa bility in results among the substructure regions and the remainder of the model, and checks that reac on forces equal the total applied forces. I have encountered dicul es combining Large Displacement with Substructuring see the image below. To use the following example: (1) Create a model, and (2) select a por on of the elements to become the substructure. Give this selec on set of elements the component name "super" with the command "CM,SUPER,ELEM". (3) The model should have loads and constraints applied, and the analysis type dened. The analysis type must be acceptable for substructure use. (4) Save the model with the database name "model.db". (5) Call the rou ne below with the /INPUT command. Graphical results for the last load substep in the results les will be plo ed to disk les. If run interac vely, the user will have to click the "OK" bu on a few mes, and a plot to the screen should result when done. Expect warning messages related to par al element selec on, and to reading from results les. NOTE: This example sets gravity load to ZERO in the "gen" por on of the analysis; otherwise, gravity would be DOUBLED on the superelement if the user's model includes gravity see the Elements Manual for MATRIX50. (If gravity is applied, be sure a density was applied to the materials in the model. If there is no gravity, the example can have the "seopt" command changed to NOT generate the mass matrix for the superelement.)

33 of 54

1/17/2009 11:41 AM

ANSYS Tips and ANSYS Tricks

h p://www3.sympa co.ca/peter_budgell/ANSYS_ ps.html

The loading on MDOF nodes would also be DOUBLED if it was used in the superelement load vector, and used in the "USE" pass. For this reason, correc ons to this rou ne have been added (Nov.2, Nov.4 1998). A complica on for substructuring: Only a master node from a coupled node set or a constraint equa on node group can be used as an MDOF for substructuring. This complica on is NOT addressed in the present example. The example is for stress analysis. It does not address centrifugal loading. To address other types of analyis, start with a look at the ANSYS Advanced User's Guide, and look at the table of loads applicable in a substructure analysis. Automa ng a substructure analysis is somewhat tricky this le will NOT be applicable to all types of analyses. I have been tes ng it with simple stress examples. The "POSTPROCESS" pass seems to work in loading stresses from the two dierent sources for viewing, "USE.RST" and "GEN.RST", although I haven't seen this documented. I tried the SUBSET command, but was ge ng warning messages about the nodal force and other results not necessarily being correct. I haven't thoroughly inves gated this. Have a close look at how the substeps are output with OUTRES and selected for expansion:
! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! "Top-Down" Substructuring Example -- In Development For information only. Use at your own risk. There is no error checking in this example. Warning messages will be generated. ANSYS/ED supports very few master degrees of freedom.

WARNING: Gravity would be applied TWICE to the superelement if ACEL were not zeroed in the "gen" pass. For models that do not include inertial loads, change the "seopt" command to generate STIFFNESS only. See the Elements manual for MATRIX50. This example NOT designed for other inertial loads. WARNING: In the "use" pass, nodal loads on superelement MDOF nodes are deleted so loads on MDOF nodes are not counted TWICE. FDELE and DDELE are used. The model to be processed is in the file "model.db". The user must have identified the region to be substructured as the component "super" with the command "CM,SUPER,ELEM" and saved the model as "model.db". Anything nonlinear in the component "super" will be treated as linear. Analysis type is defined by the file "model.db" -- must be acceptable type. The "USE" pass has OUTRES set to write ALL substeps to the RST file. The "EXPAND" pass has a *DO loop that expands solutions at ALL substeps. The model must have had its loading and constraints applied. This example is for one load case only. Some Master Degrees of Freedom can have been applied by the user -- needed for dynamic analysis. Master Degrees of Freedom Nodes will be generated between the substructure and the remainder of the model. No check for redundancy is performed. Unless this file is run BATCH, the user will have to click the "OK" button whenever the CLEAR command is executed, and if error messages appear. ! finish whatever was active previously ! clear the database GEN GEN GEN ############ ############ ############

fini /clear /COM,############ /COM,############ /COM,############ /show,part1,grp resume,model,db

/filname,gen /prep7 allsel *get,nmx,node,,num,max *get,nmn,node,,num,min cmsel,s,super nsle esel,invert nsle,r m,all,all cmsel,s,super

! file for storing plots ! read the model to be processed ! - all loads and constraints must already be applied ! - the SFE command is employed in the "use" pass to ! apply loads to the substructure ! - only one substructure generated in this example ! filename for the generation pass ! ! ! ! ! ! ! ! get the highest node number get the lowest node number select the elements identified as the component "super" select nodes of these elements select the elements that are not part of "super" reselect nodes connecting "super" to remainder of model make these nodes Master Degrees of Freedom (MDOF) select the "super" elements again

34 of 54

1/17/2009 11:41 AM

ANSYS Tips and ANSYS Tricks

h p://www3.sympa co.ca/peter_budgell/ANSYS_ ps.html

nsle nsel,r,m,,nmn,nmx

fdele,all,all ddele,all,all nsle /pbc,mast,,1 /pbc,f,,1 /pbc,m,,1 /pbc,u,,1 /pbc,rot,,1 /title,Elements of the to-be-substructure eplo ! plot the elements of the to-be-substructure fini /solu antype,subst ! substructure analysis seopt,gen,2 ! generation pass -- generate STIFFNESS and MASS matrices ! - if no inertial load, change setting to STIFFNESS only save ! save this part of model as "gen.db" for expansion pass ! - SAVE need not follow the command "solve" ! - component "super" and its nodes currently selected acel,0,0,0 ! set gravity to Zero AFTER "save" but BEFORE "solve" solve ! generates the "gen.sub" file fini /COM,############ /COM,############ /COM,############ /clear,nostart /show,part2,grp resume,model,db /filname,use /prep7 allsel *get,nmn,node,,num,min *get,nmx,node,,num,max cmsel,s,super esel,invert nsle nsel,a,m,,nmn,nmx *get,ntp,etyp,,num,max et,ntp+1,50 type,ntp+1 se,gen USE USE USE ############ ############ ############

! ! ! ! ! !

select their associated nodes reselect all of these nodes that are MDOF (don't want nodes outside the "super" that the user called MDOF) delete loads on these MDOF nodes for "gen" delete displacement loads on these MDOF nodes for "gen" select nodes of the component "super"

! bring the model in again. restores "acel" if any. ! "model.db" has to define the analysis type -- it should not ! be a substructure generation ! filename for the use pass

! select the portion intended for the substructure ! select the remainder of the model ! select nodes of the remainder of the model ! add MDOF nodes for visibility (not needed for solve) ! get max element type number in the model in parameter ntp ! new element type ntp+1 set to superelement MATRIX50 ! set type ntp+1 before reading "creating" superelement with SE ! read in the superelement matrix from generation pass ! - master D.O.F. nodes already are at the interface ! - no need to couple coincident interface nodes this example ! - new element number assigned should be above maximum *get,snm,elem,,num,max ! get the element number of the superelement just loaded ! - needed for SFE loading the superelement below ! - extra work needed if more than one superelement /pbc,all,,0 /pbc,f,,1 /pbc,m,,1 /pbc,mast,,1 /title,Remainder of model attached to substructure eplo ! plot the elements in the non-substructure plus "outline" view ! of the substructure fini /solu ! "model.db" analysis type for substructure is needed SFE,snm,1,SELV, ,1 ! load applied in generation pass was in "model.db" ! - apply load to to superelement number "snm" found above ! - extra work needed if more than one superelement outres,all,all ! save results for the all substeps of load step ! - change here and "EXPAND" below if desired to change solve ! results go in the file "use.rst" save ! save "use.db" to optionally review non-substructure results fini ! "use.db" and "use.rst" now contain non-substructure results /post1 set,last ! plot results at the end of the load step /title,Stress in the non-substructure elements plnsol,s,eqv ! show nodal stress in the non-substructure *get,lastlstp,active,,set,lstp ! get the last load step number

35 of 54

1/17/2009 11:41 AM

ANSYS Tips and ANSYS Tricks

h p://www3.sympa co.ca/peter_budgell/ANSYS_ ps.html

*get,lastsbst,active,,set,sbst parsav,scalar,parameterstore,parm fini /COM,############ /COM,############ /COM,############ EXPAND EXPAND EXPAND

! get the last substep number ! store them in file for retrieval below

############ ############ ############

/clear,nostart /show,part3,grp /filname,gen ! filename for the expansion pass resume ! brings up "gen.db" saved above, "super" is selected parres,new,parameterstore,parm ! retrieve data on last load step/substep ! parres must follow resume statement /solu expass,on ! activate expansion pass seexp,gen,use ! options for the substructure expansion pass *do,iii,1,lastsbst expsol,lastlstp,iii,,yes ! expand result at last load step/substep ! - (read about NUMEXP also) outres,all,all ! all data written solve *enddo fini ! "gen.rst" now contains substructure results, last step /POST1 /title,Stress in the Substructure plnsol,s,eqv ! show nodal stress in the substructure save,stresses_in_super,db fini /COM,############ /COM,############ /COM,############ POSTPROCESS POSTPROCESS POSTPROCESS ! ! WARNING: ! ############ ############ ############ The following is my own invention; use at your own risk. Warning messages will be generated by ANSYS.

resume,model,db /show,part4,grp /post1 cmsel,s,super nsle file,gen,rst set,last esel,invert ! Select the elements NOT in substructure component "super" nsle ! Select the nodes of these elements file,use,rst ! Point to file "use.rst" that contains the rest of the results set,last ! Read in load step data for selected elements, last substep esel,all ! Select all elements nsle ! Select the nodes of the elements /pbc,all,,0 /pbc,f,,1 /pbc,m,,1 /pbc,mast,,1 /title,Stress in the Full Structure plnsol,s,eqv ! Show nodal stress for the full model. ! Because of averaging, PLNSOL stresses on the interface of the ! substructure and non-substructure regions cannot exactly ! match values for these locations plotted separately, above. ! Element stress and displacement should exactly match in ! a small displacement linear analysis. save,stress_allelem,db ! Save the model with all stresses on elements /show,term ! Back to screen -- only works if used interactively plnsol,s,eqv ! Show the stress results for all elements if interactive ANSYS

The "top down" example saves the results of the "use" pass and the "expansion" pass in database les. These can be loaded to inspect results in the nonsubstructure and in the substructure parts of the model, respec vely. If the le is run interac vely, the user will have to click the "OK" bu on each me the /CLEAR command executes, and for a variety of warning messages that can appear. It may be preferred to run the le under Batch control, and to later review the results in the plot les, and in the resul ng database les. Remember to check for error and warning messages. Because of the complexity of substructure analysis, the user should run checks on balance of forces, and do other typical checking of results. Large Displacement Nonlinearity and Substructure: The ANSYS 5.5 Advanced User's Guide, Chapter 5 gives more

36 of 54

1/17/2009 11:41 AM

ANSYS Tips and ANSYS Tricks

h p://www3.sympa co.ca/peter_budgell/ANSYS_ ps.html

help on large rota on (large displacement, geometrically nonlinear) substructured analysis than at the 5.3 level. Note the comment that constraints should be applied in the "use" pass, not in the "gen" pass, for large rota on analysis. If the le "model.db", used in the above example, has had Large Displacement ac vated with "NLGEOM,ON" then a nonlinear solu on will be sought. Convergence criteria, ramping of loading, substeps, and other nonlinear controls may be desired. Because the substructure will act linearly internally, convergence may not be as easy as the user would wish. When the run does converge, the results will not be an exact match for the result without substructuring. The output plots should be examined to see if they read "Substep 999999", indica ng failure to converge. If you test the above example with Large Displacement, use a Large Displacement model that converges easily without a substructure approach. An a empt has been made in the above example to cope with a model that develops the Large Displacement solu on in a load step containing a set of substeps. This is the reason for statements that record the last loadstep and substep numbers. However, the example does NOT reserve applica on of all DOF constraints for the "USE" pass, as recommended in the ANSYS 5.5 guide, so it will NOT be appropriate for models with constraints applied to nonMDOF nodes in the substructure region. The user can get around this by manually assigning MDOF to all the nodes to which constraints are applied in the component "super", in "model.db". The master degrees of freedom for the superelement must have rota onal degrees of freedom for Large Displacement work. The user can try assigning MASS21 elements to the master degree of freedom nodes if the elements in the model do not have rota onal degrees of freedom. The MASS21 elements can have a REAL value that contains zero values for the masses and mass moments of iner a. This will introduce the requisite rota onal degrees of freedom. When using elements like SHELL63, which have rota onal degrees of freedom, I have encountered a rather odd result: The Large Displacement solu on for the elements in the superelement (stored in "gen.rst" in the example) is for the displacement of the substructure nodes with respect to a coordinate system embedded in the superelement, not with respect to the global axes. This is not the case for small displacement solu ons, which appear displaced correctly. Since the superelement can undergo large rota on, the displacement that is reported and plo ed for the nodes inside the superelement will be far smaller than the displacement reported and plo ed for the remainder of the model, in a Large Displacement solu on. This is because the coordinate system embedded in the superelement moves with the superelement. In limited tes ng, the SEQV stress plots appear to be OK, if the load step that is to be expanded is iden ed properly. I have not inves gated what happens to stress components in the Global and Element Coordinate Systems. Rota onal transorma on of the stress and strain tensors could be very complex. See the image below for a result combining SHELL63 elements, substructuring, and Large Displacement. A possible visual displacement x (for the displacement plot problem of 6 DOF elements in Large Displacement substructures) is to transform the displaced posi on coordinates of the nonMDOF nodes in the superelement on the basis of the rota ons and transla ons of the origin of the superelement in Global Coordinates. The origin of the superelement will be the MDOF node that reports no displacements or rota ons inside the superelement (in superelement coordinates); it appears to be the MDOF node with the lowest node number. Applying a transforma on properly will require deducing or looking up the order of the sequence of rota ons that ANSYS uses in Large Displacement work, or that ANSYS uses to report node rota ons. A reading of the Theory Manual suggests that ANSYS internally uses quaternions for large displacement rota ons in space. This would be for the usual reason that quaternions do not have a singularity in any orienta on, in contrast to Euler angles. It appears that the rota ons reported at a node represent 3D components of a single rota on vector, rather than Euler or other angles, so the transforma on will need to be based on rota on about a vector that starts at a known point in space (the origin of the superelement), plus transla ons. I will be working on this as my next project for this web page. The reported rota on may be complicated by rotated nodal coordinate systems (NROTAT) or superelements that the user has employed... this will require checking. Reader feedback would be appreciated. If I get anywhere with this, I will limit myself to displacements only. Transforming stress tensors would be a bit much!

37 of 54

1/17/2009 11:41 AM

ANSYS Tips and ANSYS Tricks

h p://www3.sympa co.ca/peter_budgell/ANSYS_ ps.html

The above plot was generated using the above sample /INPUT le on a Large Displacement model of a can lever beam created with SHELL63 elements. A similar displacement discon nuity results with BEAM4 elements in a similar applica on, as shown in the images below:

Tip 46: Plot Applied Temperatures In a thermal stress analysis, temperatures will be applied as a "load". Temperatures can be applied to nodes with the BF command, to elements with the BFE command, or implied using other commands. (Check the BFE command and the element type in the ANSYS documenta on for details on using BFE.) A colored element plot of applied temperatures can be generated by using the commands /PBF,TEMP,,1 and EPLO, which Shows body force loads as contours on displays, per the ANSYS Commands manual. When using beam, link, and pipe elements, if the element thickness is shown with the /ESHAPE command before execu ng EPLO, temperatures can be made visible with contour coloring for these line elements. It may be desired to exaggerate their displayed thickness with /ESHAPE in order to make the temperature informa on more visible. Tip 47: Skipping Over Statements in an ANSYS Input File ANSYS commands can be developed in a le that is executed with the /INPUT command. This can permit very exible and sophis cated use of the program. Here is a well known programming trick that can be used to temporarily skip over part of an ANSYS input le. Set a parameter ("SKIP" in this example) to a value that tells an *IF statement to jump over a sec on of code that you want to skip. This is much quicker than commen ng out a block of code, or cu ng and pas ng as an input le is developed and modied. *IF statements that use this

38 of 54

1/17/2009 11:41 AM

ANSYS Tips and ANSYS Tricks

h p://www3.sympa co.ca/peter_budgell/ANSYS_ ps.html

parameter could be located in a number of posi ons in the input le this permits changing the value of one parameter at the beginning of the input le to cause skipping of input code in a variety of loca ons.
! Input code to ANSYS... ! ... SKIP=1 ! Set to 1 to skip, 0 to run the code inside the *IF...*ENDIF commands *IF,SKIP,EQ,0,THEN ! ANSYS commands that are optionally executed... *ENDIF ! ... more code follows

Since there is no compila on of the input le, the "skip" technique uses li le me in choosing to execute or bypass the blocked o commands (ANSYS s ll has to read the blocked out code in order to check o the number of *IF and *ENDIF commands). Tip 48: Sta c Analysis Followed by Transient Analysis Transient analysis by ANSYS can model transient vibra ons, or the dynamics of a exible mechanism in mo on, in addi on to more complex eects. Ini al condi ons can be applied, followed by transient analysis. One type of ini al condi on is a zero velocity ini al posi on with stored energy. The stored energy can be poten al energy of posi on, elas c energy, or both. Another ini al condi on is an ini al velocity. A model can have both ini al velocity and stored energy. A sta c analysis may be desired to develop the stored elas c energy, before star ng a transient analysis. Remember that for transient analysis, the mass of the model must be input in the appropriate mass units, not as weight. The following ANSYS input le illustrates the execu on of a linear elas c sta c analysis that sets an ini al condi on, followed by a transient analysis. The model is of a can levered beam that has a force applied to the free end in a sta c analysis. The transient vibra on that results when the force on the free end is removed is obtained. No gravity is used. No damping has been applied, and ANSYS defaults for the numerical integra on are implicit. This is a linear elas c solu on, so the numerical integra on should be stable, given the ANSYS algorithm used. The me substep size for the transient analysis should be smaller than 1/20 of the period of the rst few modes of vibra on. (The user could tweak the ANSYS numerical integra on parameters so that very high frequency response modes are numerically damped. Stability in Large Displacement nonlinear transient analysis is probably not guaranteed, although damping and small me substep size should help.) The use of a consistent mass matrix (default) should in general yield more accurate results than a reduced mass matrix if the element density is coarse, however the use of a reduced mass matrix may shorten the solu on me in large models. The movement of the p of the beam is plo ed it is not a perfect sinusoid because the ini al deected shape of the beam is not an exact match to a mode of vibra on.
! Transient vibration, cantilever beam, "plucking" the tip. ! For illustration purposes only. Use at your own risk. fini /clear ! Start fresh /title,Transient Vibration of Cantilever Beam /PREP7 ET,1,BEAM3 ! 2-D model of beam R,1,1,1,1 ! beam crossection properties MP,EX, 1, 30000000 ! Young's modulus, BIN units MP,DENS,1, 7.34E-04 ! beam mass density, BIN units K, , 0.0 ! keypoints K, , 10. ! 10" long L, 1, 2 ! line LESIZE,ALL,,,8,1,1 ! 8 element divisions LMESH, 1 ! mesh with beam elements FINISH /SOLU ANTYPE,4 F,2,FY,-50000 d,1,ux d,1,uy d,1,rotz time,0.0005 OUTRES,ALL,ALL timint,off,all nsubst,2 ! Select transient analysis ! apply down force on RHS node (unrealistically high) ! constrain first node at LHS, in X direction ! in Y direction ! and constrain rotation ! ! ! ! small time increment, static save all substep results no time integration -- treat as Steady State two substeps to imply zero initial velocity for transient

39 of 54

1/17/2009 11:41 AM

ANSYS Tips and ANSYS Tricks

h p://www3.sympa co.ca/peter_budgell/ANSYS_ ps.html

kbc,1 solve TIME,.002 NSUBST,100 KBC,1 fdele,all,all OUTRES,ALL,ALL, timint,on,all solve fini /post1 /dscale,1 pldisp,1 FINISH

! step change load ! find the static deformed shape ! ! ! ! ! ! ! time at end of transient (pre-determined to show oscillation) time steps small enough to show vibration step change load delete force -- show vibration after force is released save all substep results activate transient analysis find the transient vibration of the beam

! automatic scaling, to easily view final result ! show final deformed shape

/POST26 NSOL,2,2,U,Y,UY ! results variable for plotting /title,Transient Vibration of Cantilever Beam: Motion of Tip PLVAR,2 ! graph oscillation of the tip of the beam FINISH

NOTE: The use of the TIMINT command controls ac va on of the sta c and transient por ons of the solu on. The sta c solu on is obtained at two me substeps so that an ini al velocity of zero is implied. An anima on of the transient solu on can be generated for the full beam in /POST1, showing the transient vibra on in ac on. For an anima on, the user will have to set a sa sfactory displacement scaling value with the command /DSCALE, not use automa c scaling. In the anima on of the Large Displacement mo ons of a mechanism, a /DSCALE se ng of 1.0 will generally be wanted, so that angles of rota on look correct. A zoom se ng other than /ZOOM,OFF will usually yield a be er anima on. Tip 49: File Compression for Model Storage If no restart is to be executed on an ANSYS model, it will o en be sucient to save only the model database le (*.DB) and the results le (*.RST) when archiving an ANSYS model. If the model was generated from command input les, these will require storage. If only one load step was wri en to the results le, the results le may not require archival if the results are also contained in the database le. Load case, graphics output, and other les may be wanted for archival. The database, graphics, and results les can be extremely large. They o en compress well using data compression programs such as the UNIX compress and gzip u li es (gzip is more powerful than compress). On Windows computers, gzip is also available for NT (it handles long le names), in addi on to the shareware ZIP u li es, though you will need to dig on the Internet to nd gzip for Windows NT have a look at GZIP on the web and look for instruc ons and the version for your computer (test before use). In FEA work, I nd the advantage of the gzip u lity to be that the compressed le name is simply the original le name with .gz appended, and the uncompressed le is removed. The data storage requirement may be reduced by roughly 25% to 80%, both on the hard drive, and on tape or removable disk. The data compression is signicantly more eec ve, though much slower, than with the disk compression scheme that can be used by Windows NT 4.0, which also does not keep the les compressed when they are sent over a network, or otherwise moved around. Hint: Make sure that those who will decompress the les in future will know how to do it! Tip 50: Organizing Large FEA Models Examining the results of an FEA model, selec ng and modifying por ons of the model, and keeping a record of what MAT (material) and REAL (shell thickness, beam size, etc.) values were used for various parts of a model becomes very dicult with large FEA models. A very large structure represented with hundreds or thousands of individual beam elements or areas meshed with shell elements, will require that the iden es, materials and REAL se ngs for large numbers of parts be organized and recorded. There is no one way to do this. Individual parts, or groups of parts, can be dened to be components that are accessed by names of up to 8 characters. These parts can be geometric en es, elements, or nodes. Macros can step through all the components using *GET commands. Collec ons of components can be grouped into component assemblies. An individual assembly could be created for those components that are to be selected under certain circumstances, for analysis or for results review. The use of components makes it possible to refer to either a part or a subassembly by one name, and easy to select it. The crea on of a component can save a set

40 of 54

1/17/2009 11:41 AM

ANSYS Tips and ANSYS Tricks

h p://www3.sympa co.ca/peter_budgell/ANSYS_ ps.html

of en es that were selected with a certain sequence of select logic, and be used in the enhancement of the ANSYS select logic process. The database component commands are: CM, CMDELE, CMEDIT, CMGRP, CMLIST, and CMSEL. A macro can be wri en that will step through all components, plo ng them, including the component name and informa on on it in the plot tle, or an annota on. Either REAL values for elements and en es, or MAT values, can be used to iden fy parts in a model with numbers. (The element type will have to support a REAL value if a REAL is to be created for that element type. However, a REAL value can be forced on an element even if the element type does not admit assignment of a REAL. This can be done when crea ng an element, applied to the geometric en ty that is to be meshed with the element, or forced a er the fact with EMODIF. When EMODIF is used, be cau oned that in a remeshing the REAL assigned to the geometric en ty will be used. When the element type does not accept a REAL se ng, the R se ng can simply be le blank. In that case, the commands NUMMRG,ALL and NUMCMP,ALL can make a mess and should not be used in this allinclusive form s ck to specic forms such as NUMMRG,KP.) In a model made of shell elements or beam elements, for example, each plate or beam could be described with its own REAL value, even though there may be many plates or beams of a given thickness or size within the model. Where a group of parts will always be chosen with the same REAL value, they could share one REAL se ng. This makes changing the shell thickness or the beam characteris cs very simple, and provides easy part selec on with commands like ESEL, ASEL, or LSEL, as appropriate, according to their REAL value, or a range of REAL values. An array (see the *DIM command) could correlate REAL values with other informa on, such as part names (with an 8 character limit). The same approach can be taken with the se ng of MAT values for describing the material proper es. Using material numbers for part iden ca on, however, could get cumbersome, because there are such a large number of individual material property se ngs, and they may be temperature dependent in some models, or include material nonlinearity. I nd it helpful NOT to set any of the geometric en es or elements in a large model to a MAT or REAL value of one. One is a default value that is some mes assigned when no value has been assigned by the user. Geometric en es may have a value of zero when nothing has been assigned. I can then select things that have a MAT or REAL of zero or one to check on whether I have forgo en to assign a value to any part of the model. Plots with coloring assigned according to REAL or MAT will help in checking a model. When REAL or MAT values have been used to dieren ate between dierent parts of a model, the user must be careful not to use a NUMCMP,ALL or NUMMRG,ALL command on en ty numbering, because it will compress or merge out REAL and MAT values. This will destroy the iden ca on scheme. The NUMCMP command will have to be called with the specic quan es to be compressed individually iden ed, such as NODE, as in the manual. When the parts have been iden ed by dierent REAL or MAT numbers, a coloring scheme based on REAL or MAT can be used during element or geometric en ty plots, to improve iden ca on of the parts of a model, and the appearance of the FEA plot. Cau on: ANSYS does not use a "4 color map theorem" when plo ng (can't do this in 3D anyway) so parts of diering REAL or MAT may be adjacent and have the same color. Arrays could be used to assign numbers to component names, and to keep track of what REAL values were used by the elements within components. Arrays could assign 8character names to the parts described by dierent REAL values. Arrays could be used to set several values of a number of shell thicknesses or beam sizes to be examined in a series of analyses that are to be run automa cally. As discussed above, this parameter informa on can be included in annota ons during model and results plo ng, making model review easier and less error prone. Tip 51: Selec ng Nodes in a Stress or Strain Range The selec on of nodes in a certain stress range can be eected with, for example, the command NSEL,S,S,EQV,40000,9999999 in order to get nodes with EQV (Von Mises equivalent) stresses from 40000 to 9999999. This and similar commands can be used to get at only the por ons of a full model that are signicantly stressed. The eec veness of this command can be compromised somewhat by nodal stress averaging, shell stress surface selec on (TOP, MID, or BOT), and other complica ons. The command would typically be followed by the two commands ESLN and NSLE to be able to plot the associated elements and their stresses. If the above part iden ca on scheme using REAL values has been employed, the stress level selec on command

41 of 54

1/17/2009 11:41 AM

ANSYS Tips and ANSYS Tricks

h p://www3.sympa co.ca/peter_budgell/ANSYS_ ps.html

could be followed by a macro that selects all parts that match the REAL types of the selected elements. This would make it possible to see all highly stressed parts. This approach is helpful with complex models with parts visually hidden by other parts. Tip 52: Selec ng Nodes that are Subjected to Nodal Coupling Nodes that are coupled can be selected with commands such as NSEL,S,CP,,1,999999 in order to show only the coupled nodes, and to have the op on of using picking to delete nodal coupling, or for other purposes. Once coupled nodes have been selected, work to evaluate the forces resul ng from the coupling can begin. Similarly, nodes can be selected according to their presence in constraint equa ons (CE), their applied displacement (D), forces applied, and other criteria see the NSEL command for further informa on. Tip 53: /NOPR and /GOPR Speed Up Input Files and Macros When a long input le or macro is read while running ANSYS interac vely, text informa on is wri en to the output screen and op onally to an output le. If a signicant number of *GET and similar opera ons are being executed, a large quan ty of text informa on will be wri en to output. If the input les and macros are known to be fully debugged, they may execute faster if they start with /NOPR and end with /GOPR in order to switch o text output while they are running. If their execu on is causing geometry, nodes, or elements to be generated, a speedup may result from temporarily switching o the genera on of graphics with IMMED,0 and /SHOW,OFF. They can be reac vated with IMMED,1 and /SHOW,TERM. You may want to consider the /UIS command also. Tip 54: Using Commands IMMED and /UIS and /SHOW,OFF to Suppress Plo ng I some mes develop a model interac vely, se ng up some dimensions as parameters, then manually modify and add to the log le that is generated. The resul ng log le becomes an input le that I can use for parametric genera on of a model. When I run this input log le, I don't want all of my various plot commands to be executed, only those for nished model display and results review. This can be implemented with the IMMED,0 (for interac ve execu on), /UIS,REPLOT,0 and /SHOW,OFF commands. They can be reac vated with IMMED,1 and /UIS/REPLOT,1 and /SHOW,TERM. If the graphics output is intended to be sent to a graphics le, the command /SHOW,FILE can be used for reac va on of wri ng to a le previously designated by a /SHOW,lename command. If wri ng to a le, the immediate mode plo ng is o by default. Be warned that if you change to another output graphics lename with the /SHOW command, then come back to the rst lename, the rst le will be overwri en. When rerunning a log le using /INPUT the messages that required clicking "OK" will be generated and execu on will pause. This means that the /INPUT command will not rerun all log les una ended.I have not found the /UIS command to completely stop this, such as when the /CLEAR command is issued. Running batch is some mes desirable. Tip 55: What's the Bauschinger Eect? Comments on Material Yield I rst wanted to do elas c/plas c analysis in ANSYS to get a feel for the onset of failure in an automo ve part. It was of value to show that one proposed crossec on shape was signicantly be er than another. This required me to use plas c material proper es for steel, in nonlinear large deec on analysis in ANSYS. Unfortunately, I had taken neither an academic course in metal forming, nor a ended an ANSYS course in nonlinear analysis. Digging into the ANSYS manuals, the rst thing one has to decide on is whether to use Kinema c Hardening or Isotropic Hardening for the material model. Fortunately, high precision was not needed for what I was doing, so the exact stress/strain curve and the choice of material yield rules were not a big concern. S ll, I wanted to know what I was doing, within reason. The manual men ons the rela onship between kinema c hardening and the Bauschinger eect. A er some poking around, I nally found a basic descrip on of the Bauschinger eect in Timoshenko's Strength of Materials Part II: Advanced Theory and Problems Third Edi on, Krieger, Florida, 1976. Essen ally, a tension test causing slight yielding permanently deforms (causes slip in) unfavorably oriented crystals before other crystals in a specimen. Consequently, upon unloading, the permanently deformed crystals are in some compression. A er reloading with tension, the onset of yield is raised because the deformed crystals do not reach their new slip stress un l the load is higher than the rst me. If the material is compressed a er tension loading, the deformed crystals reach their compression slip stress before the rest of the crystals, with the result that compression yielding starts sooner than in a fresh unstrained specimen. Quo ng Timoshenko, "Thus

42 of 54

1/17/2009 11:41 AM

ANSYS Tips and ANSYS Tricks

h p://www3.sympa co.ca/peter_budgell/ANSYS_ ps.html

the tensile test cycle raises the elas c limit in tension, but lowers the elas c limit in compression." This is the Bauschinger eect. One thing that may aect the choice of a yield model in ANSYS will be what is supported by an element type. Shell 63 does not support nonlinear material proper es at all. Shell 181 supports isotropic hardening but not kinema c hardening. Shell 43 apparently supports both, but it is suggested that Shell 181 is more capable. It should be remembered that ANSYS requires a true strain curve in material characteriza on, not the engineering strain curve, when mul linear curves are entered. In quickanddirty checks on the possibility of failure of a structure, I some mes consider it sucient just to use a bilinear model, with the yield por on of the curve fairly at. This wouldn't do for models of metal forming in manufacturing, but can some mes be used to assess whether structure failure is a concern when some por ons of an elas c model are exceeding yield. It may be desirable to load the structure beyond the design load in order to observe where signicant failure starts, in order to get a feel for margin of safety. This may require arclength analysis. (My use of the word "quick" in "quickanddirty" is overly op mis c.) Some design codes have rules for elas cplas c or for fully plas c analysis that would have to be used, if such an analysis was needed to jus fy or qualify a design legally or to fulll a contract. Tip 56: Thought Experiments Nothing so focuses the mind on the design details of a product as hearing that it failed in tes ng or in service. You don't have to be Einstein to perform the following thought experiment: Suppose that you heard that some aspect of a design had failed in service. The failure could be yielding, buckling, crack growth, fracture, vibra ng to death, unacceptable deforma on, wear or binding, or whatever is appropriate. Brainstorm as to whether it could happen, what could have caused it, and how analysis could highlight what is or could be wrong. Do this thought experiment for as many characteris cs of the product as you can. You may substan ally extend the number of things that you consider in the design, and in the FEA work. It may save someone's neck, either gura vely or literally. Possibili es and "What If's":
What could cause yielding -- are fasteners or welds overloaded? Were their loads even checked -- and for all load cases, or the bounding load cases? Are the bounding load cases complete? Are stresses above yield over a significant region? Are surface stresses of shell elements doing something unusual? Were nonlinearities considered? Were all possible combinations of loading considered? Is there a high load situation that was not considered? Were all components evaluated in FEA? Is there an unusual boundary condition arrangement that has not been considered? Was the FEA mesh too coarse? Were relevant details that cause stress concentrations left out of the model? Can what was discounted as a local stress concentration lead to progressive collapse or crack growth? Can buckling arise? Have both linear and nonlinear approaches to buckling possibilities been considered? Has a portion of the model been represented so simplified that buckling possibility is not detected? Has nonlinear buckling been considered at loads greater than the design loads, so that some sense of the margin of safety is obtained? Can restraint of thermal expansion cause stress and buckling? Crack Growth -- what details exist that could possibly be sites for crack growth? Do surface stresses give any warnings? Where could details be included to reduce crack growth possibilities? Are regions that have geometry that could lead to crack growth highly stressed and/or cyclically stressed? Is direct tension on welds causing Type I fracture loading? Is shear, bending or torsional loading (applied forces and moments, and/or applied displacements and rotations) on structural details causing Type II or Type III fracture loading on welds? Is the loading significant? Is fatigue an issue? Is fracture analysis warranted? Is there a reliable shortcut guide to what is tolerable? Is such a guide even possible? Could crack growth be so rapid that it happens between inspections and causes sudden fracture? Are cracks detectable at a size that does not immediately cause fracture? Should inspection intervals be more frequent when the product is new? Vibration -- what loading could stimulate vibration? What frequencies could drive vibration? Is there adequate structural damping or are there other mechanisms to suppress trouble? Where are the natural frequencies of vibration? Do steady state responses or random vibration responses need to be evaluated? Is flow induced vibration a possibility? Will sound and noise cause destructive vibrations? Have all possible boundary condition arrangements been included in assessing vibration? Will large deformations go outside of what is acceptable? Is the structure stiffness high enough for the product use? Will deformation cause loss of function, contact with the surroundings, binding, interference, collision, or excessive wear of moving parts? Is the design something that can be manufactured with the quality and uniformity required to avoid structural weakness?

The analyst should extend the above items to everything that needs to be considered, or that could go wrong.

43 of 54

1/17/2009 11:41 AM

ANSYS Tips and ANSYS Tricks

h p://www3.sympa co.ca/peter_budgell/ANSYS_ ps.html

Tip 57: Control of Meshing Since I am using ANSYS 5.3, I can't comment on the latest in ANSYS automa c meshing capabili es, but a couple of sugges ons about the basics may be helpful. You can select the lines that have not yet had mesh density applied, with the command "LSEL,S,NDIV,,0" as a check that all lines have had mesh density applied, or for convenience. The same type of command can be used to nd the lines with other mesh densi es. Basic ANSYS training should have taught you that line and area concatena on can help you get mapped meshing, which gives rela vely neat regular meshes such as all foursided area elements, or all sixsided solid elements. This can make a big dierence in some models. Tip 58: Four View Plot When assessing modes of vibra on or deec on of a 3D structure, I have found it convenient (though slower) to generate ANSYS plots showing my model in four views on one sheet of paper or screen plot. The tradi onal views: Front Eleva on (front), Plan (top), Side Eleva on (right), and Isometric (iso), can be posi oned in four windows that are located in the lower le quarter, upper le quarter, lower right quarter, and upper right quarter of the plot, respec vely. (Other standard view layouts can be subs tuted). A displacement plot of a mode shape with PLDISP or PLDISP,1 with these four views ac ve will leave fewer ambigui es about what is happening with mode shapes than a singleview plot. The only shortcoming is that the images are small I prefer to use 11" x 17" paper in landscape mode for these plots. An annecdote I heard from a guy I knew: A U.S. ship entered a foreign shipyard needing a new propeller. The ship's engineer supplied a drawing, and a propeller was cast and installed. The ship was launched and powered up. When set to go forward, the ship went backward the shipyard used the European standard view interpreta on of an American drawing, and the propeller was mirror imaged! The following code can be put into a macro to generate a fourview screen. Customize it as you wish I include commands to turn o PowerGraphics and to use Centroidal sort. This permits clean plots on paper with large models. NOTE: Users may want to set the /DSCALE value to the same level in all four windows with "/DSCALE,ALL,value".
! For information only. Use at your own risk. ! Put these lines in a macro ! Set screen to show four standard views: ! User may want to set /DSCALE to the same value in all windows /WIN,1,LTOP ! Window 1 left top /WIN,2,RTOP ! Window 2 right top /WIN,3,LBOT ! Window 3 left bottom /WIN,4,RBOT ! Window 4 right bottom /WIN,5,OFF ! Turn off Window 5 /VIEW,1,0,1,0 ! Window 1 top (plan) view /VUP,1,Y ! Reference orientation /VIEW,2,1,1,1 ! Window 2 ISO (isometric projection) view /VUP,2,Y ! Reference orientation /VIEW,3,0,0,1 ! Window 3 front (front elevation) view /VUP,3,Y ! Reference orientation /VIEW,4,1,0,0 ! Window 4 right (side elevation) view /VUP,4,Y ! Reference orientation /AUTO,ALL ! Fit all windows /PLOPTS,INFO,1 ! Include information column /PLOPTS,LEG2,0 ! Don't include view information /TYPE,ALL,2 ! Centroid sort, better print that Z-buffer /CPLANE,0 ! Cutting plane /graphics,full ! NOT PowerGraphics (fewer facets?) ! User has to issue the plot command

The next code can be used in a macro to return to a front view in one window. Again, the user may want to customize some of the lines:
! For information only. Use at ! Set screen to show one front /WIN,1,SQUA ! Full /WIN,1,ON ! Turn /WIN,2,OFF ! Turn /WIN,3,OFF ! Turn your own risk. view in Window 1 square Window 1 on Window 1 off Window 2 off Window 3

44 of 54

1/17/2009 11:41 AM

ANSYS Tips and ANSYS Tricks

h p://www3.sympa co.ca/peter_budgell/ANSYS_ ps.html

/WIN,4,OFF /WIN,5,OFF /PLOPTS,INFO,1 /PLOPTS,LEG2,0 /VIEW,1,0,0,1 /VUP,1,Y /TYPE,ALL,2 /CPLANE,0 /graphics,full ! User has to issue the

! Turn off Window 4 ! Turn off Window 5 ! Info on for right column ! Don't show the view information ! Front (front elevation) view ! Reference orientation ! Centroidal sort, better print than Z-buffer ! Cutting plane ! Not PowerGraphics (fewer facets?) plot command

A er running one of the above viewgenera ng macros, the user has to issue a plot command to see the result. Tip 59: Quick Review of Mode Shapes To start prin ng plots of mode shapes directly from ANSYS mode shape results, having the hardcopy window pop up automa cally, type in an input line such as:
SET,1,1$PLDISP$/UI,COPY

The dollar sign separates the commands that are grouped on one input line. Click the hardcopy OK bu on to kick o the hardcopy. You may want to set the print to landscape mode, rst. Then, to print plots of the rest of the mode shapes, type:
SET,NEXT$PLDISP$/UI,COPY

Simply keep repea ng the second line (to avoid retyping, doubleclick it in the ANSYS Input window), and clicking the hardcopy OK bu on, to get the rest of the modes printed. Note that the SET,NEXT command will loop back to the rst mode shape a er the number of modes stored in the RST le has been exhausted. You may see the somewhat odd message:

This comes up because of the /UI,COPY command, and has something to do with the /ZOOM command. Consequently, this method may not work sa sfactorily if your zoom is not o. In viewing mode shapes, it will be typical to have zooming o. The following code fragment read from an input or macro le can automa cally plot a set of mode shapes. *GET commands are used to detect informa on on what substep and frequency are read. The user does not need to know how many modes were generated, so automated plo ng to a le is simpler. The displacement plots will contain substep and frequency informa on. This code should cope with degenerate eigenvalues or rigid body displacements. Execute this from within /POST1 a er a mode case analysis was run, or a er the database and RST le for a mode case analysis are loaded. There is no error check, so this must be used properly. The user will want to test and customize these commands:
! For information only. Use at your set,1,1 pldisp *do,iii,1,9999999 set,next *get,ntotal,active,0,solu,ncmss *get,thefreq,mode,iii,freq *if,ntotal,eq,1,then *exit *endif pldisp

own risk. ! set to the first mode ! plot the first mode ! use a very large number ! set to the next mode ! cumulative substeps -- cycles to 1 if all modes in RST don ! use this line if desired to get frequency into a parameter ! exit do loop if done ! plot the displaced shape

45 of 54

1/17/2009 11:41 AM

ANSYS Tips and ANSYS Tricks

h p://www3.sympa co.ca/peter_budgell/ANSYS_ ps.html

*enddo

Tip 60: Using ANSYS Help

When using ANSYS interac vely, help on any command can be accessed immediately by typing HELP,commandname into the input window. If the HELP applica on has been launched independently, the quick way to get help on a par cular command is to use the "Navigate" and "Help On..." menu choice. Type the command name into the "Help On" text box that pops up, then click the Apply bu on. This will send the help program to the Commands manual for the command name typed. If you click the "Apply" bu on, the "Help On" dialog box remains visible, and can be used to type in other command names.

The online ANSYS help system makes the need for trips to hardcopy documenta on much less frequent. The Help applica on can be launched while ANSYS is running in the background, so ANSYS documenta on can be studied while a large model is solving. Tip 61: The FEA Job Hunt Not strictly an ANSYS issue, I want to put in my own two cent's worth on this topic, which is of interest to all of us. Some me back when I was job hun ng during a recession, I was given a prescreening interview over the phone.

46 of 54

1/17/2009 11:41 AM

ANSYS Tips and ANSYS Tricks

h p://www3.sympa co.ca/peter_budgell/ANSYS_ ps.html

The interviewer owned a consul ng rm. It rapidly became apparent that he had been lied to, many mes and by many people, about their FEA experience. I had been using a company's proprietary FEA code and was not experienced with the major commercial programs, so was immediately suspect. Another me, I heard of an applicant using another guy's FEA model images to present in a job interview as "evidence" of his own experience. I interviewed a guy who claimed experience with "a locally available product I wouldn't know." It became apparent that he had been coached and knew only the buzz words. When job hun ng it is challenge enough to compete with other experienced people misrepresenta on we don't need. The FEA job applicant should be able to present evidence of academic and/or postacademic training. The applicant should have a por olio of previous work. The applicant should be instructed to bring these to the interview. The por olio informa on can be a li le awkward when the products are proprietary. If it would be illegal to present any images of work done, then I suggest a keen applicant independently develop a set of small models using ANSYS/ED that illustrate the FEA techniques with which the applicant is familiar. The applicant should be able to describe the modeling considera ons, techniques, compromises, pi alls, and postprocessing possibili es of the examples. Of course, with good references and personal networking, the above situa ons are less of a concern. S ll, as with computer programming, the produc vity of individuals can vary surprisingly. Consequently, the applicant should be able to describe what makes FEA produc vity possible, some of the modeling shortcuts possible, and give an energe c, ar culate and condent presenta on of self. Ques ons of the "how would you model this" and "how would you handle this" type are just as relevant as they are in other professional interviews. I have had both excellent and very poor interviewers assessing me. With some, I've had to politely direct the interview just to be able to point out my range of skills. On the basis of my own small set of experiences I would say that rst impressions are very telling if you get a bad feeling about a place during the interview, it may be for a good reason. If you see a place as being a welcoming workplace with a healthy environment, and the people you meet behave well and are socially skilled, the odds are that as long as you func on as a valuable employee, life there will be OK. I've had an interviewer keep me wai ng for an hour and a half past the appointment me. I got the job, and found that things were frequently out of control, and the guy was impossible to see. I had an unpleasant "stress interview", and sure enough, the place was cheap, had an unhealthy work life, and poorly structured leadership. Another interviewer struck me as highly manipula ve, trying to goad me into making nega ve comments about employers and ethnic groups (of all thingstalk about playing with rea personnel manager who apparently fancied himself a psychologist), and giving me inaccurate data on hiring inten ons. A friend of mine got the job and detested it, saying the place was poisoned with poli cal games. I've had a thoroughly posi ve interview, got the job, and found I was with great people. Ignore their hype: What you see is (most likely) what you get. To end this on a few posi ve notes: Employers want to hire someone who will be a success for them. Your boss will be very happy if you make everyone's life easier through your contribu ons. Prepare yourself to give a picture of your range of skills, energy, condence, communica on skill, ability to work with others, range of past experience, and ability to memanage a set of responsibili es. Some employers begrudge every penny, but others are pleased to compensate you a rac vely if you produce well. Size up the poten al employer carefully, for your me is valuable. Best of luck. Tip 62: *VPUT and DESOL I have no idea why the commands manual entry for *VPUT describes the parameter ParR as "The name of the resul ng vector array parameter." The parameter ParR is the source of data, NOT what is changed by *VPUT. Note that *VPUT can write to node results, and to an element ETABLE. There is a dierence between wri ng to "nodal degree of freedom results", and what the manual calls "element nodal results" with *VPUT. The *VPUT command can write informa on to the node results which can then be plo ed as if it was the nodal results, using the PLNSOL command. The command manual tells us that the eect is permanent for degree of freedom results (changing the database), but temporary for all others (derived results, not changing the underlying database). Wri ng stress data with *VPUT does not aect element plots with PLESOL,S,op on. If you use *VPUT to write to "element nodal stress results", immediately do a PLNSOL plot to see the eect, do a PLDISP

47 of 54

1/17/2009 11:41 AM

ANSYS Tips and ANSYS Tricks

h p://www3.sympa co.ca/peter_budgell/ANSYS_ ps.html

plot (seeing unaected degree of freedom data), and then do another PLNSOL stress plot, the la er PLNSOL plot shows original data that is unaected by *VPUT. The temporary modied PLNSOL stress plot eect does not cooperate with PowerGraphics to give a plot with contour discon nui es. Before using the *VPUT temporary eect in plo ng nodal stress (or other derived) results, test the method carefully for errors, and for any errors in what I have just said! Warning: In a shell model, the plot of temporary *VPUT derived data may make the plot legend indicator for the TOP, MID or BOT surface of the shell elements meaningless annotate the plot to inform the reviewer. The DESOL command does write derived informa on into the database to the nodes of elements, on a permanent basis. The command is powerful, and poten ally dangerous. Annotate plots and change tles to inform the reviewer. It can be painfully slow to apply DESOL to every node of every element, element by element, in a large model. Tip 63: How to Divide One Element Table Column by Another To divide one column of an element table (ETABLE) by another column, use the SEXP command. Make sure the denominator is nonzero! Per the commands manual, SEXP "forms an element table item by exponen a ng and mul plying." The result of SEXP is formed from (ABS(Lab1)**EXP1)*(ABS(Lab2)**EXP2). Because of the absolute value opera ons that protect ANSYS from complex numbers being generated, you will get the absolute value of the answer you want. To divide with SEXP, use a posi ve exponent EXP1=+1 for the numerator Lab1, and a nega ve exponent EXP2=1 for the denominator Lab2. If you must have the ETABLE column answer with its posi ve or nega ve sign, one way to get it would be to use a blend of SEXP and SMULT. Given ETABLE columns A and B, you want a column of A/B values with their signs. Use SMULT to form C=A*B which has the same sign as A/B. Use SEXP to form D=1/(ABS(B)**2) which is posi ve. Use SMULT to form E=C*D. Now the column E=A/B with its correct sign. Tip 64: Element Tables (ETABLE) and Array Data Exchange An Example Note that *VGET and *VPUT can communicate with an ETABLE and with an Array. In this way, informa on that can only be obtained in either an ETABLE or an Array can be moved back and forth for manipula on, evalua on, and display. You have to be inside /POST1 to use ETABLE. SOLVE has to have been executed in order for ETABLE data to be available. In brief tes ng, I found par al solve execu on not to be sucient to make any data available for an element table, for example, element volume. In order to use *VPUT on an ETABLE, the array and ETABLE column will have to already exist. Create the ETABLE column by making a copy of an exis ng ETABLE column (you can use the SADD command, for example), or by crea ng a new dummy column from model informa on. Give the new column an appropriate name for the data that will come from the array. If selec on of only a subset of your elements is in place, or if there are gaps in the element numbering, it may be preferable to use a *VMASK during the *VGET and *VPUT calls to avoid warning messages. The *VMASK array contents can be based on a test of element selec on. Array size can be based on MIN and MAX values for selected element numbering, if you use an oset during data movement. Minimizing array size is a good reason for compressing node and element numbers when developing a large model, before load cases, solu ons and array dimensions are prepared. An example with shell elements: put shell element volume in an ETABLE, shell element area in an array, move the area array into an ETABLE column, divide volume by area to get shell element thickness for each element in a new ETABLE column, and do a colored ETABLE contour plot of your model's shell element thicknesses (do not average the values in the ETABLE plot). If the shell element is of varying thickness, this process generates an average for the element. Print a colored picture of this plot. Augment this with an element plot using /ESHAPE,1 and coloring based on REAL constant values. This should help with "pesky visitors" who are always wondering how thick certain parts of a complex shell model are. It may help you catch some modeling errors. Here is a macro to generate the ETABLE thickness column and plot the model colored by element thickness. This macro is wri en to process Shell63 elements in the selected set of elements. It is a basic macro with no tes ng to prevent error condi ons, or "cleanup" a er execu on. It illustrates movement of an array column into an element table column, use of masks, oset of the transferred data to minimize array and element table size, and division of one ETABLE column by another using the SEXP command. The macro has to be reexecuted if the model is changed an ETABLE update would not be sucient. The denominator that contains element area in the divide opera on should automa cally be nonzero because all shell elements have areas.

48 of 54

1/17/2009 11:41 AM

ANSYS Tips and ANSYS Tricks

h p://www3.sympa co.ca/peter_budgell/ANSYS_ ps.html

! ETABLE and Array usage and interaction example. ! For illustration only. Use at your own risk. ! This example is used on SHELL63 elements. ! An array is created called "aaa", element selection may be reduced, ! and element tables are used. A plot results. ! Run from within /POST1 ! Put element volume in an ETABLE, and element area in an array. ! Move the area array data into the ETABLE ! Divide element volume by element area to get an element thickness column. ! Element thickness value should be the average for variable thickness elements. ! Plot the ETABLE thickness data for a view of the Shell 63 elements ! that are contour colored according to the element thickness. ! esel,r,ename,,63 ! re-select only the SHELL63 elements aaa= ! kill the array to be used *get,xmax,elem,,num,max ! what is the highest element number selected? ! element number compression will be desirable *get,xmin,elem,,num,min ! minimum element number *dim,aaa,array,xmax-xmin+1 ! array to hold areas has to be this big *vget,aaa(1),elem,xmin,esel ! fill array with info on whether element is selected ! -1=not selected, 0=undefined, 1=selected ! offset with xmin (see the manual) *vmask,aaa(1) ! use element selection info as a mask *vget,aaa(1),elem,xmin,geom ! fill the array with geom info on the elements ! for shell elements this is AREA. Offset with xmin etable,volu,volu ! create element table column with element volume sadd,geom,volu, ,0,1 ! create dummy column to contain other data *vmask,aaa(1) ! use array as a mask (geom data is positive or zero) *vput,aaa(1),elem,xmin,etab,geom ! put data into ETABLE "geom" column. Offset with xmin sexp,thick,volu,geom,1,-1 ! divide volume by area, get avg. shell element thick. /title,ETABLE Plot of Shell 63 Element Thickness Values pletab,thick,noav

You can then select a few elements of interest, and list the element table for the column containing the thickness, to get a numerical thickness value for those elements. You could use *VGET to put the REAL values for the shell elements into an array, and transfer that data into an ETABLE column. Then when you list ETABLE informa on for a selected element, you could see the REAL and the thickness value sidebyside. Contour colors could be explicitly assigned to the dierent thicknesses found in the ETABLE column, if the number of thicknesses was not too great. You could place a bu on on the toolbar that calls a macro that (1) checks that the user is in /POST1, (2) checks that there is results data in the database, (3) asks you to pick elements with the mouse, then (4) generates and prints the ETABLE values for the REAL, thickness, and stress values of those elements, and (5) nally cleans up and restores the original element selec on. Another use: Put shell element midplane Sx, Sy, and Sxy into columns, and mul ply them by the element thickness column. The resul ng data would be similar to TX, TY, and TXY data that can be obtained directly, but now would be in the direc on dened by the ac ve coordinate system. A macro could (1) have the user pick nodes or keypoints to dene a local coordinate system, (2) make it ac ve, (3) develop this ETABLE data and generate plots colored by loadperunitlength in the known direc ons, then (4) clean up. This could be done for SINT or SEQV if desired. The possibili es are endless. Tip 65: Error Es ma on, PowerGraphics, and ERNORM Error Es ma on will not be available when you enter /POST1 if PowerGraphics is ac ve. If you turn o PowerGraphics, then the "Op ons for Output" in the GUI will oer the ERNORM se ng that ac vates error es ma on. If PowerGraphics is not ac ve, then the "Op ons for Output" in the GUI will not oer the AVRES se ng that controls discon nuity of contours at changes of material and REAL value for elements. The rst me I encountered this was when I couldn't get an error report, and couldn't imagine why, un l I had poked around for a while. I had entered /POST1 with /PowerGraphics ac ve. ERNORM is ON by default when you enter /POST1, but only if PowerGraphics is OFF with /GRAPHICS,FULL. Tip 66: Concatenate and Mesh Last One of the things I have seen go wrong in model development is: I have concatenated lines and/or areas, then performed a boolean opera on on them. Model problems resulted and I had to start from scratch (I reran most

49 of 54

1/17/2009 11:41 AM

ANSYS Tips and ANSYS Tricks

h p://www3.sympa co.ca/peter_budgell/ANSYS_ ps.html

of the log le); I suggest that boolean opera ons happen rst concatenate and mesh last. (This was with ANSYS 5.3; solid modeling problems are reduced with each version.) I have found that when three or more areas are concatenated, the lines that are implicitly concatenated have to be concatenated manually before successful mapped meshing will proceed. When only two areas are concatenated, the lines concatenate automa cally. When concatenated areas are used to map mesh a volume, it may happen that an adjacent volume dened by an area that is part of the concatenated set will not mesh un l the "pseudoarea" that results from the concatena on is deleted. I've had occasions when this did and did not happen. The concatenated lines may need cleanup, also. It is possible that if the volumes that do not require concatenated areas in order to be meshed, are meshed rst, that the remaining volumes can have area and line concatena on created a er, and then be meshed themselves, without error messages. This considera on may compromise easy mesh renement and adap ve meshing. It may be necessary to go to tetrahedral elements for easy meshing, unless ANSYS revisions have xed up mapped meshing concatena on. Trivia: I rst encountered the word "contatenate" when using an IBM 370 a long me back. A neighbour told me that "concatenate" is based on the La n word for "chain". Tip 67: ANSYS Output of Data to Files for Use by Other Programs Numerical data contained in parameters can be output into ASCII les using the *CFOPEN, the *VWRITE, and the *CFCLOS commands. The *VWRITE command only works when called from an input le that includes a format statement similar to FORTRAN. The following simple macro makes the *VWRITE command easy to use:
! Put this code into a macro file called "writer.mac" ! call with: writer,data ! write data in arg1 to a file previously opened with *CFOPEN ! later on, close the file with *CFCLOSE *vwrite,arg1 (E16.8)

The following ANSYS /INPUT data test will demonstrate the use of the above macro. In this test, the macro has been called "writer.mac" and it is in the current directory. Either numbers or parameters that evaluate to numbers can be used in the following commands:
! Example of data output to file from ANSYS *cfopen,myoutput,dat writer,123 writer,234 /clear writer,345 writer,456 *cfclos

Execu ng the above commands from within ANSYS generates the following data in the le "myoutput.dat", and demonstrates that the output le remains open in spite of the /CLEAR command. The following is the content of the le "myoutput.dat":
.12300000E+03 .23400000E+03 .34500000E+03 .45600000E+03

The lename used in the demo ended in ".dat" so that the data would be accessible to the MathCad program from MathSo , Inc. The above procedure makes it possible to get ANSYS informa on out into another program without errors in manual transcrip on. If you can get the ANSYS informa on into a parameter, it can be moved to an external le. Data can be read back into ANSYS with the *VREAD command. Similar methods can be used to move arrays full of data. Note that the *VGET and *VPUT commands can move data between element tables and arrays, and the arrays can be used to put data into external text les, so signicant automated data movement is possible. This approach can help to reduce data errors in reports. Here is an example of temporarily switching the ANSYS /OUTPUT informa on from the default, to a le. Note

50 of 54

1/17/2009 11:41 AM

ANSYS Tips and ANSYS Tricks

h p://www3.sympa co.ca/peter_budgell/ANSYS_ ps.html

that certain list informa on will not go to the le when the GUI is in use (read the manual).
! The following code switches /OUTPUT to a file, ! writes two comments, writes PRSECT information on ! linearized stresses along a previously defined path, ! then returns /OUTPUT to the default. /output,lin_path,out /COM,Linearized Path Results from PRSECT /COM,Compare Results with Code Allowables PRSECT, ,0 /output

This gives a permanent record that is independent of plo ed results. Tip 68: Wri ng Array Columns to Output or to Files The *VWRITE command can be used to output an array column, in addi on to scalar parameters. The array posi on from which the prin ng will start must be indicated when execu ng the *VWRITE command. As men oned above, the *VWRITE command cannot be executed inside the GUI, it has to be executed from an input le or macro. The *VWRITE command prints the data from the star ng posi on on down to the end of the column. The output that results can be redirected with the /OUTPUT or with the *CFOPEN and *CFCLOS commands. The following two macros can be used to make calling the *VWRITE command easy. The array must exist, having been created with a *DIM command. The rst macro works on a 1dimensional array parameter. Note the instruc on on how to call the macro, with the array parameter name surrounded by single quotes in order to delay the evalua on.
! ! ! ! ! ! ! ! ! This macro will print a 1-dimensional array according to the starting position indicated. If this macro is called WRITEAR1.MAC and an array called COL1DATA is to be printed from position COL1DATA(1) to the end of the array then call this macro with the statement: WRITEAR1,'COL1DATA',1 setting the name of the array in single quotes. The user may wish to change the FORMAT statement.

*vwrite,arg1(arg2) (E16.8)

The second works on a 2dimensional array parameter. The macro call will include the row and column posi on from which to start. The *VWRITE statement will cause prin ng of a column of the 2dimensional array. When calling the macro, the array parameter name is, as above, enclosed with single quotes to delay evalua on.
! ! ! ! ! ! ! ! ! This macro will print a column of a 2-dimensional array according to the starting position indicated. If this macro is called WRITEAR2.MAC and an array called MYDATA2D is to be printed from position MYDATA2D(1,2) to the end of column 2 then call this macro with the statement: WRITEAR2,'MYDATA2D',1,2 setting the name of the array in single quotes. The user may wish to change the FORMAT statement.

*vwrite,arg1(arg2,arg3) (E16.8)

Given that all ANSYS arrays are implicitly 3dimensional, the second macro above could be used to print out a 1dimensional array if the second calling parameter is set to one. A similar macro can be wri en to print a "column" of a 3dimensional array. If a term in the array is MYARRAY(III,JJJ,KKK) then the *VWRITE command will cycle through the values of the III index when prin ng out data. The macro for a 3dimensional array could be wri en so that it tests ARG2, ARG3, and ARG4 to see if they are zero. If they are zero, then they presumably were not entered, and the correct form of a *VWRITE command could be used to print a scalar, 1D array, 2D array, or 3D array, as appropriate. Such a macro is illustrated below. Its use would be very error prone without error checking code. A scalar need not have its name enclosed in single quotes in calling this macro, but an array would have to be enclosed in single quotes as in the above examples. A user may want to customize this macro to change the FORMAT statements, or to remove the /NOPR and /GOPR commands.

51 of 54

1/17/2009 11:41 AM

ANSYS Tips and ANSYS Tricks

h p://www3.sympa co.ca/peter_budgell/ANSYS_ ps.html

! ! ! ! ! ! !

Macro to write a scalar or an array column, as appropriate. Indicate the starting position for *VWRITE if an array is used. Enclose an array parameter name in single quotes. ################# Examples, if this macro is called WRITER.MAC: writer,aaa ! if aaa is a scalar writer,'bbb',1,3,2 ! if bbb is a 3-D array parameter Note the /NOPR and /GOPR commands. They will overwrite user settings. ! reduce the amount printed to /OUTPUT ! if nonzero an array is used ! if not a 2-D array ! if not a 3-D array

/nopr *if,arg2,ne,0,then *if,arg3,eq,0,then arg3=1 *endif *if,arg4,eq,0,then arg4=1 *endif *vwrite,arg1(arg2,arg3,arg4) (E16.8) *else *vwrite,arg1 (E16.8) *endif /gopr

! if a scalar

! switch on /OUTPUT

Test these macros thoroughly before use. Note that they contain no error handling code. Warning: It is par cularly dicult to remember to surround the name of the array parameter with single quotes. Tip 69: Synthesizing Parameter Names and Manipula ng Jobnames and Long Strings in APDL Although I haven't found documenta on reference to the following tricks, they work in ANSYS 5.3, and presumably will in future. The ability to synthesize parameter names, and to do other text manipula on, could lead to some very crea ve ac vi es in "programming" ANSYS methods and in macro wri ng. Parameter names themselves can be synthesized by chaining text strings together. Remember that there is a limit on the number of parameters in a model arrays must be used to get around this, if it is a problem. Try these statements in ANSYS manually enter these lines one at a me in the ANSYS Input window, and check what turns up when the *STATUS command is issued (scroll down to the bo om of the STATUS text window that pops up):
aaa='qwer' bbb='tyui' %aaa%%bbb%=12345 *status %aaa%1234=5 *status *do,iii,1,9$abc%iii%=iii$*enddo *status

For what it's worth, you can even store ANSYS commands in parameters, and execute them. I encountered some trouble execu ng commands with commas embedded inside the character parameters, but the following worked. Give them a try:
aaa='nplo' %aaa% a='*get' b='xx' c='active' d='0' e='time' f='wall' %a%,%b%,%c%,%d%,%e%,%f% *status,%b% thetime=%b% /title,%a%,%b%,%c%,%d%,%e%,%f% /repl

yields

%thetime%

Parameters that hold text data are limited to 8 characters. Several text variables can be chained together (concatenated) using the "percent" sign. The user should experiment to see how blanks are truncated. The following example illustrates chaining. The strings are concatenated in the /TITLE command, and the /REPL command shows the result in the plot tle.

52 of 54

1/17/2009 11:41 AM

ANSYS Tips and ANSYS Tricks

h p://www3.sympa co.ca/peter_budgell/ANSYS_ ps.html

xxx='The 1st' yyy=' & 2nd' /TITLE,%xxx%%yyy% /REPL

Situa ons when this trick might be used could be to save and employ long tle strings, annota on strings, or job names for the /FILNAME command. The method can use several parameters, or several terms of an array parameter. A jobname can be up to 32 characters long, so up to four parameters, or 4 terms in an array parameter, would be needed. Note that the *GET command can read in a jobname, with the *GET statement poin ng to the character in the jobname where the parameter will begin to read the string. An example of array use is:
*DIM,aaa,char,4 aaa(1)='First te' aaa(2)='rm & 2nd' /TITLE,%aaa(1)%%aaa(2)% /repl

A database could be saved with statements such as these, in which parameter "aaa" is text and "num" is an integer. The contents of "num" could be the results of a load step "num" and the le name would iden fy the load step number:
aaa='model' num='456' SAVE,%aaa%%num%,db SAVE,%aaa%123,db SAVE,myjob%num%,db

Another use is with a parameter inside percent signs grouped with text with all inside single quotes. Consider this example, which was used to delete load step les in a complex applica on:
! Parameter "compname" contains the Jobname of a load step file *do,jjj,st1,st2,st3 *if,jjj,lt,10,then /delete,compname,'s0%jjj%' *else /delete,compname,'s%jjj%' *endif *enddo

Both the RESUME command and the /CLEAR command can destroy the counter used in a *DO loop. I have used the PARSAV command before RESUME, and the PARRES command immediately a er, in order to recover the counter and other looping parameters when placing RESUME inside a *DO loop. The user should test this technique before using the parameters saved and restored may undesirably overwrite parameters in the le that is resumed. Look at this /CLEAR example; it illustrates what can be done:
! test of looping fini *do,iii,1,3 parsav,all,xxx,parm /clear parres,new,xxx,parm *enddo ! exit whatever is active ! be prepared to hit OK button

These methods can make it possible to program considerable automa on into ANSYS, using the ability to assemble parameter names, parameter contents, commands, and le names from le ers and numbers. Tip 70: Solid Elements 95 and 92 Eciency and Interconnec on These two solid elements have midside nodes, so they follow curved surfaces nicely. Fewer elements are needed than with Solid45 8node bricks, for equivalent accuracy. Note the ANSYS manual comments that the simpler atsided elements may be preferred for material nonlinearity. However, nonlinearity is supported by Solid92 and Solid95. The Solid45 tetrahedral element is "not recommended" in the ANSYS manuals because of its low accuracy in predic ng stresses the higher order Solid92 and 95 tetrahedral op on elements do not have these warnings, and may be preferred in some cases.

53 of 54

1/17/2009 11:41 AM

ANSYS Tips and ANSYS Tricks

h p://www3.sympa co.ca/peter_budgell/ANSYS_ ps.html

Solid element 95 is a 20node brick element. It also supports a prism, pyramid, and tetrahedral element shape op on. At revision 5.3 of ANSYS, my tes ng suggests that the prism and pyramid forms are not generated by the automa c volume mesher. At the 5.5 revision, pyramids may be generated by the mesher at the interface between the brick form, and the tetrahedral form. Brief tes ng I did suggests that meshing of volumes can successfully interface the brick and tetrahedral forms. The tetrahedra formed at the interface with brick elements do not have midside nodes where they would not exist on the matching brick elements, so there should not be a big mismatch problem at the interface. These elements that have a midside node missing are considered to be degenerate forms in the ANSYS manuals, and are not recommended in regions with high stress gradients, or where exace stress values are important. The Solid92 element is a 10 note tetrahedron it should act the same as the 10 node version of the Solid95 element in producing results. However, it executes signicantly faster than the 10 node Solid95 element, presumably because the so ware is not dealing with the redundant extra 10 nodes. In large models, this speedup will be of value to users, so Solid92 elements should be considered where Solid95 tetrahedral forms would otherwise be employed in large structural models.

Up to Contents Return to Main Page FEA and Op miza on Introduc on Page FEA Modeling Issues Page
1998, 1999 by Peter C. Budgell -- You are welcome to print and photocopy these pages (don't plagiarize or sell the contents).

May 27, 1999 Email Address: Please see my main page. Link to: The ANSYS Home Page at www.ansys.com Link to: ANSYS Technical Overview Recommended Reading For more links, Return to Links on Main Page.

54 of 54

1/17/2009 11:41 AM

You might also like