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#
Show 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")