DataGraph Forums › General › User Showcase › Fitting Head Acceleration Data to Model Impact
Hi folks,
My background is in biomechanics, specifically related to the impact response of the infant’s head as the mechanical and biological properties of the head, skull and brain change as a function of age. I regularly perform forensic analysis of incidents that involve infant head impact, which includes reconstructing the impact event to determine the potential for various types of cranial and intracranial injury.
There are various sources of impact data in the literature and through my own testing that characterize the impact response for well-defined tests, utilizing both ATDs (“crash dummies”) and post-mortem human surrogates (cadavers). By accumulating and analyzing each impact test, a composite data set can be developed to reflect the average, or composite response of the infant head for a particular age/developmental stage.
DataGraph has been really useful in visualizing the typical impact response data and fitting these data to an analytical model of the velocity and acceleration histories of the head during an impact. From some unrelated analysis I have performed I fit sigmoid functions with DataGraph to make differentiating the data smoother. It turns out that a sigmoid function is a really good approximation of how the head changes its velocity during an impact.
DataGraph permits me to assign Values with sliders for a, b and c to modulate the velocity as a function of time. I can visualize in real time, through live Differentiation of the velocity function, the resulting linear head acceleration history and match its peak value and pulse duration to each test published in the experimental literature or within my own test data. Here, “c” is the initial velocity of the head at impact, “a” modulates the offset of the history along the time axis, and “b” changes the slope of the linear portion of the velocity-time curve, which changes the peak linear acceleration and acceleration-time pulse duration. It is absolutely awesome.
With each modeled pulse, I can use the published (or computed, based on free-fall calculations) impact velocity as input (“c”) and fix “a” to set the beginning of the pulse at time t=0. Then I can adjust “b” to get the response that fits the experiment. Fantastic stuff.
This approach is mush more accurate than assuming a more simplified pulse shape and permits the assembly of an average, or “typical” response based on data that can then be used to model an unknown impact condition. For example, the data I have fit are for falls from various heights onto a particular impact surface, with the head contacting that surface as the primary point of contact. Ultimately I want to determine the peak linear acceleration and pulse duration for a particular fall height. So I composite all of the experimental model results into a single, composite model by fixing the computed “a,” “b” and “c” parameters, and then I input the desired “a” parameter (the impact velocity corresponding the fall height I want to investigate). The model will display the resulting acceleration-time history, the peak linear acceleration and the pulse duration for the unknown fall scenario under investigation.
I have validated this approach against my own test data and published data and is astonishingly accurate – this implies that the choice of the velocity-time curve for these types of impacts is a decent estimate of “real life.”
Thanks DataGraph!
Kirk Thibault
Devon, PA
Thanks for your contribution! Particularly interesting how you use the Slider variable to understand the behavior of the function better. That is the use case that it was designed to help with. Nice work 🙂
The use of the arrows also does a nice job of highlighting a region. For anyone interested, you can do this with the Label command or use a Connect command, as illustrated here with a command for each one.
Here are the details. Note the ‘\n’ triggers a new line in the second label.
The Connect and Label techniques are waaayyy more elegant than my kludged technique. Thank you for posting this!
I am always impressed at the level of abstraction of tokens and where they can be used. I also very much appreciate the use of plot coordinates, instead of screen coordinates, in placing text and arrowheads, for example. This is really nice because it makes them “sticky” and move with the data they are labeling.
Kirk
Also, thank you for implementing Latex markup within the various input fields. Another robust technique for making plots, and doing things like adding a bold character, or super/subscript, or a fraction, etc. into a string of text, without having to transform the entire string.
Kirk
Is there a method for using tokens (field values, etc.) in the label text of a Connect command?
Thanks,
Kirk
DataGraph Forums › General › User Showcase › Fitting Head Acceleration Data to Model Impact