This tutorial was created using ANSYS 7.0 to solve a simple 3D space frame problem.

Problem Description

The problem to be solved in this example is the analysis of a bicycle frame. The problem to be modeled in this example is a simple bicycle frame shown in the following figure. The frame is to be built of hollow aluminum tubing having an outside diameter of 25mm and a wall thickness of 2mm.


Bike Geometry


The first step is to simplify the problem. Whenever you are trying out a new analysis type, you need something (ie analytical solution or experimental data) to compare the results to. This way you can be sure that you've gotten the correct analysis type, units, scale factors, etc.

The simplified version that will be used for this problem is that of a cantilever beam shown in the following figure:

simple pipe

Preprocessing: Defining the Problem

    1. Give the Simplified Version a Title (such as 'Verification Model').

      Utility Menu > File > Change Title


    2. Enter Keypoints

      For this simple example, these keypoints are the ends of the beam.


      • We are going to define 2 keypoints for the simplified structure as given in the following table
        keypoint coordinate
        x y z
        1 0 0 0
        2 500 0 0


      • From the 'ANSYS Main Menu' select:
        Preprocessor > Modeling > Create > Keypoints > In Active CS


    3. Form Lines

The two keypoints must now be connected to form a bar using a straight line.


      • Select: Preprocessor > Modeling> Create > Lines > Lines > Straight Line.


      • Pick keypoint #1 (i.e. click on it). It will now be marked by a small yellow box.


      • Now pick keypoint #2. A permanent line will appear.


      • When you're done, click on 'OK' in the 'Create Straight Line' window.


    1. Define the Type of Element

It is now necessary to create elements on this line.


      • From the Preprocessor Menu, select: Element Type > Add/Edit/Delete.


      • Click on the 'Add...' button. The following window will appear:


      • For this example, we will use the 3D elastic straight pipe element as selected in the above figure. Select the element shown and click 'OK'. You should see 'Type 1 PIPE16' in the 'Element Types' window.


      • Click on the 'Options...' button in the 'Element Types' dialog box. The following window will appear:


      • Click and hold the K6 button (second from the bottom), and select 'Include Output' and click 'OK'. This gives us extra force and moment output.


      • Click on 'Close' in the 'Element Types' dialog box and close the 'Element Type' menu.


    1. Define Geometric Properties

We now need to specify geometric properties for our elements:


      • In the Preprocessor menu, select Real Constants > Add/Edit/Delete


      • Click Add... and select 'Type 1 PIPE16' (actually it is already selected). Click on 'OK'.


      • Enter the following geometric properties:
              Outside diameter    OD:   25
              Wall thickness  TKWALL:    2
        This defines an outside pipe diameter of 25mm and a wall thickness of 2mm.


      • Click on 'OK'.


      • 'Set 1' now appears in the dialog box. Click on 'Close' in the 'Real Constants' window.


    1. Element Material Properties

You then need to specify material properties:

      • In the 'Preprocessor' menu select Material Props > Material Models...


      • Double click Structural > Linear > Elastic and select 'Isotropic' (double click on it)


      • Close the 'Define Material Model Behavior' Window.

        We are going to give the properties of Aluminum. Enter the following field:

          EX 70000
        PRXY 0.33


      • Set these properties and click on 'OK'.


    1. Mesh Size
      • In the Preprocessor menu select Meshing > Size Cntrls > ManualSize > Lines > All Lines


      • In the size 'SIZE' field, enter the desired element length. For this example we want an element length of 2cm, therefore, enter '20' (i.e 20mm) and then click 'OK'. Note that we have not yet meshed the geometry, we have simply defined the element sizes.

        (Alternatively, we could enter the number of divisions we want in the line. For an element length of 2cm, we would enter 25 [ie 25 divisions]).

It is not necessary to mesh beam elements to obtain the correct solution. However, meshing is done in this case so that we can obtain results (ie stress, displacement) at intermediate positions on the beam.


    1. Mesh

