Modeling & Simulation

MEEG401, Senior Design

Resources: Mechanical Engineering at U of D


Table of Contents for this Page

Computer-Aided Engineering

Computer-aided engineering (CAE) involves many aspects and has evolved from computer-assisted drafting (the original CAD) through incorporation of computer-aided design (another CAD!) with computer-automated machining (or manufacturing) (CAM) to provide comprehensive mechanical design automation. In general, the idea is to use computer processing and interactive computer graphics to enable engineers to create, modify and analyze designs.

Remember (from MEEG202) that true CAE involves the integration of information between design and analysis and marketing and manufacturing and ... BUT, for the purposes of this resource, we will be focusing upon:

Solid Modeling - (Actually geometric modeling! but we talked about that in MEEG202...) - The database backbone that contains the geometric information necessary to unambiguously describe a three-dimensional 'thing.'

Drafting - The accepted engineering communication standard for storing and explaining the specific information necessary to actually manufacture a component and/or system.

Virtual Prototyping -  Also called free-form fabrication and rapid prototyping. This technology is used to directly produce a three-dimensional object from a computer solid model.

Finite-Element Analysis- Computer analysis to simulate the response of a design to changes in its environment.

The purpose of this web page is provide an overview of the basic  CAE techniques and methods and the resources available at the University of Delaware to assist you throughout the design process.

Go back to table of contents

Analytical Modeling

This is where you need to use the engineering science you learned in your previous ME courses: Statics, Dynamics, Mechanics of Solids, Materials, Machine Design, Vibration and Controls, Fluids, Heat Transfer, Thermodynamics. It is always a good idea to identify the first principles that control key aspects of your problem.

The team may also find that it needs more detailed information in an area or for a specific technology. Your sponsor may have a good resource for you. However, the Senior-Design Faculty can help and/or find/recommend a good contact. Don't forget that there are also standard references that can provide information. A good general guide is any Standard Handbook; for example:
Marks' Standard Handbook for Mechanical Engineers, Theodore Baumeister (Editor), Newest Edition, McGraw-Hill Book Company, New York, NY.
For structural stresses and strains:
Roark's Formulas for Stress & Strain, Warren Young, Newest Edition, McGraw-Hill Book Company, New York, NY.
There is probably a standard 'reference' resource for just about any aspect of any project!

Go back to table of contents

Solid Modeling


The complete and unambiguous mathematical representation of a physical object. Remember that all commercial modelers actually provide only geometric modeling = complete and unambiguous mathematical representation of the geometry of a physical object. The 'rest' of the information you need (for example, density, surface finish, etc.) MAY be required and thus part of further analysis. However, the data that defines the object (or assembly) is typically just that geometric information.

Packages available to MEEG401

There are many commercial packages available. The University and the Mechanical Engineering Department have access to some that you can use for your projects:

Go back to table of contents


The Student Machine Shop is located in 104 Spencer Lab and is available to all students in the Mechanical Engineering Department and the College of Engineering.  The purpose of the shop is to provide a facility for students to learn basic manufacturing and fabrication operations as well as allow students to manufacture components required for class, research or independent study. Steve Beard , Master Machinist, is the full-time machinist responsible for the day-to-day operation of the shop. He also conducts training sessions during the semester.  Shop hours are posted outside the door. Please check the shop web site for regulations regarding the use of the shop and requirements for engineering drawings.


All of the packages described above have the ability to produce acceptable engineering drawings. Note, you are NOT required to use only computer-generated engineering drawings; valid hand-drawn engineering drawings are perfectly acceptable.

Go back to table of contents

Virtual Prototyping

Reference: Material Issues in Layered Forming, Christina Anon, Fritz Prinz, et al, Proceedings of the Solid Freeform Fabrication Symposium, the University of Texas at Austin, August 9-11, 1993.

Many technologies (and names!) exist to directly create a three-dimensional object from a solid-model computer database description. Some of the more common names include: solid freeform fabrication (SFF) or just free-form fabrication (FFF), rapid prototyping (RP) and virtual prototyping. The fundamental idea is to build an object by depositing layers of material (additive); this is in direct contrast to traditional machining that involves removing unwanted material from a larger piece (subtractive).

Common to all layered forming techniques is the incremental nature of the material build up process. Stepwise material build up requires bonding between layers. Obviously, the material quality of a part is determined by the quality of each deposited layer as well as the quality of the bond between the layers. Many of the techniques also require some sort of post-processing to completely solidify the final object. Some of the many other names used in reference to virtual prototyping actually describe/identify the different materials and physics used to bond layers:

