-
Notifications
You must be signed in to change notification settings - Fork 54
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Baseline Correction for Kinematic Variables #296
Comments
I worked on base line correction before. So, I know what you're referring to. Could you give specific examples where this tool could be useful? In seismic, we typically get accelerograms from PEER or KiKNet databases that are baseline corrected. |
The largest constants of integration, which are the root cause of the phenomena we are discussing here, are observed in roughly monotonic vibration signals, such as floor vibrations due to loads from pedestrians or machine operation, or vibrations observed in locomotives, which is extremely relevant for transportation of nuclear fuel. I actually didn't know PEER serves baseline corrected data, but even if they didn't you're right, seismic ground motions typically need not be baseline corrected, since the many different frequencies tend to work together to cancel out the drift constants. I've applied my baseline correction code to ground motions from PEER, and the results were almost identical to those obtained from Newmark integration alone. However, it is my understanding that there are cases where earthquake ground motions exhibit approximately monotonic behavior, such as near-fault ground motions or the effect when the propagation of ground ripples tend to concentrate at point (I forget what you call this phenomena). If a user happened to have a raw accelerogram of these types of ground motions, they will need to perform baseline corrections. Also, let's say a user simply wants to run an analysis with a single sinusoidal function, like Asin(fpit). Any boundary where this displacement were prescribed would drift far off into space unless the correct initial conditions are set, but even then there is still some drift, since the double integral results in a C1 + C2t drift that cannot be removed with a scalar initial condition. It is sometimes the case that shake-table experiments use analytical functions like these to control the actuators, and so if a user wanted to model such an experiment with MASTODON, it might be helpful to apply this correction. |
I suppose the reason why my baseline correction applied to accelerations from PEER did nothing is because they were probably already corrected 😆 |
Refer to this article: ftp://140.115.123.63/share/%B0%EA%A9m%AAF%B6%D5%B8%EA%AE%C6/08_References/Strong%20motion%20record%20processing%20for%20the%20PEER%20center.pdf PEER motions are baseline corrected :) For near fault motions, you would, in some cases, expect a nonzero displacement after the earthquake ends. This non-zero displacement is called fling step and it is due to nonlinear motion of the earth. |
And so they are! This is a helpful reference, thank you, Som. Right, if a permanent displacement is the expectation, than these corrections are not useful and, in fact, harmful if not used with care. |
Hi @crswong888, thank you for the issue, and I'm glad you and @somu15 started this interesting discussion. This is definitely an important feature for seismic analysis and we need to discuss a good place for it. I'll let @somu15 figure this one out. @somu15 I'd start by asking @aeslaughter how to do this. |
@cbolisetti Sure, I will check with Andrew. |
@cbolisetti Thank you, Chandu, and Som as well. @somu15 I will work with you as much as it takes to do this job correctly. Let me know when I can open a PR. Note that I have a functioning prototype that you could easily try out and I provided a link in my original message. |
@crswong888 Please consider a few things:
Before doing any the above, I am not clear what are the inputs and outputs, if your tools has to be used after or before a simulation. Please clarify these. |
No problem. I will do this and report back when I get the chance. |
@somu15 okay I added the items you requested in the latest commit to my MASTODON fork. Obviously, this commit needs a lot of fine-tuning, but the state of this branch currently serves the purpose of making clear to you how this vpp object works. I would like to add some more documentation to the theory manual describing the mathematical formulation behind this object, if you think this is appropriate. I would also like to eventually add more tests with varying combinations of the input parameters. Regarding your question about whether this vpp should be used before or after the simulation, the answer is: both. It depends on what you are trying to accomplish. Please note that, if the user wanted to use the corrected data as a boundary condition, say with |
… histories (closes idaholab#296)
… histories (closes idaholab#296)
… histories (closes idaholab#296)
…these as an example problem (refs idaholab#296 idaholab#344)
…re's no good reason why this shouldn't be allowed (refs idaholab#296)
…cement time history (refs idaholab#296)
…er and a placeholder page to move all of the demonstrations to (refs idaholab#296 idaholab#344)
…re's no good reason why this shouldn't be allowed (refs idaholab#296)
…cement time history (refs idaholab#296)
…er and a placeholder page to move all of the demonstrations to (refs idaholab#296 idaholab#344)
… histories (closes idaholab#296)
…these as an example problem (refs idaholab#296 idaholab#344)
…re's no good reason why this shouldn't be allowed (refs idaholab#296)
…cement time history (refs idaholab#296)
…er and a placeholder page to move all of the demonstrations to (refs idaholab#296 idaholab#344)
Reason
Integration of harmonic, or quasi-harmonic, acceleration or velocity time histories can result in displacements that exhibit an unrealistic deviation from a particle's initial position over time, depending on the assumed properties of the given signal. Initial conditions are often unknown or difficult to satisfy while maintaining the expected behavior that a vibration signal oscillates about a constant baseline and comes to rest at or near the initial position. Baseline correction is a method to transform the time history variables of a vibrating particle such that its mean position is a constant, zero-valued one, without adversely affecting the peak accelerations or spectral properties. I think it could be useful to many to have a C++ object capable of performing these corrections in MASTODON.
Implementation of this capability would be in support of my graduate research for NEUP Project: 17-12939.
Design
The object would be a vectorpostprocessor whose general purpose would fall into the same category as the ResponseSpectraCalculator, i.e., a signal processing function. A user could pass a nodal acceleration solution and the vpp would return the adjusted time histories. They could also run the vpp on some input acceleration function or data from field measurements stored in a file on the initial time step, and then use the corrected values in the model itself, for example, with PresetAcceleration.
The corrections would be performed by subtracting a least squares polynomial from the nominal time histories, which results in a nearly equivalent vibration signal of the drifted one, but relative to the datum horizontal axis. Polynomial fits can optionally be made to all 3 kinematic variables or applied selectively. In addition, the order of the polynomial could be specified. This flexibility would allow for the user to achieve their desired result. The details for the theory and use of this vpp object would all be explained in the website's syntax page. I have created a prototype of this object on my personal MOOSE Application.
Impact
Technically, this type of signal processing could be performed by a user them self, outside of MASTODON, and it has no direct relationship to finite element analysis. However, the numerical procedure is somewhat difficult and not generally known to structural engineers. Thus it would only serve to make MASTODON a more useful tool. It is also well-suited for automation. Many commercial software packages, such as Seismosignal and Abaqus have this capability.
@cbolisetti If you have the time and resources to review my proposed work, I wish to proceed with a PR.
The text was updated successfully, but these errors were encountered: