Dynamic truss/frame systems using FEM

I'm approximately a junior (finishing off some junior stuff while I take a few senior-level classes because scheduling) in mechanical engineering with a minor in computer science. Last semester I took a class on the basics of FEM using MATLAB that I quite enjoyed. I was wondering how these concepts might be applied for dynamic stress simulations.

For example, let's say I have an object that is represented by a basic system of trusses, and I apply a sudden impulse to the object, say, from a rocket motor. I know how the object would react from a rigid body perspective, the resulting velocities, etc. What I'd like to understand more is the internal stresses caused by the impulse.

Another example would be the same object falling and colliding with the ground. I'd like to be able to model the resulting stresses to the various members of the simplified system.

To be more specific, the methods we used for our truss and frame analysis were simply static. σ=Eϵ was the basis of the FEM method we used. The structure that we were analyzing would need to be fully fixed in place, otherwise the linear algebra would fail and give weird results.

If I wanted to know the internal stresses of a free floating object, what sort of equations would I use? How would I represent the object's own inertia as being a sort of constraint? How would I include a representation of time?

My end goal would be to design a real-time simulation engine for very simplified soft-body physics. Think Beam.NG or Rigs of Rods, which I suspect use similar techniques to what I describe. I've tried researching this sort of stuff, but FEM past the basics is a rabbit hole of complicated information that's well beyond my level of understanding, so I'm not sure where to begin or what paths to follow.

If anybody has any ideas about where to begin analyzing this sort of problem, they would be greatly appreciated.

Posted Aug 3, 2019, 11:24 PM UTC

34
CheticusMechanical / Astro•

there's a couple options.

  1. you could calculate all the forces on the object so that they very nearly balance and then apply them all, and fix it at an arbitrary point away from where you care about stress, then check the reaction forces and moments at that point and show they are small. You would need to include body forces from acceleration, etc.
  2. you could use "inertia relief" (google it) which applies an acceleration through your model to balance the external applied forces. a rocket might be designed for buckling in this way. i.e. you have a force at the bottom of the rocket, and the balance is provided by f = m*a where the solver is calculating the acceleration to apply based on the sum of the forces applied to the model.
  3. you could perform a dynamic simulation. this is a rabbit hole...but you can look at doing:
    1. modal dynamics (break down the model's degrees of freedom into the modal responses, and then place loads as functions of time on the model, studying the response as a linear superposition of the modal responses).
    2. 'implicit' dynamics needs iterations and generally can work well for things in the quasistatic to milisecond time range
    3. 'explicit' dynamics is forward marching and generally can work well for things in the milisecond to microsecond time range, and is based on the speed of sound in your materials. can track stress waves and contacts well generally.
    4. multibody dynamics can use a mix of rigid components and flexible components (reduced by modal analysis) to study the loads on different parts. generally these are not finite element solvers, but you're looking at software like MSC.Adams

or you can try to use hand calculations and good ol' f=ma and abstraction / idealization into simple springs :)

2
extravisualOP•

I love it. This is more detailed a response than I could have ever hoped for. Thank you.

You astro types always seem to have a firm grasp of simulation methods. Is it part of your curriculum? I'd be studying aerospace engineering if my school offered it.

2
CheticusMechanical / Astro•

No prob bob.

Actually I was a mechanical guy and I recently went from rocket/satellite stuff into planes. There's plenty of mechanical stuff in planes. It's been a learning experience though.

Nothing will ever beat hand calcs and first principles, no matter how fancy the simulation there is generally greater insight from the math.

I didn't learn finite elements until I was in industry plus grad school. Don't rely too much on simulation if you can't back it up with first principles and test!

2
extravisualOP•

I had a project in a Solidworks class where we had to design a bracket to hold a certain load with a certain factor of safety. I came up with a design that hit that factor of safety just exactly, and weighed a fraction of the next lightest submission. The brackets were 3D printed and tested.

Mine held about 1/5th the weight it was supposed to. That class taught me not to trust simulations too much (and certainly not Solidworks simulations, from what I'm hearing.) As an aside, it also taught me that you can't make a 2D slice of a pickup truck aerodynamic, no matter how hard you try to make it look like a Prius.

Fun class though.

This particular question is more hobby than practice. I want to code a game engine that simulates very basic softbodies using FEM techniques. Just basic cylinders and the like. Whatever method I choose should be fast enough to do it in real time, which naturally means compromising accuracy.

I'm looking forward to investigating your suggestions once I have time. You've pointed me in some interesting directions. I really enjoy FEM, and it meshes well with my skill as a coder.

1