Format required (.STL)

Stereolithography was the first commercial process and it still dominates the overall market. That first commercial company ( 3D systems ) devised a particular format to interface with solid-modeling packages on their original machines and worked closely with the software companies to make sure the format was supported. Thus their format (usually identified with .STL extension) has become the de-facto standard. It consists of a triangular (thus planer) faceted tesselation of the object's bounding surface.

Z-Corp 3-D printer, Spencer

The Mechanical Engineering Department at the University of Delaware has a 3-D printer technology machine manufactured by Z Corporation . The machine uses a cellulose powder to create an object that is then infiltrated with either wax or epoxy. Undergraduate students, starting with MEEG202, are exposed to 3-D printing. Seniors now have access to a Z-Corp 3-D printer; it is located in 103 Spencer - please contact Mr. Stahl or the course TA for specifics.

Other facilities

Many job shops now provide the service of creating physical parts from your solid-model database. They typically just require you to email the .STL file. Although certainly NOT comprehensive, here are some rapid prototyping service bureaus: Laser Prototypes, Inc. 3 Dimensional Services , Paramount Industries , and SICAM Corporation .

Go back to table of contents

Finite-Element Analysis

Reference: Applied Finite Element Analysis, Larry J. Segerlind, John Wiley & Sons, New York, 1976.


Finite-Element Analysis (FEA) is a process by which a complex response is predicted using an idealization of the system. Although many responses can be modeled (thermal, fluid, stress, electric - basically any field problem = set of differential equations and boundary conditions), the example and discussion here will focus on a structural problem where we are looking for stress/strain/deflection.

Fundamentally, the complex structure is divided into a grid of "elements" that forms a model approximating the real structure. Each of the elements is a simple shape such as a square or triangle for which the finite-element program has information to write the governing equations. A finite element is derived by assuming a form of the equation for the internal strains - some elements are derived assuming the strain is constant throughout the element, others use higher-order functions. Using these equations, and the actual geometry of a given element, equilibrium equations between the forces and displacements at the "nodes" (the points at which the elements are connected) can be written. There will be one equation for each degree of freedom for each node of the element. These equations are most conveniently written in matrix form and the matrix of coefficients relating the forces to the displacements becomes a "stiffness matrix" - remember Hooke's law: F = kx; but now F and x are vectors representing nodal forces and displacements and k, the stiffness, is thus a matrix. Don't worry, a simple example (presented below) will make this clearer!

Anyway, even though the unknowns are at discrete points, the internal equations were written for strain functions that represented a continuum. This means that even though the finite-element model has a discrete number of equations, if appropriate elements are chosen, it is possible to converge with less than an infinite number of nodes and elements!

A finite-element model is the complete idealization of the entire structural problem including the node locations, the elements, geometry and material properties, loads and the boundary conditions. The model is often made of more than one element type. The model is made to mathematically model the physical system NOT to "look like" it. New finite-element users often make the mistake of thinking the goal is to make the model look like the actual structure. Some of the experience of finite-element modeling is to know how to choose the right type of element, the size of element to use in different locations and what features (details) are important and which just add unnecessary complications. The accuracy of the resulting solution will depend on how well the structure was modeled (necessary geometry and critical material properties), the assumptions made for loads and boundary conditions, and the accuracy of the chosen element for the specific problem. In general, the solution will be more accurate as the structure is subdivided into smaller elements. The basic way to determine if you have sufficiently converged on the final solution is to make models with finer grids of elements and check the convergence of your solution! Another overlooked source of problem is the loads and boundary conditions that are assumed. It is too easy to trust the answers to the last decimal place and forget the crude assumptions made for loading and boundary questions!

Finite-element analysis can certainly be used for:

determining actual values for stress/strain/deflection. However, this use of FEA requires a concurrent experimental program where a simpler, but related, problem can be simulated via FEA and experimentally tested. Assumptions involving geometry, number/type of elements, material properties, loads, and boundary conditions can then be carefully tested and verified before attempting the actual complex problem and reporting values.

However, another powerful use of FEA is for:

parametric studies. Once a model has been created, it becomes fairly straightforward to change a geometry piece or a material property or a load or a boundary condition. FEA simulations can then be used to show the relative relationships between variables and some performance criterion - these relative relationships (e.g., a 90% increase in some variable resulted in a 50% decrease in some important results whereas one needed only a 60% increase in some other input variable to achieve the same result) can be very powerful in making design decisions and allow one to quantify a metric vs. performance trend/relationship.

Remember, the purpose of finite-element analysis is insight and understanding not pretty pictures.


There are several basic steps to any finite-element analysis:

First one has to start with some particular problem!

Discretize the given domain - Divide the problem into non-overlapping simple "elements." These elements are connected at key points called "nodes." The collection of nodes and elements forms the finite-element mesh or grid. A wide variety of element shape and types are available. For example, the shape of the element could be a one dimensional rod; a planer quadrilateral or triangle; a three-dimensional brick or tetrahedron; etc. The variation of the unknown variable in the problem is approximated within each element by a polynomial - thus a linear element will have a linear variation of the unknown variable across the element; a parabolic element uses quadratic polynomials to approximate how the unknown varies across each element, etc.

Develop the matrices and equations & SOLVE! -  Once the nodes and elements are defined, appropriate material properties need to be provided for each element. Now the matrices describing the problem can be formed. Finally, one needs to provide the boundary conditions corresponding to the problem and assemble the system of equations. A number of methods are available to derive the element matrices and equations - in the simple example below, we'll use a direct approach and a minimization approach.

Interpret the results - Now you need to study the solution and the results obtained and use them wisely and intelligently to help you make your design decisions!

Learn more about it

A simple problem will demonstrate the principles described previously. However, this overview is just enough information to make you dangerous (though hopefully you recognize how little this actually describes FEA)! There are excellent courses here (CIEG401 specifically in finite element but also MEEG483 - a general course in computer solutions of engineering problems) and a number of faculty in the college here who can help - computational fluid dynamics, simulating mold filling, numerical methods, etc. If you are interested, take advantage of these other resources!

We will study the displacements caused by tension in a steel rod (Youngs modulus = 20,000,000 N/cm2) with varying cross section:

