By Sara Cinnamon (sarac@media.mit.edu)
In this tutorial we will model the tuning fork from Project Two of MAS.863 Fall 2001 (Figure 1 below). We want to find the fundamental mode of vibration, to determine what note the fork is emitting when smacked on a hard surface. To do this, we will use ANSYS to create a 3D model of our part (later we will cover how to import a model from I-Deas) and then automatically mesh it with nodes and elements.
Important: ANSYS does not specifically take care of units when modeling. However, the material properties libraries use SI or British units. Therefore, if you want your stresses to be in Pascals (which I do, because I don’t understand English units), forces should be specified in Newtons and lengths in meters in all of the dialog boxes. This will be the convention followed in this tutorial.

Figure 1: Tuning Fork, with Metric Dimensions
Summary of Steps:
Step by Step:
Start ANSYS by going to the Start Bar\Programs\ANSYS 5.7\Interactive. This will bring up the dialog box in Figure 2 below. Here you can define your Working Directory and the Initial Jobname. In the jobname box, enter tunifork (or some other such descriptor). The Memory requested (megabytes) fields should be set to 64 for the Total Workspace and 32 for the Database by default. All of the other default values should be okay also. Click on Run to complete the initialization process.

Figure 2: Opening Dialog Box
Next we need to define what kind of analysis we want ANSYS to perform, whether it is structural, fluid flow, or magnetic, to name a few. We want a structural analysis, so click on Preferences … from the main menu on the left, and check the box next to Structural. The discipline option can be left as default.
We will now begin building the 3D model of the tuning fork using solid volumes. The origin of the part will be the center of the circle on the lower face. Define any solid blocks relative to that location.
From the main menu, select: Preprocessor -> Modeling-Create -> Volumes-Cylinder -> By Dimensions. This will bring up a dialog box that looks like the one in Figure 3 below.

Figure 3: Cylinder Dialog Box
The dimensions on the project sheet were given in inches, so these values have already been converted to meters. These values will produce a cylindrical tube of the desired specifications. Next select OK. If you were creating multiple volumes to add together later into one big solid, you would hit the Apply button rather than the OK button to continue entering coordinates. You should now see a donut shape on your screen. If you wish to change the view orientation, go to the top of the screen and select the pull-down menu PlotCtrls. From there, click on Pan, Zoom, Rotate … as in Figure 4. You should now see the menu bar on the right.

Figure 4: Pan, Zoom, Rotate … Controls.
After completing your volume, SAVE_DB (in the upper right corner) to save your current results. ANSYS does NOT have an undo feature!!! If you make a mistake, use RESUME_DB to go back to the last saved model.
Now to create the cutout for the leaves of the tuning fork. To do this, we will create a block and another cylinder, add them together, and then subtract that new structure from the original tube.
For the box:
Preprocessor -> Modeling-Create -> Volumes-Block -> By Dimensions.
(x1, y1, z1) = (-0.00508, -0.01200, 0.03048)
(x2, y2, z2) = ( 0.00508, 0.01200, 0.06350)
The x-dimension is the critical one, which determines the width of the cutout. The y dimension, on the other hand is non-critical, and as we want the cut to be all the way through the cylinder anyway, it makes it easier on us later if we retain some overhang of the cube. Similarly for the z-direction, except that the starting point is important, as it occurs at the diameter of the cylinder that we will use to create the cutout’s curved surface.
Sometimes ANSYS doesn’t draw the results as expected. If this happens, hit the Fit button in the Pan, Zoom, Rotate bar or go to Plot -> Replot from the topmost menu. Then visually check if you have placed the volume correctly.
SAVE_DB
For the cylinder:
Remember when we made the first cylinder, the dialog box prompted us for radii and height only. If we were to follow those same steps here, we would end up with a cylinder whose axis is parallel to the first one, rather than perpendicular, as we desire. Therefore, we must change our ‘Work Plane’ so that we can build our next cylinder.
To do that, go to the Utility Menu (on top) WorkPlane -> Offset WP by Increments …. In the dialog box that pops up, enter (0, -0.012, 0.03048) into the text box below ‘Snaps X,Y,Z, Offsets’ for the new coords. Press Enter. On the graphics window, ANSYS will draw a new coordinate system labeled (WX, WY, WZ), different from the global coordinate system, (X, Y, Z).
Now we need to change the orientation of the work plane so that the z-direction will be correct for building our cylinder. On the Offset WP toolbar still up from out last maneuver, go to the lower text box that says ‘Degrees XY, YZ, ZX Angles’ and enter (0,-90,0) to rotate the coordinate system 90o counterclockwise about the x-axis (The YZ angle implies rotation in the Y-Z plane, or about the x-axis). Now check the Global X, Y, and Z to make sure that they read (0, -0.012, 0.03048). If not, adjust accordingly. Also, you can change the view from Iso to Top, Front, and Right to make sure that the new work plane is aligned properly with the original cylinder.
SAVE_DB

