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
there's a couple options.
or you can try to use hand calculations and good ol' f=ma and abstraction / idealization into simple springs :)
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.
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!
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.