Now the frame can be meshed.

      • In the 'Preprocessor' menu select Meshing > Mesh > Lines and click 'Pick All' in the 'Mesh Lines' Window


    1. Saving Your Work


Utility Menu > File > Save as.... Select the name and location where you want to save your file.

Solution Phase: Assigning Loads and Solving


    1. Define Analysis Type


      • From the Solution Menu, select 'Analysis Type > New Analysis'.


      • Ensure that 'Static' is selected and click 'OK'.


    1. Apply Constraints


      • In the Solution menu, select Define Loads > Apply > Structural > Displacement > On Keypoints


      • Select the left end of the rod (Keypoint 1) by clicking on it in the Graphics Window and click on 'OK' in the 'Apply U,ROT on KPs' window.


      • This location is fixed which means that all translational and rotational degrees of freedom (DOFs) are constrained. Therefore, select 'All DOF' by clicking on it and enter '0' in the Value field and click 'OK'.


    1. Apply Loads

As shown in the diagram, there is a vertically downward load of 100N at the end of the bar


      • In the Structural menu, select Force/Moment > on Keypoints.


      • Select the second Keypoint (right end of bar) and click 'OK' in the 'Apply F/M' window.


      • Click on the 'Direction of force/mom' at the top and select FY.


      • Enter a value of -100 in the 'Force/moment value' box and click 'OK'.


      • The force will appear in the graphics window as a red arrow.

The applied loads and constraints should now appear as shown below.

[Loads & Constraints]


    1. Solving the System

We now tell ANSYS to find the solution:


    • Solution > Solve > Current LS

Postprocessing: Viewing the Results


    1. Hand Calculations

Now, since the purpose of this exercise was to verify the results - we need to calculate what we should find.


The maximum deflection occurs at the end of the rod and was found to be 6.2mm as shown above.


The maximum stress occurs at the base of the rod and was found to be 64.9MPa as shown above (pure bending stress).


    1. Results Using ANSYS



      • from the Main Menu select General Postproc from the 'ANSYS Main Menu'. In this menu you will find a variety of options, the two which we will deal with now are 'Plot Results' and 'List Results'


      • Select Plot Results > Deformed Shape.


      • Select 'Def + undef edge' and click 'OK' to view both the deformed and the undeformed object.


      • Observe the value of the maximum deflection in the upper left hand corner (shown here surrounded by a blue border for emphasis). This is identical to that obtained via hand calculations.


    1. For a more detailed version of the deflection of the beam,


      • From the 'General Postproc' menu select Plot results > Contour Plot > Nodal Solution.


      • Select 'DOF solution' and 'USUM'. Leave the other selections as the default values. Click 'OK'.


      • You may want to have a more useful scale, which can be accomplished by going to the Utility Menu and selecting Plot Controls > Style > Contours > Uniform Contours


      • The deflection can also be obtained as a list as shown below. General Postproc > List Results > Nodal Solution ... select 'DOF Solution' and 'ALL DOFs' from the lists in the 'List Nodal Solution' window and click 'OK'. This means that we want to see a listing of all translational and rotational degrees of freedom from the solution. If we had only wanted to see the displacements for example, we would have chosen 'ALL Us' instead of 'ALL DOFs'.


      • Are these results what you expected? Again, the maximum deflection occurs at node 2, the right end of the rod. Also note that all the rotational and translational degrees of freedom were constrained to zero at node 1.


      • If you wanted to save these results to a file, use the mouse to go to the 'File' menu (at the upper left-hand corner of this list window) and select 'Save as'.


For line elements (ie beams, spars, and pipes) you will need to use the Element Table to gain access to derived data (ie stresses, strains).


      • From the General Postprocessor menu select Element Table > Define Table...


      • Click on 'Add...'

        Define Additional Element Table Items


      • As shown above, in the 'Item,Comp' boxes in the above window, select 'Stress' and 'von Mises SEQV'


      • Click on 'OK' and close the 'Element Table Data' window.


      • Plot the Stresses by selecting Plot Elem Table in the Element Table Menu


      • The following window will appear. Ensure that 'SEQV' is selected and click 'OK'


      • If you changed the contour intervals for the Displacement plot to "User Specified" you may need to switch this back to "Auto calculated" to obtain new values for VMIN/VMAX.Utility Menu > PlotCtrls > Style > Contours > Uniform Contours ...


        Again, select more appropriate intervals for the contour plot


      • List the Stresses
        • From the 'Element Table' menu, select 'List Elem Table'
        • From the 'List Element Table Data' window which appears ensure 'SEQV' is highlighted
        • Click 'OK'

        Note that a maximum stress of 64.914 MPa occurs at the fixed end of the beam as predicted analytically.

Bending Moment Diagrams

To further verify the simplified model, a bending moment diagram can be created. First, let's look at how ANSYS defines each element. Pipe 16 has 2 nodes; I and J, as shown in the following image.

To obtain the bending moment for this element, the Element Table must be used. The Element Table contains most of the data for the element including the bending moment data for each element at Node I and Node J. First, we need to obtain obtain the bending moment data.


    • General Postproc > Element Table > Define Table... . Click 'Add...'.

      Define Additional Element Table Items


    • In the window,
      1. Enter IMoment as the 'User label for item' - this will give a name to the data
      2. Select 'By sequence num' in the Item box
      3. Select 'SMISC' in the first Comp box
      4. Enter SMISC,6 in the second Comp box
      5. Click 'OK'

      This will save all of the bending moment data at the left hand side (I side) of each element. Now we need to find the bending moment data at the right hand side (J side) of each element.


    • Again, click 'Add...' in the 'Element Table Data' window.
      1. Enter JMoment as the 'User label for item' - again, this will give a name to the data
      2. Same as above
      3. Same as above
      4. For step D, enter SMISC,12 in the second Comp box
      5. Click 'OK'


    • Click 'Close' in the 'Element Table Data' window and close the 'Element Table' Menu. Select Plot Results > Contour Plot > Line Elem Res...

      Plot Line-Element Results


    • From the 'Plot Line-Element Results' window, select 'IMOMENT' from the pull down menu for LabI, and 'JMOMENT' from the pull down menu for LabJ. Click 'OK'. Note again that you can modify the intervals for the contour plot.


      Now, you can double check these solutions analytically. Note that the line between the I and J point is a linear interpolation.


    • Before the explanation of the above steps, enter help pipe16 in the command line as shown below and then hit enter.

      ANSYS Input Window


    • Briefly read the ANSYS documentation which appears, pay particular attention to the Tables near the end of the document (shown below).

      Table 1. PIPE16 Item, Sequence Numbers, and Definitions for the ETABLE Commands

      node I
      name item e Definition
      MFORX SMISC 1 Member forces at the node
      MMOMX SMISC 4 Member moments at the node

      Note that SMISC 6 (which we used to obtain the values at node I) correspond to MMOMZ - the Member moment for node I. The value of 'e' varies with different Element Types, therefore you must check the ANSYS Documentation files for each element to determine the appropriate SMISC corresponding to the plot you wish to generate.

Command File Mode of Solution

The above example was solved using the Graphical User Interface (or GUI) of ANSYS. This problem can also been solved using the ANSYS command language interface. To see the benefits of the command line clear your current file:

  • From the Utility menu select: File > Clear and Start New
  • Ensure that 'Read File' is selected then click 'OK'
  • select 'yes' in the following window.

Copy the following code into the command line, then hit enter. Note that the text following the "!" are comments.