Figure 5: Changing the Coordinates of the WorkPlane
We are now ready to make our cylinder. Go to Preprocessor -> Modeling-Create -> Volumes-Cylinder -> By Dimensions to create it. For the outer radius, enter 0.00508 (not 0.01016 because it is the RADIUS, not the DIAMETER, which I forgot several times while making this tutorial), inner radius leave blank, and Z2 should equal 0.02400. You should now have a nice little cylinder that matches the width of your prism built in the previous step.
SAVE_DB
We are now ready to make the cutout in the main piece. To do this, we should first add the inner prism and cylinder, and then subtract that new union from the first cylinder. We should then be left with our tuning fork as specified in the drawing.
Go to Preprocessor -> Modeling-Operate -> Boolean-Add -> Volumes +. This will bring up a dialog box for you to select your volumes.
Notice the vertical arrow, which is your selection tool. Place this over the volume you wish to select, preferably with nothing behind it. This is why we made our prism and cylinder larger than the original cylinder, so that we could have a distinct area for selection. If by chance you accidentally select the wrong volume, change to ‘Unpick’ on the dialog box. The arrow will now point downward and you can deselect any volume. Unfortunately, the picker isn’t very friendly, generally, so you could potentially have several iterations of picking and unpicking. When you are satisfied with your selection, press OK. The computer will think, and then you will be left with a single volume that has a rounded end.
SAVE_DB
Next we will subtract this new volume from the first, leaving us with the tuning fork. Go to Preprocessor -> Modeling-Operate -> Boolean-Subtract -> Volumes +. This will bring up a similar dialog box to before. Now, you pick the volume that you want to subtract things from – our original cylinder – press Apply, and then select the volumes that you wish to remove – the prism/cylinder – and then press OK. You should now have a working tuning fork model! Congratulations!
SAVE_DB!!
To define the material properties of our tuning fork, we must find the corresponding file in ANSYS’s material library. Go to Preprocessor -> Material Props -> Read from File … From wherever ANSYS is installed (mine is in C:\Program Files), the remaining path is \Ansys Inc\ANSYS57\Matlib. We used Aluminum 6061 for the tuning fork, and we want to use SI units, so select the file called Al_a6061-T6.SI_MPL. This will load all of the density, Young’s modulus, Poisson’s ratio, etc. variables that we need to perform our modal analysis.
Creating a mesh for finite element analysis is sometimes more of an art than a science. It takes experience and many mistakes to find the “best” mesh. If your mesh is too fine, you might get singularities in the solution, stress concentrations where they should not appear, or the solver will take an extraordinarily long time to run. But if your mesh is too coarse, then your solution will not be accurate enough. Play around with the meshing. Have fun with it, and from there you will be able to get a better feel for the granularity that you need.
First we need to define the element type. Go to Preprocessor -> Element Type -> Add/Edit/Delete … This will bring up a box with five buttons. Click on Add … From here, select the Solid family of elements from within the Structural header in the left box. Then select Brick 20node 95 from the menu on the right. Press OK to apply the element type and close the dialog box. Now click on Options … Under the Extra element output, K5, select Nodal stress from the pull-down menu. Click OK and then close the element dialog box.
Now we can mesh the volume. ANSYS does have a default mesh that works automatically on a selected volume. We will try that first, before playing with the mesh parameters ourselves. We will specify a global element size, which will control the overall mesh density. A mesh density of 5% of the overall dimensions usually works quite well. Therefore we should choose a mesh size of 0.003175.
Go to Preprocessor -> MeshTool … This brings up a new dialog box on the right. To set the mesh size, click on the Set button next to Global under the Size Controls: header, not under the Element Attributes: header. Then, under the Mesh: header, make sure that Volumes is selected from the pull-down menu, the Tet radio button is selected, and then click on the Mesh button. Click on Pick All, or since we only have one volume, just select the tuning fork and then hit OK. Close the MeshTool menu. Your model should now have a white mesh net cast over it, like in Figure 6 below.

