diff --git a/google_pixel_4a_5g_varying_frequency/Complexity_Between_Vars_influence_energy_efficiency.png b/google_pixel_4a_5g_varying_frequency/Complexity_Between_Vars_influence_energy_efficiency.png
new file mode 100644
index 0000000000000000000000000000000000000000..1b21e3bf9adea51fde4b936b065531308dfb55bb
Binary files /dev/null and b/google_pixel_4a_5g_varying_frequency/Complexity_Between_Vars_influence_energy_efficiency.png differ
diff --git a/google_pixel_4a_5g_varying_frequency/plot_graphs.py b/google_pixel_4a_5g_varying_frequency/plot_graphs.py
index b2be8890604c3083b8b962a3cef3a06d3f13ff63..0828b2ed8f6fad89c6fc8dcf43326057bc2857af 100644
--- a/google_pixel_4a_5g_varying_frequency/plot_graphs.py
+++ b/google_pixel_4a_5g_varying_frequency/plot_graphs.py
@@ -179,3 +179,84 @@ plt.clf()
 plt.cla()
 plt.close()
 
+
+
+
+
+######################################################## plotting graphs for the paper. 
+# Showing that there are complex interaction between energy efficiency variables: 
+#  Dans l'expérimentation illustrée par la figure \ref{fig:complexInteractionBetweenVariables}
+#  Nous avons exécuté une tâche CPU intensive sur le google pixel 
+# Nous avons d'une part fait variérié de 1 à 3 le nombre de threads parallélisé sur le little socket (1T to 3T). 
+# D'autre part pour chaque nombre de threads nous avons fixé deux niveaux de fréquence différents , la fréquence moyenne (MidFreq = 1.36 GHz) et la fréquence maximale (MaxFreq = 1.8 GHz).  
+# Nous pouvons par exemple noter que le nombre de threads et la fréquence interagissent entre elles. 
+# Par exemple: 
+#  Lorsque la fréquence est moyenne, augmenter le parallélisme de 1 à trois threads augmente l'efficacité de ratio 1
+#   alors que lorsque la fréquence est élevée cette augmentation est de ratio 2
+#  De plus lorsqu'un seul thread est démarrer, augmenter la fréquence du socket augmente l'efficacité énergétique. 
+# Mais l'efficacité énergétique diminue lorsque 3 thread sont démarrés que que l'on effectue la même opération d'aumentation de fréquence. 
+# Par ces  illustrations respectives nous voyons qu'il est crutial de considérer l'interaction entre les facteurs de l'efficacité énergétique, 
+# C'est non seulement, pour augmenter exploiter les meilleures opportunités de gain mais aussi éviter des contres productivités.
+
+number_of_cpus = ["mse",  "idle" ,       "1m-0", "1h-0", "1-0",                                "2m-0",  "2h-0"  , "2-0",         "3m-0",  "3h-0"  , "3-0",        "1-1m" , "1-1h", "1m-1m", "1h-1h",   "1-1",                "0-1m",   "0-1h",  "0-1-0"  , "0-0-1",                                    "0-2m",  "0-2h" ,               "0-11m",  "0-11h",            "0-2"    ]                                                        
+phone_energy= [ 1308, 11047.73,             22554.99,  24785.02,  29197.24,               24277.3,   28502.31 , 38598.14,        26060.77, 32111.43,  46077.78,     35087.51, 47102.84,  28158.18 , 42742.2,  73048.75,         30052.34 ,   47133.62, 66877.5,  77632.30 ,                            35683.20, 67647.63,            80676.10 ,  98665.02 ,                 115136.69   ]                                                                                                        
+phone_power = [ 40.16, 336.07,               679.99,  746.01, 876.80,                      729.67,   854.14    , 1066.77,      783.20,  960.98,  1272.45,           1045.80, 1389.07,   845.63,   1265.01, 2106.08,            899.02,       1390.60, 1938.45,   2214.51  ,                         1062.76,  1958.13 ,          2298.82,   2758.98 ,                      3179.93   ]                                   
+workload  = [ 0.1,         0.9,               0.6206,   1.267, 1.60362534,                 1.41737,  2.61014   , 3.368042,        2.291607, 4.07984,  4.9563,       3.810539, 6.249128,    2.790242, 6.12180,   8.47040,         2.5540681,    5.53843,  6.7442,   7.645522240   ,                   4.5668,   10.317,          9.392402,    12.280638,       13.21045181    ]          
+
+
+
+
+frequency = ["1T,MidFreq", "1T,MaxFreq",   "2T,MidFreq", "2T,MaxFreq",  "3T,MidFreq", "3T,MaxFreq"  ]                                                        
+phone_energy= [  24785.02,  29197.24,      28502.31 , 38598.14,                32111.43,  46077.78 ]   
+workload  = [  1.267, 1.60362534,           2.61014   , 3.368042,          4.07984,  4.9563,  ]    
+fontsize_in_paper = 20
+bar_width = 0.4
+label_format = '{:,.1f}'
+fig, ((energy_efficiency_fig)) = plt.subplots(nrows= 1, ncols = 1,  figsize=(15, 7), sharex=True)
+
+
+ratio_1 =     (workload[4]/phone_energy[4] -   workload[0]/phone_energy[0]) / (workload[0]/phone_energy[0])
+ratio_2 =     (workload[5]/phone_energy[5] -   workload[0]/phone_energy[0]) / (workload[0]/phone_energy[0])
+
+print(" ratio 1 ", ratio_1*100)
+print(" ratio 2 ", ratio_2*100)
+
+#frequency[:] = [round(x / 1E+6, 2) for x in frequency]                                                                                                     
+phone_energy[:] = [round(x / 1000, 2) for x in phone_energy]   
+energy_efficiency = np.divide(workload, phone_energy)
+energy_efficiency[:] = [round(x*10, 2) for x in energy_efficiency]                                                                                                   
+energy_efficiency_fig.bar(frequency,  energy_efficiency, width=bar_width, color = "black")
+energy_efficiency_fig.set_title('Energy efficiency\n ' + r'($\times 10e11$)', fontsize = fontsize_in_paper)
+energy_efficiency_fig.set_xticklabels(frequency, fontsize = fontsize_in_paper)
+energy_efficiency_fig.set_yticklabels([label_format.format(x) for x in energy_efficiency_fig.get_yticks().tolist()]  ,  fontsize = fontsize_in_paper)
+
+"""
+label_format = '{:,.0f}'
+
+workload[:] = [round(x, 2 ) for x in workload]                                                                                                     
+workload_fig.bar(frequency, workload, width= bar_width, color = "black")
+workload_fig.set_title('Number of operations\n' + r'($\times 10e11$)', fontsize = fontsize_in_paper)
+workload_fig.set_xticklabels(frequency, fontsize = fontsize_in_paper)
+workload_fig.set_yticklabels([label_format.format(x) for x in workload_fig.get_yticks().tolist()]  ,  fontsize = fontsize_in_paper)
+
+
+#plt.xticks(fontsize=8)
+
+phone_energy[:] = [round(x , 2 ) for x in phone_energy]  # I alrady divided by 1000                                                                                                   
+phone_energy_fig.bar(frequency, phone_energy, width=bar_width, color = "black")  # I divided the energy by 1000  because Moonson made a mistakes in the output, they gives energy in mAh 1000 times.
+phone_energy_fig.set_title('Energy consumed\n' + r'(mAh)', fontsize = fontsize_in_paper)
+phone_energy_fig.set_xticklabels(frequency, fontsize = fontsize_in_paper)
+phone_energy_fig.set_yticklabels([label_format.format(x) for x in phone_energy_fig.get_yticks().tolist()]  ,  fontsize = fontsize_in_paper)
+"""
+
+
+
+#fig.suptitle("Workload, Energy and Energy efficiency according to the core frequency")
+fig.supxlabel("Big core frequency (GHz)", fontsize = fontsize_in_paper)
+plt.gcf().autofmt_xdate()
+
+plt.savefig("Complexity_Between_Vars_influence_energy_efficiency.png")
+plt.clf()
+plt.cla()
+plt.close()
+
diff --git a/google_pixel_varying_the_number_of_thread/Phone_model_influence_energy_efficiency.png b/google_pixel_varying_the_number_of_thread/Phone_model_influence_energy_efficiency.png
new file mode 100644
index 0000000000000000000000000000000000000000..db81750c40e9bce8aecff9f8c39f43da73c6746d
Binary files /dev/null and b/google_pixel_varying_the_number_of_thread/Phone_model_influence_energy_efficiency.png differ
diff --git a/google_pixel_varying_the_number_of_thread/plot_graphs.py b/google_pixel_varying_the_number_of_thread/plot_graphs.py
index a1ece839ddd5444e7a0c0ea0b32cae8dc744f10a..60e06b43fbabf4b48dcc28e272e6eaa983a6bdcd 100644
--- a/google_pixel_varying_the_number_of_thread/plot_graphs.py
+++ b/google_pixel_varying_the_number_of_thread/plot_graphs.py
@@ -191,7 +191,7 @@ plt.close()
 
 ################################################
 