Obviously this is simple enough to do 'by hand' - but that will let us better understand the FEA approach rather than get stuck in the complexity of a problem! Two elastic springs (stiffness = area times Young's modulus divided by length) in series: k1=8*20x106/60 N/cm, k2=6*20x10 6/40 N/cm; overall k = 1/( (1/k1) + (1/k2 ) ) = 1,411,765 N/cm. Force = stiffness times displacement; overall displacement is therefore 120,000/1,411,765 = 0.085 cm.

Now that we know our problem, the next step is to discretize the domain. For this example, we will use two linear rod (or one-dimensional) elements. Why? Well, the physical problem has specific regions with non-varying cross section. Although we could use 3-D tetrahedrons and actually model the cross section, it is NOT of key interest to us as we are more interested in the resulting displacement (right now anyway, maybe after this analysis and some testing we'll want to re-think our simplifications; for example, this first model will tell us nothing 'special' about the welds/stress concentrations...) Therefore, seems as though we can use simpler one-dimensional elements. Now, from engineering, the first-order assumption is that stress and strain are linearly related (stress = Young's modulus times strain) where stress is directly related to force or tension in the rod and strain is directly related to displacement. With all linear relationships, going to a quadratic or cubic polynomial to describe the element is overkill! We can safely use a linear element. This gives us two elements and three nodes:

Now we are to the step where we need to develop the set of equations and solve! Let U=displacement, S=stress and e=strain. Now we know from linear elasticity that stress = Young's modulus times the strain or: S=Ee, where E = Young's modulus., and the stress is a simple tensile stress so S=F/A where F is the applied force and A is the cross sectional area. Thus, our element input material properties will be length (Len), cross-sectional area (A) and Young's modulus (E); our element output properties will be stress (S) and strain (e); our nodal output property will be displacement (U), which in this case is the variable of interest. Anyway, we will use a superscript to denote a specific input and a subscript to denote a specific output element or node - depending on the particular property. Now our differential relationship is that strain is the change in displacement along its distance - if we just call the horizontal direction 'X' then e=dU/dx and we'll start with the left end, Node 1 at X = 0. As promised, we will solve two different ways:

Direct approach - {Note: although this approach looks (and is!) trivial for this problem, that's because the problem is easy! (Anyone who uses FEA to find deflection, displacements in a simple beam is definitely NOT using the appropriate level of analysis on that problem!) In general, the direct approach is NOT used because it is specific to my problem (elasticity) whereas the minimization approach is more general and thus more robust. OK enough lecture...}
From our stress - strain relationship:
S(1) = E(1) e(1)
S(2) = E(2) e(2)

Since both pieces are steel and we know Young's modulus, one can re-arrange:

e(1) = S(1) / 20,000,000 N/cm2
e(2) = S(2) / 20,000,000 N/cm2

but we also know that stress is force/area:

S(1) = F(1) /A(1) = 120,000 N / 8 cm2
S(2) = F(2)/A(2) = 120,000 N / 6 cm 2

which gives:

e(1) = (120,000/8) / 20,000,000 = 0.00075
e(2) = (120,000/6) / 20,000,000 = 0.00100

Now, from our displacement differential relation, the discrete values are:

e(1) = (U (2) - U(1))/Len(1)
e(2) = (U(3) - U(2))/Len(2)

which by substituting from above and adding in our last element property of length information gives:

0.00075 = (U(2) - U(1))/ 60 cm
0.00100 = (U(3) - U(2))/ 40 cm

FINALLY, add boundary conditions; that is, Node 1 is 'fixed' therefore its displacement = U(1) has to be zero and one has two equations in two unknowns:

0.00075 = (U (2) - 0)/ 60 cm
0.00100 = (U(3) - U(2))/ 40 cm

This can be solved to give U(2) = 0.045 cm and U(3) = 0.085 cm (as we knew already!). These displacements can be used to determine the 'new' location of each node: X(1) = 0; X(2) = 60.045 cm, and X(3) = 100.085 cm; obviously one can also now output the stress in each element, the strain in each element ...

Minimization approach -  Another approach is to minimize a functional related to internal and external work done by the applied loads. The most common approach for formulation of elasticity problems involves taking the displacement field and then minimizing the energy to obtain nodal values of displacement; once displacements are known, one can easily substitute to find the strains and stresses in the elements. The total energy is the potential (strain) energy minus the part needed to do the work. Since the region has been divided into a number of elements, one needs add up the potential energy of each element to obtain the total potential energy.

We are still talking linear elastic springs so the 'stretch' (strain) potential energy = stiffness times displacement2 divided by 2 (area under the force-displacement curve; that curve for a linear spring is just a straight line). Using that stress = force divided by area AND stress = Young's modulus times strain, one can re-arrange to find that force = stress times area = Young's modulus times area times strain. Therefore (since strain = displacement divided by original length and force = stiffness times displacement) the stiffness (as you already knew!) for an element = its area times Young's modulus divided by original length. Total work done by the external force is simply force times displacement and therefore my total energy is:

Energy = ( 1/2 )( A(1)E(1)/Len(1) )(U(2) - U(1))2 + ( 1/2)( A(2)E(2) /Len(2) )(U(3) - U(2))2  - ( P )( U(3) )

where 'P' is the applied external force (in this problem = 120,000 N). Now we want to solve for our three displacements. To do that we need three equations; we'll minimize the total energy with respect to each displacement (energy minimization - system will 'want' to be in its lowest energy state) therefore we obtain the equations by taking the partial derivative of the energy function with respect to each of the unknown displacements and setting each equal to zero (thus minimizing):

(d/dU (1))Energy = -( A(1)E(1)/Len(1) )(U(2) - U(1)) = 0
(d/dU(2))Energy = ( A(1)E(1) /Len(1) )(U(2) - U(1)) - ( A (2) E(2)/Len(2) )(U(3) - U (2) ) = 0
(d/dU(3))Energy = ( A(2)E(2) /Len(2) )(U(3) - U(2))- P = 0

Now these equations are put into matrix form [K][U] = [F] with [K] called the stiffness matrix, [U] containing the unknown displacements and [F] the force matrix:

[K] =





A(1)E(1)/Len(1) + A(2) E(2)/Len(2)





[U] =




[F] =




We have to be careful here! Our [K] matrix is 'singular' but that is because we need to add our boundary condition(s) before we can have a 'unique' solution to a specific problem. Substituting U(1) = 0 basically eliminates the first row and column of the stiffness matrix and solving that reduced system one obtains: U(2) = 0.045 cm and U(3) = 0.085 cm (no surprise by now).

Once again, one can now perform the final step of interpreting the results; often this involves calculating other values such as the stress in each element, or the strain in each element ...


There are several packages available.

Note: since all of these packages are provided through the University, they all have terms of agreement that dictate they may only be used for academic purposes. You need to be aware that they may not be used for consulting or commercial use. This shouldn't be a problem as you can use the University resources for learning/training relative to your project but ask to use the company's system if necessary - ask if you are unsure; a quick rule-of-thumb: the University packages are appropriate if you can explain/show the FEA setup and the results in an open/public forum.

Work with the tutorials provided with the packages to learn the specifics of: meshing, properties, boundary conditions, solution, interpretation!

Go back to table of contents