Topics: A demonstrative computer session using ADINA - linear analysis
Instructor: Klaus-Jürgen Bathe
Study Guide (PDF)
Bathe, K. J. “Finite Elements in CAD and ADINA.” Nuclear Engineering and Design 98 (December 1986): 57-67.
User Manuals, Verification Manual, and Theory and Modeling Guide for ADINA, see www.adina.com
Sussman, T., and K. J. Bathe. “Studies of Finite Element Procedures: Stress Band Plots and the Evaluation of Finite Element Meshes.” Engineering Computations 3 (1986): 178-191.
The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high quality educational resources for free to make a donation or view additional materials from hundreds of MIT courses, visit MIT OpenCourseWare at ocw.mit.edu.
PROFESSOR: Ladies and gentlemen, welcome to this lecture on non-linear finite element analysis of solids and structures. In the previous lectures, we have considered quite a bit of theory related to non-linear finite element analysis in some example solutions. The objective in the next two lectures now, the last lectures of this video course, is to show how an actual finite element analysis is performed on the computer.
We start with a linear solution in this lecture, and then consider a non-linear solution in the next lecture. We cannot discuss really, in this amount of time given, all the aspects of the analysis, but want to summarize and demonstrate on the computer the major steps of the analysis and concentrate on possible difficulties, possible pitfalls, and some general recommendations.
As the example problem, we want to use the plate with a hole, that we already considered earlier. And we performed a linear analysis and then a non-linear analysis. Remember, I pointed out in the previous lectures that it is very important to always do linear analysis first before you go into a non-linear analysis. The elastic analysis is performed to obtain the stress concentration factor at the hole, then we do an elasto-plastic analysis to estimate the limit load, and an analysis also to investigate the effect of a shaft in the plate hole. These two analyses are being performed in the last lecture of the video course.
The plate we are analyzing is shown on this view graph here. Notice it's a square plate. Here, we show the hole, the plate is loaded as shown up here, and down here. The material property for the elastic analysis are given here and the thickness of the plate is 0.01 meter. Because of symmetry conditions, we only need to consider this quarter here. Of course, using appropriate boundary conditions along these two lines. we will talk about that more later on.
The first step for a finite element analysis is to select a computer program, and we, of course, use the ADINA system. ADINA-IN is the pre-processor to prepare, generate the finite element data. ADINA then solves the actual finite element model, and ADINA-PLOT is used to this display numerically or graphically the solution results.
Schematically, we are sitting here at a terminal and we're inputting the data to ADINA-IN. We can also receive here, numerical output, and we can also plot on this terminal here, any of the information that we like to plot. This is a graphics terminal. Notice ADINA-IN, of course, communicates to a storage device and further on to ADINA, as we will discuss just now.
The user inputs, in other words, or types into the terminal. ADINA-IN commands interactively or for batch processing and then the user checks also the input and the generated data on the graphics device, as I showed you on the previous view graph. ADINA-IN generates the input data for ADINA. The input data is checked internally in ADINA in for errors and inconsistency, and also is displayed as you are requesting it as a user. The degree of freedom numbers are generated and to obtain minimum bandwidth, we have a minimum bandwidth minimization algorithm in the program, as I will point out a bit stronger later on.
ADINA data inputs then, is available to ADINA, and the user runs ADINA, and ADINA then stores the output data on a porthole file and on an output file. The output file, in other words, contains really the ADINA model data and the calculated results. We access ADINA porthole file using ADINA-PLOT. We can, of course, also look at the output file and see numerically the data that was calculated using ADINA.
Here, we have the action displayed or schematically shown by the user. User uses ADINA-PLOT to fetch data from the ADINA porthole file and then ADINA-PLOT displays those data either numerically or graphically. Let's look very briefly at an overview of ADINA. The program can be used for static and dynamic solutions, for linear and non-linear analysis, for small and very large finite element models, and the formulations finite elements and numerical procedures used in the program have largely been discussed in this course.
The displacement assumptions that can be employed for the finite element models are either infinitesimally small displacements, large displacements, large rotations but small strains, and large deformations, large strains. We discussed these assumptions, of course, also in the course. Material models that are available in isotropic linear elastic model, orthotropic linear elastic model, isotropic thermo-elastic model, a curve description model for analysis of geological materials, a concrete model, isothermal plasticity models, thermo-elastic-plastic and creep models, and non-linear elastic incompressible, and user-supplied models.
The elements available in the program, is available number nodes tress element, an element that can have two nodes, three nodes, or four nodes. It can also be used as a ring element. A two-dimensional solid element that is used for plane stress axis symmetric and plane strain analysis. This also can have available number of nodes, from four nodes to nine nodes. Similarly, available number of nodes element for three-dimensional analysis.
Then also a beam element, a 2-node beam element, Hermitian beam element. And the isoparametric beam element that we talked about in the course. This element can carry, or can be used with two nodes, or three nodes, or four nodes. A pipe element that we did not discuss in the course, but you might be interested in reading about that element is a curved beam element, of course, of pipe section. Which however, also includes the effects of ovalization So this element also carries, if desired ovalization degrees of freedoms at the nodes.
And shell elements, we talked about the use of the 16-node element, and the MITC 4, the 4-node element. We also talked briefly about transition elements that I used to model shells, or thin structures that couple into solids.
Let us summarize some important observations regarding finite element analysis. It's important to check the finite element data, of course, very carefully. The data must be checked prior to the actual response solution. This is done, of course, with the pre-processor, by plotting the data, looking at it very carefully, typically. And then after the response solution, you still want to check the input data once more by seeing whether the boundary conditions are properly satisfied, that you want to impose on to the model, whether the displacement and stress solution is a reasonable.
Once the analysis has been performed, you want to very carefully evaluate and interpret the calculate response. You want to start in detail the calculated displacement and stresses along certain lines. In particular, look at stress jumps. We pointed that out already in an earlier lecture, and we will do so in our example solution again, just now. And here, I'd like to add that stress averaging, stress smoothing should only be done after the above careful evaluation. That's something important to keep in mind. I believe that you should first look at the stresses, the way they have been calculated by the program and then start thinking about stress smoothing. Only after you've gone through this phase here.
The data for the construction of the finite element mesh, that we want to deal with in the example solution is input for this quarter of the plate, as I pointed out earlier already. We have these elastic material constants, we're looking at a plane stress analysis. This is the thickness of the plate. And once again, here is a loading. Notice, we are putting this boundary on rollers, and we want to put this boundary as well on rollers to model the symmetry conditions that we need to model in order to consider a whole plate, where we actually analyze here, only one quarter of that plate.
The finite element mesh that we will be using is shown on this view graph. It consists of 64 8-node isoparametric elements. Well, we performed this analysis on the computer in my laboratory at MIT a few weeks ago, and we have brought in a video crew to record all the actions that we have been performing to actually complete the analysis. I like to now share with you what we have recorded and narrate to you as we go step by step through the analysis of this plate on the computer.
Our first step is to look at how we are generating using ADINA-IN, how we are generating this mesh, and also the other data that are required for use of ADINA. So let's look at this first step now, after which I will then introduce you to the next step and narrate continuous narration of the analysis.
Here we show briefly the hardware equipment we are using in my MIT laboratory. A MASSCOMP minicomputer with two megabytes of real memory, and 330 megabytes of disk storage. We also have a tape drive. The computer features virtual memory, and we use a Unix-based operating system. Roughly, for our purposes, the computer is equivalent to a VAX 750.
We use two terminals. One terminal for alphanumerical and numerical input and output, and one terminal, the one to the right, for graphical output. We also have a plotter. We use this plotter to generate the figures of finite element meshes, and results for this course. Here comes my student, Ted [? Sossman, ?] who will sit at the terminal to input the data to the program. In what follows, we will see the data input prepared by Ted on the terminal at which he sits. Non-graphical output is displayed by that same terminal, whereas we will see graphical output displayed on the right terminal.
Here, we see the start of input preparation for ADINA-IN. We have opened the data base, on which the data input and generated will be stored and have already input the title for the analysis, quarter plate with hole, 64 elements.
We have also defined master degrees of freedom conditions by specifying the values of IDOF. 1 means of a deleted degree of freedom, 0 means a free, existing degree of freedom. Here, all degrees of freedom have been deleted except for the yz displacements. Notice also that at our request, all text appears twice. After we have typed a line, the line is echoed back by the program merely for checking.
In what follows, we now specify the coordinates of a few key points that defines the outline of the quarter of the plate. Note we define the y- and z-coordinates. First of node 1, then for nodes 2, 3, 4, 5, and 6. Note that these coordinates are input in free format. Here the node 6 input is not aligned with the other nodal point coordinate input.
We now want to look at the plot of these nodal points. This is achieved by the frame and mesh commands. Here they are, the six points. Point 1 is the center of the hole, points 2 and 3 defines the boundary of the hole. Points 4, 5, 6 defines the remaining corners of the quarter plate. And here, you see the first set of generated nodes. Note that the nodal points have consecutive numbers along the vertical symmetry edge, except for the top and bottom nodes, numbers 3 and 4, similarly for the horizontal symmetry edge.
This would mean a large bandwidth unless we use a bandwidth minimizer. And we will do so, hence we are not concerned with the nodal point numbering used at this stage. Next, we generate also the nodal points on the remaining edges of the quarter plate. And here they are. We now want to generate the elements of the plate. For this we define, first the material to be a elastic. Young's modulus E, Poisson's ratio NU. We want a plane stress element group.
The Gauss integration order is 3x3. The material set has a number 1, this is the material set we just defined. The G-surface command next generates the 8-node elements in the domain defined by the corner points, so to say 6, 4, 3, 2. We now want to plot the generated element mesh, and here, you see it.
Note once again, we use 8-note isoparametric elements, around the hole, they are curved elements. Finally, we also define in the ADINA-IN input the elements thicknesses to be 0.01 and the loads which correspond to the pulling on the plate. This [? end ?] completes the input preparation for ADINA-IN .
ADINA-IN has now all the information to generate a complete input file ADINA. In addition, we also want to ask ADINA-IN to assign equation numbers that correspond to a minimum bandwidth for the solution of this problem. So our next step is to have ADINA-IN go through these actions, and turn back to our laboratory and see what is happening now.
Here, we see the end of the ADINA-IN input file that we saw already before. The command ADINA now generates the ADINA file. At the same, also, the bandwidth of the stiffness matrix is minimized. We use the reverse Cuthill-Mckee algorithm. Notice that the bandwidth has been reduced from 399 to 93. The original bandwidth was, of course, artificially large because our nodal point generation did not take account of any bandwidth considerations, as I pointed out before.
Let us briefly look at the ADINA file generated by the ADINA-IN. Here, we see common cards, automatically inserted by ADINA-IN to explain the input cards. We see the master control card, the load control card, the Eigenvalue solution control card, and so on. Let us look a bit closer at the element data cards.
Element 1 has eight nodes and the first three are 6, 64, 74. Element 2 has 8 nodes and the first three are 64, 62, 76. Note a maximum of nine nodes is possible. The last 0 is the node card signifies that the ninth node is not used.
With a complete ADINA input file now available, we can call ADINA to execute this file and this gives us our first solution results. We look at the solution results and, in particular, we plot the deformed mesh onto the original mesh, and this shows, in fact, that we have made an error in the input description. It will show us that we have fixed all these nodes down here, whereas they should have been on a roller. This is shown by plotting the deformed mesh on to the original mesh, and it's also shown by looking at the stresses.
We do so by using an option in the ADINA system for the stress vector outputs, and this is schematically shown here, this option. We plot maximum principle stresses-- say tensile in this case here-- as a line with two arrows, and principles stress that's compressive as simply a line. So we can see, in other words, how the stress flows through the material, and we can see, of course, compressive and tensile stress situations, and notice that the lengths of these lines corresponds or is proportional to the magnitude of the stresses.
We can plot this stress vector output for all the integration points stresses in the mesh, and that, as I said already, indicates clearly once again, that we have used the wrong boundary conditions down here. So we go and correct the boundary conditions down here, and re-run the analysis. In other words, call ADINA again and those results that we obtained then, once again, displacements, in other words, are plotted by plotting the deformed mesh onto the original mesh. We see that we now got much better, much more realistically-looking results. And we also will look at the stresses using the stress vector plots again, in the elements, that show us also that the results are now quite realistic and that our mesh, including the boundary conditions have been quite properly defined.
So let us now look at this step of the analysis. The command runadina calls ADINA to execute the input data. The data input file is in ADINA-IN F02. And here, we see now the deformed plotted onto the original mesh. The original mesh is plotted in dash lines. Of course, the deformations are magnified. Note that as expected, the top face has uniformly moved up.
However, note that the nodal points on the horizontal symmetry line have not displaced at all. This is quite unphysical and shows that the wrong boundary conditions have been used. If we look at the stress vector plot over the mesh, the same conclusion is reached. For clarity, on the video, we show here the stress vectors just on the elements closest to the hole. And we can see in the element adjoining the horizontal symmetry line, a stress that acts normal to the whole. This is, of course, unphysical. Next, we show the stress vectors in the outer most elements of the quarter plate. And you can see here, a stress acting perpendicular to the free edge of the plate, when we look near the horizontal symmetry line. This is also unphysical and is due to having specified the wrong boundary conditions on the wrong horizontal symmetry line.
The specification of the boundary conditions is shown here. The character, C, denotes the boundary condition on the horizontal symmetry line. The character B denotes the boundary condition on the vertical symmetry line. Where B means only the z displacement is free and C means all displacements are fixed. For the six possible displacements and [? flotatations, ?] a 1 means the degree of freedom is fixed, and 0 means the degree of freedom is free.
We now correct the boundary conditions. And B on the horizontal symmetry line means now the v displacement is free. C on the vertical symmetry line means now the w displacement is free. We run ADINA again, and here you see the deformed mesh plotted on the original mesh. The deformations look very reasonable. The plate has contracted horizontally, and correspondingly, the hole has shrunk horizontally.
The deformations closest to the hole are shown here. And here, we see the stress vector plots for these elements. The stresses align nicely with the hole. Notice that there is no stress perpendicular to the free surface of the hole when we look at the integration point layer closest as a hole. The value of the maximum stress is given here. It is 301.9 megapascal. Here, we look at the element which carries the largest stress, element 57. Once again, we can see that the stresses align nicely with the hole.
We now recall is that the objective of our analysis is really the calculation of the stress concentration factor. And if we look at the problem once more, here, we have the plate with the hole. The plate subjected to the tractions, as shown here. We now need to, of course, predict the stresses accurately around the hole, and in particular, at this point here. Here, we have our finite element method used in the analysis.
And so far, the only calculated stresses at the integration points in the elements. Now this is here, by the way, element number 57. And for this element, we have calculated so far, only the stresses at these integration points. However, these integration points do not lie on the circumference of the hole, on the boundary of the hole. And that is where the maximum stresses occur. Of particular interest is, of course, also this point here, where we anticipate to obtain the maximum stress in the analysis.
If you look at, schematically, how the stresses would vary, say, through the element, to the boundary of the hole, we would see a schematic plot as shown here. Here is an actual element, the other elements lie next to it, and here you can see schematically shown the stress computed at the closest integration point to the boundary of the hole. And here, we would have the stress computed at the nodal point. That is actually the stress that we are interested in. Well, we can ask ADINA to calculate the stresses at the nodal points, and then we can ask ADINA-PLOT to enter with these nodal point stresses into this formula here. Sigma yy, sigma zz, and sigma yz are the stresses at the nodal points. To calculate, ADINA-PLOT calculate this Sigma 1, which is the maximum principle of stress at that nodal point. We can ask ADINA-PLOT to calculate sigma 1 at all the nodal points in the mesh, and by doing so, we obtained these stresses and then they can ask ADINA-PLOT to search through those nodal points stresses, these sigma 1 stresses, to find us the location, the element and the nodal point, to have the physical location of the maximum stress occurring in the mesh.
We will see that doing so, ADINA-PLOT comes up to tell us that this is the point, element number 57, point number 4, that is this physical point here, where the maximum stress occurs and will also give us that maximum stress, and that maximum stress, of course, gives us then the stress concentration factor. So let us now look at this phase of the analysis.
Here, we have input some information regarding variables that need be defined in ADINA plot. TYY refers to tau yy, TZZ refers to tau zz, TYZ refers to tau yz. We define the result and variable to calculate the maximum principle stress. Hence, when TYY, TZZ, and TYZ are defined [? smax ?] gives the maximum principle stress.
Here, we now enter the command to look for the maximum principal stress in the mesh. First we make a small input error, obtain a message, we correct the input, and here comes the result. We see that indeed element 57.4 carries a maximum principle stress and this value is 345.151 megapascal.
We have now actually obtained an answer to the question that we asked. Originally, namely, we wanted to calculated the stress concentration factor around the hole. And we have obtained a number for that stress concentration factor. However, a valid question, certainly is to ask, how good is this number? After all, we used a finite element mesh to approximate the plate a particular finite element idealization was used, and we have only obtained an approximation to the exact result. Well, to evaluate that question, to obtain insight into that question, to evaluate how good our analysis results really are, we can plot stress jumps, the way we discussed it in an earlier lecture.
And in particular, for the analysis that I'd like to show you in this final phase, we have plotted stress jumps along these two lines. Now, notice that, for example, at this node here, we have four elements coupling into this node, so at this node we get four different stress predictions for each stress component. At this node here, we would have only two stress predictions, for each stress component because only two elements couple into this node.
That is one way to evaluate or to look at how accurate our results are. An alternative way is to plot pressure bands, and the pressure here is scalar. It's computed as shown here, and we can plot bands of constant pressure, the way we already have discussed it in an earlier lecture. Notice because this is a scalar, it can be used very nicely to plot these bands of constant pressure. Of course, we could also have used here, say, an effective stress, which is also a scalar, and we could plot bands of constant effective stresses.
One example that you've seen already early, is this one here where we plotted pressure bands, with band magnitude of 5 MPa, megapascal, and you can see here this white band, here a black band, in other words, we're going in steps 5 MPa from one band to the next. Notice that there's a pressure band discontinuity right here, which already indicates that we have a stress discontinuity here, and which indicates that the mesh that we used is really not a very fine mesh. And if we are interested in obtaining a very accurate result, then based on these pressure band plots, and also the stress jump plots that I will show you just now, we may actually decide to use a finer mesh. We discussed this issue already in an earlier lecture.
So let us now then look at what happens, or what happened in this final phase of the analysis. Let's go back to the laboratory and share the experiences that we'll see there.
Here, we see once more the mesh we're using in the analysis. We will plot the stresses, and hence, we can see the stress jumps along the horizontal symmetry line, and the diagonal line of the plate. Here, you see the stresses along the horizontal symmetry line, Tau zz is plotted.
The horizontal axis measures distance along the symmetry line. And the vertical axis measures the stress values. Note that the stress predictions at the nodes, when calculated for the different elements are almost the same. Only at one node can we actually see a difference, and it is quite small. Note that two elements couple into this node. Hence, there are only small stress jumps along the horizontal symmetry axis of the plate.
Next, we look at the stress plot along the diagonal line of the model. Here the maximum principle stress is plotted. Note that at one node into which four elements couple, we have four markedly different stress values. Indeed, we have significant stress jumps at that node, but otherwise the stress predictions do not show large jumps.
Finally, we look at the pressure band plots. Here, they are drawn. To save time, we skipped some of the drawing process and jumped to a later picture here. We notice that the pressure bands are quite continuous, except between the first and second layer of elements around the hole. This corresponds to the stress discontinuity between these element layers that we saw earlier.
We see now this is now completed, I'd like to look with you once more back on to two view graphs that we already have looked at earlier. On this you graph, we summarize some important observations. And we said that it is very important to check the finite element data input carefully prior to the actual response solution run. That, of course, means plotting the data. And we have done so, of course, in our analysis. And after the response solution has been obtained, by starting whether desired boundary conditions are satisfied, whether displacement and stress solution is reasonable.
Remember, in our analysis, we did this, of course, as well and we found, by looking at the boundary conditions, the way they were represented in the actual solution, that we have actually made an error. In other words, we looked at the deformed mesh, and the boundary conditions on the deformed mesh in our first analysis showed that we had fixed the boundary at the bottom off the mesh, which was an error. So it is very important to go through this step, to look very closely whether the boundary conditions are actually satisfied on the mesh that you have been using, in the right way. Of course, the same holds for the stress and solution.
Remember, that we looked at the stress plots for the mesh that was fixed at the bottom and we could directly see there were errors there, and, in other words, the error of having fixed the boundary at the bottom of the plate. So this step is most important, and we have seen an example in the analysis that we just completed. I also had this view graph already on, where we said that we want to carefully evaluate and interpret the calculated response. We want to study, in detail, the calculated displacement and stresses along certain lines, study stress jumps. Well, we saw an example of that in the analysis that we just completed, and we also pointed out that it is important to go through this step here first, prior to using a stress averaging because if you do average stresses, of course, you would never see stress jumps. And this can be an important step to gain confidence in the analysis results that you have obtained. This then completes what I wanted to share with you in this lecture. Thank you very much for your attention.