-
+'''
 ######################################################## plotting graphs for the paper. 
 # Showing that the number of threads deployed on cores influence the energy efficiency: 
 #  Dans l'expérimentation illustrée par la figure \ref{fig:numberOfThreadsInfluenceEnergyEfficiency}
@@ -258,3 +258,129 @@ plt.clf()
 plt.cla()
 plt.close()
 
+'''
+
+
+# Showing that the phone model influence the energy efficiency: 
+#  Pour observer son influence sur l'efficacité nous avons mené une expérimentation. Et la figure \ref{fig:phoneModelInfluenceEnergyEfficiency} illustre les résultat obtenus.
+#  En effet, Nous avons considéré deux téléphone le google pixel (en black) et le Samsung galaxay (en gray hatched)
+# Sur chacun d'eux nous avons démarré un puis deux threads parallèles : ce sont les configuration 1-0 et 2-0. 
+# Nous avons ensuite démarré un thread sur son big core. c'est la configuration 0-1.
+# Nous pouvons noter au moins deux comportement différents d'un téléphone à l'autre:
+# le fait de paralléliser sur le google pixel a augmenter l'efficacité de ratio_1 % sur le google alors que cette augmentation a seulement été de  % sur le samsung. 
+# Le fait d'utiliser le Big core est beaucoup plus efficace que de paralléliser sur le samsung alors que ce n'est pas le cas sur le google pixel. 
+# 
+#  
+
+
+#####  Google Pixel datas. 
+number_of_cpus = ["mouse",  "idle"       ,"1-0",  "2-0",  "3-0",       "4-0", "5-0", "6-0",              "6-1",    "6-2"             ,"0-1-0",  "0-0-1"   ,"0-2",              "1-1",  "2-1", "3-1",      "1-2" ]                                                        
+phone_energy= [ 1308, 11047.73,       29197.24, 38598.14, 46077.78,    53629.51, 58756.40, 66053.62,     106210.78 , 123823.21,       66877.5,  77632.30,    115136.69,        73048.75, 79000.24 , 92143.93     , 96571.58 ]                                                                                                   
+phone_power = [ 40.16, 336.07,        879.245 , 1146.12,  1357.74  ,   1572.76, 1718.15, 1918.21,         2970.56 ,  3397.90,          1938.45, 2214.51,  3179.93,        2106.08,    2267.14 , 2614.01   , 2717.37]                  
+workload  = [ 0.1,         0.9,        1.60362,    3.368,  4.9563   ,     6.906,  7.3213, 10.85176,          17.08829 ,  21.384681,       6.7442, 7.64552224, 13.210451922,     8.47040,  10.3032,    12.38267        , 12.72335]          
+
+# paper data extracted
+configuration = ["1-0", "2-0", "0-1"]                                                        
+google_phone_energy=  [29197.24, 38598.14, 77632.30 ]   
+google_workload  = [1.60362,    3.368,  7.64552224 ]    
+fontsize_in_paper = 20
+bar_width = 0.4
+label_format = '{:,.1f}'
+
+
+ratio_1 = (google_workload[1]/google_phone_energy[1]  - google_workload[0]/google_phone_energy[0] )  / (google_workload[0]/google_phone_energy[0])         
+print(" ratio 1 ", ratio_1)
+
+##### Samsung datas 
+number_of_cpus = ["mouse",  "idle" ,               "1-0",    "2-0",      "3-0",            "4-0",      "4-1",   "4-2",      "4-3",    "4-4",             "0-1",     "0-2",    "0-3" ,   "0-4",                  "2-1",   "3-1" ,    "1-1",                         "1-2", "1-3"       ]                                                        
+phone_energy= [ 1308,     15437.75 ,         51208.79 , 54347.47,  57513.95   ,       74701.21,       98200.09 , 124222.42, 128746.44  , 145726.86,      94219.85 , 100720.96,  141336.4,   122949.4 ,         98711.42,  101212.13 ,  90216.11,                    110737,  111186.62    ]                                                                                                   
+phone_power = [ 40.16,    1047.42   ,         2617.20, 2532.40 ,  1950.01   ,         2618.09,       2620.45 ,     2616.48,     38.35,  2620.32,             2620.1  , 2622.43,     2231.52 , 2623.83,                2619.02, 2620.84 ,   2620.50,                2621.93,   2618.84      ]                  
+workload  = [ 0.1,        1 ,                1.25068,  2.688753,   4.02600  ,          5.25640  ,   8.44232736,    11.73684641,  13.9001248561 , 16.270943,    3.61959474 , 6.09298,  10.06644613, 11.9685747498 ,           6.14819, 7.27350446993,   4.550717,       7.632924365,   10.042245486   ]          
+
+# paper data extracted
+configuration = ["1-0", "2-0", "0-1"]                                                        
+samsung_phone_energy=  [ 51208.79, 54347.47, 100720.96]   
+samsung_workload  = [   1.25068,  2.688753, 3.61959474]    
+fontsize_in_paper = 20
+bar_width = 0.4
+label_format = '{:,.1f}'
+
+ratio_2 = (samsung_workload[1]/samsung_phone_energy[1]  - samsung_workload[0]/samsung_phone_energy[0] )  / (samsung_workload[0]/samsung_phone_energy[0])        
+print(" ratio 2 ", ratio_2)
+
+y = np.arange(len(configuration)) 
+
+'''
+fig, ax = plt.subplots()
+google_pixel_bars = ax.bar(y - bar_width/2, TO_PLOT_1 , width, label='Google Pixel 4A 5G')
+samsung_bars = ax.bar(y + bar_width/2, TO_PLOT_1, width, label='Samsung Galaxy S8')
+ax.legend()
+ax.bar_label(google_pixel_bars, padding=3)
+ax.bar_label(samsung_bars, padding=3)
+fig.tight_layout()
+'''
+
+
+
+
+
+fig, ((workload_fig, phone_energy_fig, energy_efficiency_fig)) = plt.subplots(nrows= 1, ncols = 3,  figsize=(15, 7), sharex=True)
+################ energy efficiency subplot
+## google pixel bars
+google_phone_energy[:] = [round(x / 1000, 2) for x in google_phone_energy]   
+google_energy_efficiency = np.divide(google_workload, google_phone_energy)
+google_energy_efficiency[:] = [round(x*10, 2) for x in google_energy_efficiency]     
+google_pixel_ef_bars = energy_efficiency_fig.bar(y - bar_width/2, google_energy_efficiency , bar_width, label='Google Pixel 4A 5G', color = "black")  # in google_pixel_ef_bars,  "ef" is for energy efficiency
+## samsung bars
+samsung_phone_energy[:] = [round(x / 1000, 2) for x in samsung_phone_energy]   
+samsung_energy_efficiency = np.divide(samsung_workload, samsung_phone_energy)
+samsung_energy_efficiency[:] = [round(x*10, 2) for x in samsung_energy_efficiency]  
+samsung_ef_bars = energy_efficiency_fig.bar(y + bar_width/2, samsung_energy_efficiency, bar_width, label='Samsung Galaxy S8', color='gray', edgecolor='black', hatch='//')
+# setting the subplot
+energy_efficiency_fig.set_title('Energy efficiency_\n ' + r'($\times 10e11$)', fontsize = fontsize_in_paper)
+energy_efficiency_fig.set_xticks(y, configuration)
+energy_efficiency_fig.set_xticklabels(configuration, fontsize = fontsize_in_paper)
+energy_efficiency_fig.set_yticklabels([label_format.format(x) for x in energy_efficiency_fig.get_yticks().tolist()]  ,  fontsize = fontsize_in_paper)
+
+
+################ workload subplot
+## google pixel bars
+label_format = '{:,.0f}'
+google_workload[:] = [round(x, 2 ) for x in google_workload]
+google_pixel_w_bars =  workload_fig.bar(y - bar_width/2, google_workload , bar_width, label='Google Pixel 4A 5G', color = "black" )  # in google_pixel_w_bars,  "w" is for workload 
+## samsung bars
+label_format = '{:,.0f}'
+samsung_workload[:] = [round(x, 2 ) for x in samsung_workload]
+samsung_w_bars =  workload_fig.bar(y + bar_width/2, samsung_workload , bar_width, label='Samsung Galaxy S8' ,  color='gray', edgecolor='black', hatch='//') 
+# setting the subplot
+workload_fig.set_title('Number of operations\n' + r'($\times 10e11$)', fontsize = fontsize_in_paper)
+workload_fig.set_yticklabels([label_format.format(x) for x in workload_fig.get_yticks().tolist()]  ,  fontsize = fontsize_in_paper)
+
+
+
+
+
+################ phone energy subplot
+## google pixel bars
+google_phone_energy[:] = [round(x , 2 ) for x in google_phone_energy]  # I alrady divided by 1000     
+google_pixel_e_bar =  phone_energy_fig.bar(y - bar_width/2, google_phone_energy , bar_width, label='Google Pixel 4A 5G', color = 'black')                             # in google_pixel_e_bars,  "e" is for energy 
+## samsung bars
+samsung_phone_energy[:] = [round(x , 2 ) for x in samsung_phone_energy]  # I alrady divided by 1000     
+samsung_e_bars =  phone_energy_fig.bar(y + bar_width/2, samsung_phone_energy , bar_width, label='Samsung Galaxy S8', color='gray', edgecolor='black', hatch='//')   
+## setting the subplot
+phone_energy_fig.set_title('Energy consumed\n' + r'(mAh)', fontsize = fontsize_in_paper)
+phone_energy_fig.set_yticklabels([label_format.format(x) for x in phone_energy_fig.get_yticks().tolist()]  ,  fontsize = fontsize_in_paper)
+
+phone_energy_fig.legend(loc = 'upper right', prop={'size': 18})
+
+
+#fig.suptitle("Workload, Energy and Energy efficiency according to the number of threads")
+fig.supxlabel("Thread configurations on cores and sockets", fontsize = fontsize_in_paper)
+#fig.tight_layout()
+#plt.gcf().autofmt_xdate()
+
+plt.savefig("Phone_model_influence_energy_efficiency.png")
+plt.clf()
+plt.cla()
+plt.close()
+