Labels

programming (8) rails (7) tools (7) cluj (4) productivity (4) emberjs (3) misc (3) startups (3) internet (2) software (2) architecture (1) hack (1) java (1) meetup (1) os x (1) science (1)
Showing posts with label science. Show all posts
Showing posts with label science. Show all posts

Friday, August 10, 2012

Finite Element Method for Programmers: A shotgun introduction

Back in highschool you learned about the laws of physics. Whether you had fun with your teacher's theories of extraterrestrial life or struggled to pass, I'm sure  "Maxwell", "Newton", "mass" and "energy" are still familiar terms, and if you're proud to admit you're a geek perhaps you occasionally mention them in conversation about the origin of the Universe, the "God" particle, time travel.

Coming back to the real world - as real as Formula 1 cars, let's assume - finite element method (abbreviated FEM) is the "dominant discretization technique in structural mechanics." It's based on subdiving the model/representation into simpler components called... *tada* elements.


Meshing of a gear drive

Degrees of freedom and unknown functions


Now, if you took robotics (which sounds a lot cooler when you mention it in conversations then what you actually studied at your university - at least in my case) you might recall what degrees of freedom (DOF) are. They are the (unknown) functions which characterize the response of each finite element.

To get a feel of "degrees of freedom": an automobile with highly stiff suspension can be considered to be a rigid body traveling on a plane (a flat, two-dimensional space). This body has three independent degrees of freedom consisting of two components of translation and one angle of rotation. Skidding or drifting is a good example of an automobile's three independent degrees of freedom.

(3 x 2) degrees of freedom