Figure 6: Meshed Tuning Fork
If you happen to make a mistake while meshing, you must clear the existing mesh and start over. To do this, go to the MeshTool and click on Clear, rather than Mesh. Then in the picker, select the volumes that you want to clear, and select OK.
Now save the mesh by going to File -> Save As … and enter tunimesh.db. This allows you to try different meshes for the same model. Also, you can go back and change the loading cases based on this mesh. Or, you could just SAVE_DB if you do not care for these options.
Next we shall apply the loads and constraints that define how the tuning fork physically behaves. We have to show that the central hole is constrained by the ¼-20 screw that is threaded in it, and therefore not a point of flexion. However, the two leaves are free to move, and in fact have a force applied on them as a result of the impulse received from the impact upon the table edge.
First, go to Main Menu -> Solution-New Analysis, select Modal analysis from the menu, and then hit OK. Now a modal analysis-specific Solution menu appears, with everything that we will need. Next click on Analysis Options from the Solution menu. You will see a dialog box like that in Figure 7 below.

Figure 7: Modal Analysis Dialog Box
We want to use the Block Lanczos method for our analysis, which is the default and works for most structures. For the number of modes to extract, I started with two, the fundamental and the first harmonic. You can always solve for more if you wish. Then I kept the default settings for the rest of the boxes, and chose to expand both modes that I am solving for. If you would like to know more details about the different solution methods, you can go to the help menu and search for modal analysis in the index.
After selecting OK on that dialog box, a Block Lanczos-specific box pops up. Here you can specify the starting frequency for analysis (I chose 0) and the final frequency (I chose 20,000,000, the upper limit of the human hearing threshold). You can then leave the default settings for normalizing the solution to the mass matrix using the Lagrange- Accurate method.
We are now ready to apply the constraints to the system. Go to Solution -> Loads-Apply -> Structural-Displacement -> On Areas, and pick the inside surface of the tube, where the bolt goes, and the bottom surface of the fork. Then click Apply. Now specify that All DOF will be constrained by a constant VALUE of zero. This implies that these parts are not moving, which is a safe assumption. Then click Apply. You will see what appears to be blue fuzzy mold grow on your tuning fork. Fear not, these are just many little arrows showing which nodes will not move in the analysis.
SAVE_DB to retain all the hard work you have done so far.
We are now finally ready for the analysis part of FEA.
Go to Solution -> Solve-Current LS. Hit OK on the confirmation dialog box. Now watch it whir! The solution should take about a minute or two. Pretty fast, at any rate.
Now go to the Main Menu -> General Postproc -> Results Summary. Here the Output box (Figure 8) will display the first mode to be 2970.4, which I assume to be in Hertz. This corresponds to a slightly sharp F6#, whose value is 2963Hz. I tried to check this against my guitar, but even though I have 24 frets, the highest note I can sound is an E6. But, F6# is only one step above that, and they sounded pretty close, so I’d say that the ANSYS analysis is about right. Woo-Hoo! You can check out various websites to find a musical note at a given frequency. I used http://www.ac-nantes.fr/peda/disc/scphy/dochtml/gammes/piano.html for reference.

Figure 8: Results of Modal Analysis
We can also solve for the deflected shape of the tuning fork. To do this, go back to Main Menu -> Solution -> New Analysis. This time select Static as the analysis method. Now we must reapply the constraint loads, as well as apply the input forces on the fork.
To apply the constraint loads, remember that we go to Solution -> Loads-Apply -> Displacement -> On Areas +, and select the inner surface where the bolt would go and the bottom surface of the cylinder. See the blue mold? Good! Now we are going to apply input loads on the leaves of the tuning fork. To do this, go to Solution -> Loads-Apply -> Force/Moment -> On Nodes +. Then, with the fork in Iso view, select the node on the left hand semi-circle, at approximately its midpoint. Hit Apply. A dialog box pops up asking for the value of the force; enter 10 (Newtons). This number came from assuming an acceleration of 4g on impact, and an approximate mass of the tuning fork of 0.25kg. This isn’t a very large force, but then, the fork doesn’t really experience a large deflection when resonating either. Go back and repeat that process, except this time, pick the node on the right hand semi-circle and enter a force of –10 (Newtons). Your drawing should now look like that in Figure 9.

Figure 9: Tuning Fork with Loads and Constraints
Applied
Notice that the red arrows are pointing towards each other. The left arrow was the +10 force and the right arrow was –10. Now that our loads are applied, we can go back to Solution -> Solve-Current LS.
When you get the Solution Done! message, you are ready to plot your results. Go to Main Menu -> General Postproc -> Plot Results -> Contour Plot-Nodal Solu … Then, as in Figure 10, from the top left box, select DOF solution, and from the top right box, select USUM. Plot the def + undeformed shapes, and hit OK. You should now see your tuning fork like Figure 11 below, with a wireframe showing the original shape, and the color map showing deflection. You can see that the red region corresponds to the maximum deflection of 13.3 mm, or .062% of the diameter of the tuning fork. To be more accurate in our analysis, we probably should have used a larger load. If you want, you can go back and start a new solution, this time with a load of 20g*0.25kg ~ 50N. How much deflection results? Is this a reasonable value?

Figure 10: Plot control dialog box

Figure 11: Plot of Deflection
We can also make movies of our solutions. (Woo!) To do this, go to the Utility Menu -> PlotCtrls -> Animate -> Deformed Results and select DOF solution and USUM as before. When you get tired of watching it, press stop, and close the window. You can save this movie by going to Plot Ctrls -> Animate -> Save Animation.
If you want to now look at the stresses on the tuning fork as it resonates, go back to the General Postproc -> Plot Results -> Contour Plot-Element Solu … and select Stress from the left-hand box and Von Mises from the right-hand box. You can again watch a movie of the stresses changing, following the steps as before for the deflection. Figure 12 shows the stress distribution using an applied force of 50N.

Figure 12: Von Mises Stress Distribution for +/50N Load
You will now find in your working directory, a huge conglomeration of files. *.avi, is your movie, *.rst is the results file, *.log is the list of all the commands you performed in your session, *.db is your database, and *.dbb is the backup of your database. I’m not entirely sure what all the others are for, but I’m sure they come in handy at some point. All in all, mine take up about 70M of disk space, but the entire session can be reconstructed from your *.db file, so you can zip it and trash everything else to save room on your computer, if necessary.
And with that, I believe that that is all there is to show for the tuning fork! Thank you for your time, and if you find any problems, or have comments/suggestions, please feel free to email me.