nij

Calculate the Neck Injury Criteria.

Syntax

nij(xforce, zforce, ymoment, dummy_type, mode, condyle_correction, debug)

Arguments

xforce
A vector containing the neck x component force (N).
zforce
A vector containing the neck z component force (N).
ymoment
A vector containing the neck y component moment (Nm).
dummy_type
The function accepts either strings or integers as the dummy type:
  • 1 or "CRABI" = CRABI
  • 2 or "H3_3Y" = H3 3yr
  • 3 or "H3_6Y" = H3 6yr
  • 4 or "H3_5_IP" = H3 5th In Position
  • 14 or "H3_5_OP" = H3 5th Out of Position
  • 5 or "H3_50" = H3 50th
  • 6 or "H3_95" = H3 95th
Note: Double quotes must be used around strings.
mode
This argument determines the Nij curve to return
  • 1 = Ntf
  • 2 = Nte
  • 3 = Ncf
  • 4 = Nce
  • 5 = {max(Ntf), max(Nte), max(Ncf), max(Nce)}
  • 6 = Ntf without 0.00 constraint
  • 7 = Nte without 0.00 constraint
  • 8 = Ncf without 0.00 constraint
  • 9 = Nce without 0.00 constraint
  • 10 = {max(Ntf), max(Nte), max(Ncf), max(Nce)} without 0.00 constraint
condyle_correction
1 = yes (yMoment = yMoment - xForce * fCondyle)
0 = no
debug
Prints processing messages to the message window.
  • 1 = on
  • 0 = off

Example

As a curve:
X:  p1w1c1.x
Y: nij(p1w1c1.y, p1w1c3.y, p1w1c2.y, 5, 1, 1, 0)
As a note:
{ntf = nij(p1w1c1.y, p1w1c3.y, p1w1c2.y, 5, 1, 1, 0)}
{nte = nij(p1w1c1.y, p1w1c3.y, p1w1c2.y, 5, 2, 1, 0)}
{ncf = nij(p1w1c1.y, p1w1c3.y, p1w1c2.y, 5, 3, 1, 0)}
{nce = nij(p1w1c1.y, p1w1c3.y, p1w1c2.y, 5, 4, 1, 0)}
{maxvalue = nij(p1w1c1.y, p1w1c3.y, p1w1c2.y, 5, 5, 1, 0)}
Ntf = {maxvalue[0],f3.2} @ {c1.x[indexofmax(ntf)]}
Nte = {maxvalue[1],f3.2} @ {c1.x[indexofmax(nte)]}
Ncf = {maxvalue[2],f3.2} @ {c1.x[indexofmax(ncf)]}
Nce = {maxvalue[3],f3.2} @ {c1.x[indexofmax(nce)]}

Comments

Data must be filtered, in correct units, and with consistent time vectors.

You will need to run this four times to get each of the four Nij curves. Use mode = 5 to determine the peak value for each Nij returned and then take the max() of those peaks to find the final Nij value.