Frontal bone impact (Yoganandan 1995)#

Beta version

This loadcase is run for a beta version of the model under active development and the results can be expected to change

Hemispherical Impacts based on Yoganandan et al., 1995

Model validation information

  • Performed by : Jia-Cheng Xu

  • Reviewed by :

Added to VIVA+ Validation Catalog on : 2023-05-02

Last modified:

VIVA+ model version (this notebook run for):

Force and displacement responses#

Hide code cell source
## TODO: Define Deflection!!!
fig_force, axs = plt.subplots(nrows=1, ncols=1, sharex=True, sharey=True,figsize=(10, 6))

#fig_fd.suptitle('Chest Force vs Deflection')

# axs.plot(chest_deflection_50F_2 -chest_deflection_50F_2.iloc[0], simData_50F_2.IMPACTOR["Contactforce-impactor-to-HBM-m"].iloc[:,1], label="VIVA+ 50F", **plot50F)
# axs.plot(chest_deflection_50M_2 -chest_deflection_50M_2.iloc[0], simData_50M_2.IMPACTOR["Contactforce-impactor-to-HBM-m"].iloc[:,1] , label="VIVA+ 50M", **plot50M)

axs.plot(simData_50F.Model.Impactor_Head_contact.time.iloc[0:51], simData_50F.Model.Impactor_Head_contact.force.iloc[0:51], label="VIVA+ 50F", **plot50F)
exp = np.ones(51)*13.6 #Delye peak force
axs.plot(simData_50F.Model.Impactor_Head_contact.time.iloc[0:51], exp, label="Yoganandan et al. 1995")

#axs.plot(ex_Neathery_impact_force_deflection.Average.Lower.Deflection_mm, ex_Neathery_impact_force_deflection.Average.Lower.Force_kN,label="Kroell Average", **plotExperiment)
#axs.plot(ex_Neathery_impact_force_deflection.Average.Upper.Deflection_mm, ex_Neathery_impact_force_deflection.Average.Upper.Force_kN, **plotExperiment)



# axs.plot(ex_Lebarbe_impact_force_deflection.low_speed_4_3_max.X, ex_Lebarbe_impact_force_deflection.low_speed_4_3_max.Y/1000, label = "Lebarbe corridor 4.3 m/s", **plotExperimentMale2)
# axs.plot(ex_Lebarbe_impact_force_deflection.low_speed_4_3_min.X, ex_Lebarbe_impact_force_deflection.low_speed_4_3_min.Y/1000, **plotExperimentMale2)

axs.set_xlabel('Time (ms)')
axs.set_ylabel('Force (kN)');

axs.legend(loc="upper right", bbox_to_anchor=(1.05, 1.05));
#fig_fd_ll.tight_layout(pad=0.5);


fig_displ, axs = plt.subplots(nrows=1, ncols=1, sharex=True, sharey=True,figsize=(10, 6))
axs.plot(simData_50F.Head.Displacement_head.time.iloc[0:51], (simData_50F.Head.Displacement_head.displacement*-1).iloc[0:51], label="VIVA+ 50F", **plot50F)
#axs.plot(simData_50F.Impactor.Displacement.time.iloc[0:51], (Impactor.Displacement*-1).iloc[0:51], label="Simulated impactor", **plot50F)
exp = np.ones(51)*4.0 #Delye peak displacement
axs.plot(simData_50F.Head.Displacement_head.time.iloc[0:51], exp, label="Yoganandan et al. 1995")

axs.set_xlabel('Time (ms)')
axs.set_ylabel('Displacement (mm)');

axs.legend(loc="upper right", bbox_to_anchor=(1.05, 1.05));
#fig_fd_ll.tight_layout(pad=0.5);
fig_force.savefig(os.path.join(figures_dir, 'Yoganandan_1995_force_{}.jpg'.format(pd.to_datetime('today').strftime('%Y%m%d_%H%M%S'))), transparent=False, dpi=600, bbox_inches="tight")
fig_displ.savefig(os.path.join(figures_dir, 'Yoganandan_1995_displ_{}.jpg'.format(pd.to_datetime('today').strftime('%Y%m%d_%H%M%S'))), transparent=False, dpi=600, bbox_inches="tight")
../_images/cb15d9fbc7d548741c413577fd63478ff66d1d9bda2b975afaef1cd576e42967.png ../_images/1c5b36cffad0d373abe91bc87d8c6da7f8f90c9def203c727d3387ca12920911.png