/PREP7			! Preprocessor
K,1,0,0,0,  		! Keypoint, 1, x, y, z
K,2,500,0,0,		! Keypoint, 2, x, y, z
L,1,2  			! Line from keypoint 1 to 2
ET,1,PIPE16 		! Element Type = pipe 16
KEYOPT,1,6,1		! This is the changed option to give the extra force and moment output
R,1,25,2,		! Real Constant, Material 1, Outside Diameter, Wall thickness
MP,EX,1,70000		! Material Properties, Young's Modulus, Material 1, 70000 MPa
MP,PRXY,1,0.33   	! Material Properties, Major Poisson's Ratio, Material 1, 0.33
LESIZE,ALL,20           ! Element sizes, all of the lines, 20 mm   
LMESH,1  		! Mesh the lines
FINISH                  ! Exit preprocessor
/SOLU		        ! Solution
ANTYPE,0                ! The type of analysis (static)
DK,1, ,0, ,0,ALL 	! Apply a Displacement to Keypoint 1 to all DOF
FK,2,FY,-100 		! Apply a Force to Keypoint 2 of -100 N in the y direction 
SOLVE   		! Solve the problem

Note that you have now finished Postprocessing and the Solution Phase with just these few lines of code. There are codes to complete the Postprocessing but we will review these later.

Bicycle Example

Now we will return to the analysis of the bike frame. The steps which you completed in the verification example will not be explained in great detail, therefore use the verification example as a reference as required. We will be combining the use of the Graphic User Interface (GUI) with the use of command lines.

Recall the geometry and dimensions of the bicycle frame:

Bike Geometry

Preprocessing: Defining the Problem


    1. Clear any old ANSYS files and start a new fileUtility Menu > File > Clear and Start New


    2. Give the Example a Title
      Utility menu > File > Change Title


    3. Defining Some Variables

      We are going to define the vertices of the frame using variables. These variables represent the various lengths of the bicycle members. Notice that by using variables like this, it is very easy to set up a parametric description of your model. This will enable us to quickly redefine the frame should changes be necessary. The quickest way to enter these variables is via the 'ANSYS Input' window which was used above to input the command line codes for the verification model. Type in each of the following lines followed by Enter.

             x1 = 500
             x2 = 825
             y1 = 325
             y2 = 400
             z1 =  50


    4. Enter Keypoints

For this space frame example, these keypoints are the frame vertices.


      • We are going to define 6 keypoints for this structure as given in the following table (these keypoints are depicted by the circled numbers in the above figure):


        keypoint coordinate
        x y z
        1 0 y1 0
        2 0 y2 0
        3 x1 y2 0
        4 x1 0 0
        5 x2 0 z1
        6 x2 0 -z1



      • Now instead of using the GUI window we are going to enter code into the 'command line'. First, open the 'Preprocessor Menu' from the 'ANSYS Main Menu'. The preprocessor menu has to be open in order for the preprocessor commands to be recognized. Alternatively, you can type /PREP7 into the command line. The command line format required to enter a keypoint is as follows:
        	K, NPT, X, Y, Z
        where, each Abbreviation is representative of the following:
        	Keypoint, Reference number for the keypoint, coords x/y/z
        For a more detailed explanation, type help k into the command line

        For example, to enter the first keypoint type:

        into the command line followed by Enter.

        As with any programming language, you may need to add comments. The exclamation mark indicates that anything following it is commented out. ie - for the second keypoint you might type:

        	K,2,0,y2,0	! keypoint, #, x=0, y=y2, z=0 


      • Enter the 4 remaining keypoints (listed in the table above) using the command line


      • Now you may want to check to ensure that you entered all of the keypoints correctly:
        Utility Menu > List > Keypoints > Coordinates only
        (Alternatively, type 'KLIST' into the command line)


      • If there are any keypoints which need to be re-entered, simply re-enter the code. A previously defined keypoint of the same number will be redefined. However, if there is one that needs to be deleted simply enter the following code:
        where # corresponds to the number of the keypoint.

