Saturday, April 2, 2011

Seismic Analysis

Traditional seismic analysis is rather long in the tooth.  The latest earthquakes have shown the importance of large transients.

(A consolidated series from my blog Ontario Geofish.)

My next series will be on seismic analysis. I wrote a fair piece of that Wiki article, and I've been involved with the trade for many years. For those purists, I'm referring to civil seismic analysis, which is the study of soils and structures to seismic shaking.

The prime motivator for the start of seismic analysis was the observation that buildings shimmered and shook in earthquakes, like a dancer on the good juice! As well, it was noted that buildings on soft soils would act extra bad, if both the soil and building had matching resonance frequencies.

Thus, seismic analysis started down the road of studying resonance, and never really got off that streetcar! And what better way to study resonance than to muck up everybody's minds with eigenvalues! This has been designed as mental torture for young engineers, and filters them out by killing them! You young'uns might have to learn this crap, but it is not conducive to good thinking. I have met many people who spout eigenvalues, and eigenvectors, and have no clue what they are talking about.

Early seismic analysis was also contaminated by the California experience, where most historic earthquakes were long rumbly things that totally activated the soil basins, and thus resembled long sinusoids of varying frequencies. They could characterize these sinusoids with the simple mechanical contrivance of a series of oscillators. Thus, you could measure the maximum motion of a 1 Hz oscillator, a 5 Hz one, etc. Since engineers love everything mechanical, you could actually build one of these 'response spectrum' boxes, and they were used for years in nuclear power plants.

I'm just going into these ancient assumptions, because they are still used today, simply because they are 'tradition'. If you are ever in a position to be snowed by a fancy seismic analysis, simply ask what are the underlying assumptions, and how do they relate to modern science? They will just die!

In this series, I will attempt to do something never done before by an engineer on a blog: I will start a legitimate seismic analysis from scratch, using programs I've never used before! I take the risk of looking like a complete fool, which is something that the 'distinguished' people would never do. I'm only keeping a 'live blog' to motivate me to do something that seriously hurts my brain!

Here, we pay homage to our hero in this difficult endeavor.

That's right, it's Shrek! That series of movies did more for the science of physics modeling, than 30 years of engineering. Those guys just recently won an Oscar for particle dynamics, which is used for simulating water, smoke, clouds, explosions, etc. They use big clusters of Linux computers, and each run probably uses more power than any seismic analysis. Unfortunately, all the smart guys are either working for Hollywood, or doing crash analysis for cars, and there isn't much literature available.

So, with Shrek in mind, we will take a totally different route for seismic analysis, starting with a clean slate, and using modern computing techniques. With an iPod being more powerful than the computers I used 30 years ago, we have no need for the old 'compute saving' shortcuts.

Now we start. Think of very small chunk of concrete, suspended in the air. This particle is subjected to various forces, such as gravity. It has a defined mass, measured in kilograms. Newton gave us a very great gift, to calculate what this particle will do next: F = M a, or a = F/M. That means the acceleration of the particle (defined as a 3D vector), will merely be a vector sum of all the forces divided by the mass (keeping consistent units is a bitch!).

Although this particle would love to be in a Hollywood explosion, for us, it is embedded in a civil structure, and will only fly in an earthquake, if it is made of Montreal Mafia concrete! But, assuming a normal structure, this 'hunk' has restraining forces. We model this as simple springs, all around the hunk, so that if it moves to the right, the spring force increases to push it back to the left.

In fact, this is all we really need to model the physics, except that we are now going to thousands of hunks. If the conglomeration (structure) is as boring as a Toronto suburb, then it's not moving. For that, we need a 'forcing function', such as would be provided by an earthquake.

The Shrekians perfected a marvelous technique of explicit time domain modeling. This what I used with my own computer code 30 years ago, and had I been smarter, I'd be rich! With it, we make the time steps very small, so that we can predict exactly what our hunk will do in the next time step, by summing the forces in this time step. This type of calculation is 'explicit' in that we don't have to do any fancy recursion or anything, and thus lends itself to be solved by large computer clusters.

In the next article, I shall finally open up a computer program, that I have never seen before, and have no great confidence in myself, to get it working!

And so we plunge into the cold water. I have chosen the Impact explicit finite elements program, since it is closest to what I have worked with before, and has many neato features. As well, I finally got it to look normal on my system, so I am encouraged.

As well as my earlier home-spun efforts, I had a chance to work with Ansys Ls-dyna, which is a horrendously expensive commercial program, that I managed to con the bosses into getting! Unfortunately, it only worked on the sleazy Windows boxes, beloved of all dysfunctional techno-bureaucracies, and I couldn't go far with it. Impact is written in Java, and has the ability to cluster, so it is interesting. I don't know if it is still being supported, since the last posts look rather old.

I shall now open it and work through the tutorial.

OH MY GOD! It's working perfectly! I've created a steel plate, and it has built-in materials! That was such a bastard with the commercial codes! Here's my plate. I can't stand it anymore, I need a snooze!

Okay, we've got our steel plate, but if we gave it a shove, it would travel through space, whirling and spinning like a US spy satellite! That's the nice thing about Shrekian Analysis, we could model the satellite spinning through space, and then have the missile blow it up into a zillion pieces!

But we don't want that now. We want the plate to stay in one place so that we can deform it. That means we have to hammer in some sky-nails! These are very special, in that they nail an object to absolute co-ordinates, in the middle of the sky. I think they must penetrate into a parallel universe! In more mundane terms, they are called constraints.

I will now enter the program, and continue the tutorial.

Okay, I have entered the constraints and applied the loads.

The final step is to run the model. Fingers crossed!

OMG, it's running! Only using one processor, might be able to fix that when clustering.

It's done! Now, it should look like this.

That's a big, folded pop-can. Instead, my looks like this.

Which means that it didn't crumple, it just shattered and pieces flew all over the place! I most likely set the material properties wrong, more like glass than steel. Back to the drawing board!

This is fun! I'll keep mucking with it, until I get the tutorial right. Then, we attempt to put in a dynamic constraint to get some wave propagation, and we are on our way to seismic analysis!

I now have wave propagation!

I have initiated a 'hit' constraint on the middle bottom nodes. The wave will now start to propagate into the medium.

And the last shot.

Note the leading 'fuzz' from the main pulse. This is most likely an instability propagating directly per time step. I used to get this all the time. The solution is to 'shape' the input curve into a cosine wavelet (smooth bump!), and to decrease the time interval. All in all, I am amazed at how quickly this runs, and I can specify 2 processors if I want to!

I was working on gmsh which is a better modeler. I intend to eventually model soil on rock, a structure on rock, and a structure on soil. Based on my previous modeling, it will show how the 'old guys' have it all wrong when they deal with structural resonance, mainly because of those deep horrible assumptions.

Still moving along. Got sidetracked with model generation, which was a big waste of time. Figured out how to animate an impact.

This is the max displacement vector. You can see the fundamental starting to come in, which will be the block pulsing up and down. I'm always fascinated to watch the transients become the fundamentals. All of traditional seismic analysis skips the transients.

ps. 1st few frames are at the last.

No comments: