The Model
In order to complete any finite element simulation, you need to go through
a few steps as is described below. I'll describe each step in the context
of the roof truss simulation.
Problem Identification
The first step in performing any analysis is to identify the problem. This
involves first understanding the scenerio that is to be simulated. In our
case, this involved a few phone calls and a fax so that I could better understand
the layout of the roof as well as what Dad wanted to know about it. Eventually,
I got a good idea of the geometry of the roof truss and the surrounding support
structures (a large I-beam at one end and the building's outer wall at the
other). Click here for some computer generated pictures of the truss.
Simplifying The Problem
By Making Assumptions
Next, I have to decide what I want to model. There are certain assumptions
that are pretty safe to make when considering certain aspects of a problem,
and when you allow yourself to commit to these assumptions, your resulting
model can be considerably simplified. Usually, I'll run through the list
of possible assumptions in my head and pick which ones are applicable to
the problem at hand. It is usually necessary to make some of these assumptions
in order to simplify a problem to a point that the resulting model is not
too large to run on existing computers.
Brick Elements vs. Shell Elements
For instance, the upper flange and "top hat" sections of steel in the roof
truss are constructed from bent plates of steel. There are two different
ways that I could choose to model such a structure.
The first would be to generate a brick element mesh of the
structure. Brick elements are like cubes; they have eight corners and six
sides. One rule of thumb for modeling any "thin structure" with brick elements
is that you need at least 3 brick elements stacked up in the "through-the-thickness"
direction of the thin parts. If you have fewer than three, your answers
will be inaccurate. Another thing to consider is that your aspect ratio
or ratio of length to width or length to height etc. must not be exceedingly
high or low; the more like a cube (which has equal length, width, and height
dimensions, and, as a result, has aspect ratios of 1.0) the better. Keeping
these two things in mind, a typical brick element mesh of an I-beam would
be like the one in the figure below. Notice that there are 3 elements through
the thickness of both flanges as well as the web, and the aspect ratios
aren't too high or low.
The second method is to generate a shell element mesh of
the thin structure. Shell elements are like a piece of paper; they have four
corners and 4 edges (sides) and a top and bottom. They are allowed to be twisted,
stretched, and/or bent. If you are dealing with thin structures (like filled
rubber balloons, propane tanks, fuselage skins of a DC-10, head of a spade
shovel, I-beams, etc.) you are allowed to use shell elements. I just have
to tell how thick each element is and what material it is made of, and the
computer knows how it will behave. The figure below shows a shell mesh version
of the I-beam.
The obvious advantage to using the shell element version is that the computer
only has to deal with a small fraction of the number of elements you'd need
in the brick element version (there are more than twenty times as many elements
in the above brick element version than there are in the shell element version.
This means the shell element version of the problem will solve much faster
and will not require nearly as much RAM to store all of the information while
it's solving things.
Beam Elements vs. Shell or Brick Elements
Another similar assumption to be made is to use "beam elements". Beam elements
look like a line segment; they have two endpoints. They are often employed
to model long, slender structures like ropes, cables, or long, thin beams.
You could model such structures with brick elements, but considering the
rules of thumb for aspect ratio and number of brick elements through the
thickness of the beam, you would need hundreds or even thousands of times
as many brick elements as you would beam elements.
For instance, if we were to model a really long version of the I-beam
above, we could do it with beam elements, and you would only need one beam
element (or less) to represent the length of the beam shown in the above
figures. Considering that the brick element version above has 10,578 brick
elements in it and the shell element version has 512 shell elements, and
an equivalent beam mesh would only require one (or less) for the length of
beam shown, you can see why we would want to use beam elements when appropriate.
You just have to describe the cross section and what material the beam is
made out of, and the computer knows how it behaves when you bend, stretch,
or twist the beam element.
Problem Symmetry
Another common assumption deals with problems that have some symmetries.
If you have to model a structure like a bridge and everything along the
first half of the span of the bridge is a mirror image of everything along
the second half of the span of the bridge, you may be able to get away with
only modeling half of the bridge. You have to be careful, though. For example,
if you want to simulate the response of this bridge to a single car driving
across it, the forces applied to the bridge when the car is at one end of
the bridge aren't symmetric and shouldn't be symmetrically applied at the
mirror image of the car's location on the other end of the span. In this case,
you'd have to bite the bullet and model the whole bridge. However, if you
were just interested in how the bridge sagged under its own weight or when
it is full of bumper-to-bumper, backed-up traffic, both the forces of gravity
and the shape of the bridge would probably be nearly symmetric and you would
only have to model half of the bridge.
Boundary Conditions
The final decisions that must be made is how to represent the boundary
conditions of the model.
Boundary conditions are used to "fool" the structure into
thinking it is connected with the rest of the world, and, therefore, the
structure will act accordingly. Boundary conditions get their name from the
fact that a structure is inevitably connected to the rest of the world along
its boundaries. The only part of a problem you need to model is the part
whose response you can't predict. If you want to design a small bridge (say,
a foot bridge), you can pretty much guarantee that the earth that supports
the ends of the bridge isn't going to bend or "give" much no matter what
scenerio the bridge is to experience. Therefore, you can just model the bridge
(and thankfully, skip modelling the planet) and tell the ends of the bridge
that they aren't allowed to move no matter what. Similarly, if you wanted
to see how the bridge deforms when a person is standing in the middle of
it, you can make the assumption that you can simply apply a force at the
center of each footprint of the pedestrian that each equal half his weight.
This would probably be sufficient; you don't have to model the pedestrian,
himself.
With this in mind, it should make sense that there are two types of
boundary conditions:
- Load Boundary Conditions - tell how parts of the boundary
are loaded, and
- Displacement Boundary Conditions - tell how parts of the
boundary move.
There are two types of loads: force loads and heat loads.
Force loads can be applied in the form of body loads (force
per unit volume - like gravity), pressures (force per unit area - like what
the sidewalk would feel when you step on it), line loads (force per unit length
- like what a knife edge would experience as it cuts through butter), or
point loads (force applied to a single point - like what a piece of paper
would experience if you drew on it with a sharp pencil). These force loads
are used to represent how a structure is being pushed or pulled on.
Heat loads have all the same flavors as force loads (i.e.
heat per unit area, etc.), and this type of load would be used in simulations
involving the conduction of heat through structures and/or the resulting
expansion of the materials involved due to this heating.
The Roof Truss Assumptions:
With these things in mind, I decided upon the following scenerio for the
roof truss simulation:
- The weight of the roof bearing down on the top of the upper flange
of the truss can be treated as a pressure load boundary condition that is
evenly distributed along the top of the upper truss flange. The roof, itself,
need not be modelled.
- The end supports of the truss (the I-beam and wall) are very rigid
compared to the truss, so displacement boundary conditions that disallow verticle
motion should be applied along the bottom of the "top hat" sections where
they meet the supporting understructure. The I-beam and wall need not be
modelled.
- The shape of the structure is symmetric. Also, the loading due to the
weight of the roof is symmetric. Finally, the manner by which each end is
supported is also symmetric. Therefore, only half of the roof truss needs
to be modeled. The appropriate displacement boundary conditions will be applied
at the center of the truss to insure symmetric behavior (things in the middle
of the truss shouldn't be able to move in the span-direction of the truss.
- Since the truss is a repetitive pattern in the overall supporting structure
of the roof, I decided to model only one. I can add up all of the results
to obtain an answer for the whole roof.
- The upper flange is a bent up piece of sheet metal that can accurately
be modeled using shell elements with the appropriate thickness values.
- The rods in the webbing and bottom flange are long, thin beams that
can accurately be modeled using beam elements with circular cross sections.
- The welds can be approximated by connecting the two parallel rods in
the bottom flange to the lower elbows of the rods in the webbing using shell
elements with a thickness comparable to the weld thickness.
- For conservatism, the entire structure is assumed to be fabricated
from "mild steel" which is the weakest commercial grade of steel available.
Making The Model
Now that I know what I'm going to construct, I just have to construct it.
This step is commonly referred to as the pre-processing step.
This first involves describing the shape of the structure within a CAD (computer
aided design) program called I-DEAS Master Series. The resulting computer
description is called a solid model. The figure below shows a solid model of the end of the truss.
Once the solid model has
been described to the computer, a finite element (FE) mesh can be generated
on top of the solid model. The end of the mesh for the truss is shown below.
Once the mesh has been generated, you have to put
boundary conditions on it. The last thing that needs to be done is to tell
the computer how thick the shell elements are, what cross sections are to
be used by the beam elements, and what materials all of the elements are supposed
to be. The simulation can then be run. Here's another view of the finite element mesh. The program that I used makes the beams and shells appear to have thickness even though they really have none.
Back: Introduction | Up: Main Roof Truss Page | Next: The Solution