diff --git a/finalcode/extract_work.py b/finalcode/extract_work.py index 0194863..2054fc4 100644 --- a/finalcode/extract_work.py +++ b/finalcode/extract_work.py @@ -98,7 +98,7 @@ def ExtractWork(IODet, SimDet, param1, param2, param3): WD = np.array([-1.0*np.trapz(sff[:,i]*0.0075, eff[:,i]) for i in range(0,len(sff[1,:]))]) print len(WD) - uDG2.vector()[:] = WD + uDG2.vector()[:] = WD*0.1323 print uDG2.vector().array() fdatamean << uDG2 diff --git a/main/10.ahaplot_WithoutDisarray.py b/main/10.ahaplot_WithoutDisarray.py index e7d613d..3f8d244 100644 --- a/main/10.ahaplot_WithoutDisarray.py +++ b/main/10.ahaplot_WithoutDisarray.py @@ -180,7 +180,7 @@ def aha_wd(directory1, case3, Case1, case4): LVbullseyemulti(data = aharraythick, filename = "Thickness", Stimulus = "Thickness", DirectorY = directory, maxm=1.75, minm=0.30 ) LVbullseyemulti(data = aharraystrain, filename = "Long_strain", Stimulus = "Long_strain", DirectorY = directory, maxm = 25.0, minm=10.0) LVbullseyemulti(data = aharraystress, filename = "Pk2_stress", Stimulus = "Pk2_stress", DirectorY = directory, maxm = 100.0, minm = 25.0) -LVbullseyemulti(data = aharrayworkdensity_f, filename = "Work_density_fiber", Stimulus = "Work_density", DirectorY = directory, maxm=145.0, minm=35.0) +LVbullseyemulti(data = aharrayworkdensity_f, filename = "Work_density_fiber", Stimulus = "Work_density", DirectorY = directory, maxm=20.0, minm=3.0) diff --git a/main/11.ahaplot_With_disarray_nonobstructive.py b/main/11.ahaplot_With_disarray_nonobstructive.py index 67c09b6..a96bf53 100644 --- a/main/11.ahaplot_With_disarray_nonobstructive.py +++ b/main/11.ahaplot_With_disarray_nonobstructive.py @@ -179,7 +179,7 @@ def aha_wd(directory1, case3, Case1, case4): LVbullseyemulti(data = aharraystrain, filename = "Long_strain", Stimulus = "Long_strain", DirectorY = directory, maxm = 30, minm=5) LVbullseyemulti(data = aharraystress, filename = "Pk2_stress", Stimulus = "Pk2_stress", DirectorY = directory, maxm =75 , minm = 25) -LVbullseyemulti(data = aharrayworkdensity_f, filename = "Work_density_fiber", Stimulus = "Work_density", DirectorY = directory, maxm =140 , minm = 5) +LVbullseyemulti(data = aharrayworkdensity_f, filename = "Work_density_fiber", Stimulus = "Work_density", DirectorY = directory, maxm =20.0 , minm = 0.0) diff --git a/main/11.ahaplot_With_disarray_obstructive.py b/main/11.ahaplot_With_disarray_obstructive.py index 38cd4b3..ac86a53 100644 --- a/main/11.ahaplot_With_disarray_obstructive.py +++ b/main/11.ahaplot_With_disarray_obstructive.py @@ -180,7 +180,7 @@ def aha_wd(directory1, case3, Case1, case4): LVbullseyemulti(data = aharraystrain, filename = "Long_strain", Stimulus = "Long_strain", DirectorY = directory, maxm = 30, minm=5) LVbullseyemulti(data = aharraystress, filename = "Pk2_stress", Stimulus = "Pk2_stress", DirectorY = directory, maxm =75 , minm = 25) -LVbullseyemulti(data = aharrayworkdensity_f, filename = "Work_density_fiber", Stimulus = "Work_density", DirectorY = directory, maxm =140 , minm = 5) +LVbullseyemulti(data = aharrayworkdensity_f, filename = "Work_density_fiber", Stimulus = "Work_density", DirectorY = directory, maxm =20.0 , minm = 0.0) diff --git a/main/14. Multiple_violin_plot.py b/main/14. Multiple_violin_plot.py new file mode 100644 index 0000000..3576417 --- /dev/null +++ b/main/14. Multiple_violin_plot.py @@ -0,0 +1,91 @@ +######################################################### + +import sys +import vtk +import os +from dolfin import * +import pdb +import vtk.util.numpy_support as vtk_support +#sys.path.append("/home/fenics/shared/") +sys.path.append("/mnt/home/mojumder/HPCC_HCM/github/HCM") +import vtk_py as vtk_py +import numpy as np +import math +import matplotlib.pyplot as plt +import matplotlib.patches as mpatches +import scipy.stats as stats + +############################################################ +from finalcode.mean_dev import StimulusDev2 + +################################################################ + + + + +def DataExtraction(directory, casename,stimuli): + + filename = directory+casename + ".vtp" + + pdata_reader = vtk.vtkXMLPolyDataReader() + pdata_reader.SetFileName(filename) + pdata_reader.Update() + pdata = pdata_reader.GetOutput() + + array = (vtk_support.vtk_to_numpy(pdata.GetPointData().GetArray(stimuli))) + + return array + + + + + + + + + + +case1 = ['P1' , 'P2', 'P3'] + + + + +Stimulus = 'fstressPk2_'+'max' +DataName = 'f_22' +for l in range(len(case1)): + directory1 = './with_dispersion/'+ case1[l]+"/k0/simulation/mechanics/ME/" + + vtufilename = directory1+ 'fstressPk2_'+'max' + filename = "data_set_"+Stimulus + fdatadev3 = open(directory1+case1[l]+"_thickness.txt", "w+") + StimulusDev2(STIMULUS=Stimulus,VTUfilename = vtufilename, fdatadev3 =fdatadev3, dataname = DataName, DirectorY = directory1, field_type="point") + + + if l==0: + P1_array = DataExtraction(directory1, Stimulus,stimuli= "Thickness") + elif l==1: + P2_array = DataExtraction(directory1, Stimulus,stimuli= "Thickness") + else: + P3_array = DataExtraction(directory1, Stimulus,stimuli= "Thickness") + + +fig, ax = plt.subplots(figsize = (8,6)) +ax.violinplot([P1_array, P2_array, P3_array][::-1], positions = [3,2,1], showmeans = True) + +def set_axis_style2(ax, labels): + ax.get_yaxis().set_tick_params(labelsize = 14, direction = 'out') + ax.get_xaxis().set_tick_params(labelsize = 14) + ax.xaxis.set_ticks_position('bottom') + ax.set_xticks(np.arange(1, len(labels)+1)) + ax.set_xticklabels(labels, fontsize = 14) + ax.set_xlim(0.25, len(labels)+0.75) + ax.set_ylabel('Thickness (cm)', fontsize = 14) +set_axis_style2(ax, ['Control', 'Non-Obstructive','Obstructive']) +#plt.show() +plt.savefig('thicknessall' +"_1.png") +#plt.show() +plt.close() + + + + diff --git a/main/2.Nonobstructive_k1.py b/main/2.Nonobstructive_k1.py index 49b4857..05957fa 100644 --- a/main/2.Nonobstructive_k1.py +++ b/main/2.Nonobstructive_k1.py @@ -82,6 +82,7 @@ "Q_mv" : 0.0124479080844, "stop_iter" : 6, "V_LV_target": 82.1, + } SimDetails = { "diaplacementInfo_ref": False, diff --git a/main/Matlabplot/active_tension_dispersion_P2.m b/main/Matlabplot/active_tension_dispersion_P2.m new file mode 100755 index 0000000..ab500c6 --- /dev/null +++ b/main/Matlabplot/active_tension_dispersion_P2.m @@ -0,0 +1,97 @@ +function active_tension() +lamda = 1.5 +%I = Invariant(lamda) +timevariantformulation() + +end +function timevariantformulation() +%Constant values +lr = 1.85; +lo = 1.55 ; +CaoMax = 4.35; +Cao = 4.35; +B = 4.75; +to = 400 ; +ttrans = 430; +tau = 35; +BCL = 910; + +% c = [0.93, 0.96, 1.0, 1.1, 1.2, 1.6 ] +% T = 95E03; %400E03; + +c = [1.0,1.05,1.1,1.25,2.1] %,4.0] %,18.0 ] +T = 400E03; + + +%variables +lamda = 1.0; +lambda = 1.0; +timepoint =linspace(0, BCL, BCL/2); +sigma_active = zeros(1, length(timepoint)); +dlamda = lamda/to; +actmax = zeros(1, length(c)); +for j = 1:length(c) + Tmax = c(j)*T; + +for i = 1:length(timepoint) + ta = timepoint(i); +% if ta