Fitting Head Acceleration Data to Model Impact

DataGraph Forums General User Showcase Fitting Head Acceleration Data to Model Impact

  • This topic has 4 replies, 2 voices, and was last updated 3 years ago by kirkt.
Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • #7641
    kirkt
    Participant

      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.

      sigmoid

      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, PADataGraphImage

       

       

       

       

      • This topic was modified 3 years ago by kirkt.
      • This topic was modified 3 years ago by kirkt.
      #7644
      dgteam
      Moderator

        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.

        connect

         

        Here are the details.  Note the ‘\n’ triggers a new line in the second label.

        connect2

        #7645
        kirkt
        Participant

          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

          #7646
          kirkt
          Participant

            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

            #7647
            kirkt
            Participant

              Is there a method for using tokens (field values, etc.) in the label text of a Connect command?

              Thanks,

              Kirk

            Viewing 5 posts - 1 through 5 (of 5 total)
            • You must be logged in to reply to this topic.

            DataGraph Forums General User Showcase Fitting Head Acceleration Data to Model Impact