In this example, we defined the keypoints by making use of previously defined variables like y1 = 325. This was simply used for convenience. To define keypoint #1, for example, we could have alternatively used the coordinates x = 0, y = 325, z = 0.


    1. Changing Orientation of the Plot


      • To get a better view of our view of our model, we'll view it in an isometric view:


      • Select Utility menu bar > PlotCtrls > Pan, Zoom, Rotate...'


        • In the window that appears (shown left), you have many controls. Try experimenting with them. By turning on the dynamic mode (click on the checkbox beside 'Dynamic Mode') you can use the mouse to drag the image, translating and rotating it on all three axes.


        • To get an isometric view, click on 'Iso' (at the top right). You can either leave the 'Pan, Zoom, Rotate' window open and move it to an empty area on the screen, or close it if your screen is already cluttered.



  • Create Lines


We will be joining the following keypoints together:

line keypoint
1st 2nd
1 1 2
2 2 3
3 3 4
4 1 4
5 3 5
6 4 5
7 3 6
8 4 6

Again, we will use the command line to create the lines. The command format to create a straight line looks like:

  L, P1, P2 
  Line, Keypoint at the beginning of the line, Keypoint at the end of line

For example, to obtain the first line, I would write: ' L,1,2 '

Note: unlike 'Keypoints', 'Lines' will automatically assign themselves the next available reference number.



      • Enter the remaining lines until you get a picture like that shown below.


      • Again, check to ensure that you entered all of the lines correctly: type ' LLIST ' into the command line


      • If there are any lines which need to be changed, delete the line by typing the following code: ' LDELE,# ' where # corresponds to the reference number of the line. (This can be obtained from the list of lines). And then re-enter the line (note: a new reference number will be assigned)

        You should obtain the following:

        Bike Frame Outline


    1. Define the Type of Element
      Preprocessor > Element Type > Add/Edit/Delete > Add

      As in the verification model, define the type of element (pipe16). As in the verification model, don't forget to change Option K6 'Include Output' to obtain extra force and moment output.


    2. Define Geometric Properties
      Preprocessor > Real Constants > Add/Edit/Delete

      Now specify geometric properties for the elements

       Outside diameter    OD:   25
       Wall thickness  TKWALL:    2


    3. Element Material Properties

To set Young's Modulus and Poisson's ratio, we will again use the command line. (ensure that the preprocessor menu is still open - if not open it by clicking Preprocessor in the Main Menu)

	Material Property,Valid material property label, Material Reference Number, value

      • To enter the Elastic Modulus (LAB = EX) of 70000 MPa, type: ' MP,EX,1,70000 '


      • To set Poisson's ratio (PRXY), type ' MP,PRXY,1,0.33 '


    1. Mesh Size

As in the verification model, set the element length to 20 mm
Preprocessor > Meshing > Size Cntrls > ManualSize > Lines > All Lines


    1. Mesh

Now the frame can be meshed.

      • In the 'Preprocessor' menu select 'Mesh' > 'Lines' and click 'Pick All' in the 'Mesh Lines' Window

Saving Your Job
Utility Menu > File > Save as...

Solution Phase: Assigning Loads and Solving

Close the 'Preprocessor' menu and open up the 'Solution' menu (from the same 'ANSYS Main Menu').


    1. Define Analysis Type


Solution > Analysis Type > New Analysis... > Static


    1. Apply Constraints

Once again, we will use the command line. We are going to pin (translational DOFs will be fixed) the first keypoint and constrain the keypoints corresponding to the rear wheel attachment locations in both the y and z directions. The following is the command line format to apply constraints at keypoints.

	DK, KPOI, Lab, VALUE, VALUE2, KEXPND, Lab2, Lab3, Lab4, Lab5, Lab6
	Displacement on K, K #, DOF label, value, value2, Expansion key, other DOF labels
      Not all of the fields are required for this example, therefore when entering the code certain fields will be empty. For example, to pin the first keypoint enter:

The DOF labels for translation motion are: UX, UY, UZ. Note that the 5th and 6th fields are empty. These correspond to 'value2' and 'the Expansion key' which are not required for this constraint. Also note that all three of the translational DOFs were constrained to 0. The DOFs can only be contrained in 1 command line if the value is the same.

To apply the contraints to Keypoint 5, the command line code is:


Note that only UY and UZ are contrained to 0. UX is not constrained. Again, note that the 5th and 6th fields are empty because they are not required.

      • Apply the constraints to the other rear wheel location (Keypoint 6 - UY and UZ).
      • Now list the constraints ('DKLIST') and verify them against the following:

        List of Displacement Constraints on Keypoints

        If you need to delete any of the constraints use the following command: 'DKDELE, K, Lab' (ie 'DKDELE,1,UZ' would delete the constraint in the 'z' direction for Keypoint 1)


    1. Apply Loads

We will apply vertical downward loads of 600N at the seat post location (keypoint 3) and 200N at the pedal crank location (keypoint 4). We will use the command line to define these loading conditions.

FK, KPOI, Lab, value, value2
Force loads at keypoints, K #, Force Label directions (FX, FY, FZ), value1, value2 (if req'd) 

To apply a force of 600N downward at keypoint 3, the code should look like this: ' FK,3,FY,-600 '

Apply both the forces and list the forces to ensure they were inputted correctly (FKLIST).

If you need to delete one of the forces, the code looks like this: 'FKDELE, K, Lab' (ie 'FKDELE,3,FY' would delete the force in the 'y' direction for Keypoint 3)

The applied loads and constraints should now appear as shown below.

[Bike Loads & Constraints]


  1. Solving the SystemSolution > Solve > Current LS

Postprocessing: Viewing the Results

To begin Postprocessing, open the 'General Postproc' Menu


    1. DeformationPlot Results > Deformed Shape... 'Def + undef edge'

      [Bike Deflection]

      • You may want to try plotting this from different angles to get a better idea what's going on by using the 'Pan-Zoom-Rotate' menu that was earlier outlined.
      • Try the 'Front' view button (Note that the views of 'Front', 'Left', 'Back', etc depend on how the object was first defined).
      • Your screen should look like the plot below:

      [Bike Deflection - side view]


    2. Deflections

Now let's take a look at some actual deflections in the frame. The deflections have been calculated at the nodes of the model, so the first thing we'll do is plot out the nodes and node numbers, so we know what node(s) we're after.


      • Go to Utility menu > PlotCtrls > Numbering... and turn on 'Node numbers'. Turn everything else off.


      • Note the node numbers of interest. Of particular interest are those nodes where the constraints were applied to see if their displacements/rotations were indeed fixed to zero. Also note the node numbers of the seat and crank locations.


      • List the Nodal Deflections (Main Menu > General Postproc > List Results > Nodal Solution...'). Are the displacements and rotations as you expected?


      • Plot the deflection as well.General Postproc > Plot Results > (-Contour Plot-) Nodal Solution select 'DOF solution' and 'USUM' in the window


      • Don't forget to use more useful intervals.


    1. Element Forces

We could also take a look at the forces in the elements in much the same way:

      • Select 'Element Solution...' from the 'List Results' menu.
      • Select 'Nodal force data' and 'All forces' from the lists displayed.
      • Click on 'OK'.
      • For each element in the model, the force/moment values at each of the two nodes per element will be displayed.
      • Close this list window when you are finished browsing.
      • Then close the 'List Results' menu.


    1. Stresses

      As shown in the cantilever beam example, use the Element Table to gain access to derived stresses.

      • General Postproc > Element Table > Define Table ...
      • Select 'Add'
      • Select 'Stress' and 'von Mises'
      • Element Table > Plot Elem Table


      • Again, select appropriate intervals for the contour plot


    2. Bending Moment Diagrams

As shown previously, the bending moment diagram can be produced.

Select Element Table > Define Table... to define the table (remember SMISC,6 and SMISC,12)

And, Plot Results > Line Elem Res... to plot the data from the Element Table

  • @

  • @

  • @