# #!/usr/bin/env python # -*-coding:Utf-8 -*- ######### Effets pression et temperature sur la stabilite structure proteine (E. Jaspard - 2018) ############ import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D import numpy as np ################################################################################# #Valeurs originales de Hawley (1971) #alpha = 1.32 #beta = -1.24 #Cp = 3800 #Ent = -227 #EnerLib = 2530 #Pzero = 0.1 #0.1 Mpa = 1 bar = 1 atm #Tzero = 273.3 #0 degre C #Vol = -14.3 #Valeurs du tableau article Wiedersich et al. (2008) => https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2311345/ alpha = -1 beta = 0.65 Cp = 5700 Ent = 280 EnerLib = 10800 Pzero = 0.1 #0.1 Mpa = 1 bar Tzero = 310 Vol = -8 ################################################################################# def Fonction(P,T): #Equation originale de Hawley (1971) #return ((beta/2)*(P-Pzero)**2)+(alpha*(P-Pzero)*(T-Tzero))-(Cp*((T*((np.log(T/Tzero))-1))+Tzero))+(Vol*(P-Pzero))-(Ent*(T-Tzero))+EnerLib #Equation modifiee return ((-(beta/2)*(P-Pzero)**2))+(alpha*(P-Pzero)*(T-Tzero))-((Cp/(2*Tzero))*(T-Tzero)**2)+(Vol*(P-Pzero))-(Ent*(T-Tzero))+EnerLib def plot_Fonction(): P = np.arange(0, 200, 1) # Plage de pression etudiee en Mpa / Syntaxe : arange(3, 15, 2) => array([ 3, 5, 7, 9, 11, 13]) T = np.arange(270, 360, 1) # Plage de temperature etudiee P,T = np.meshgrid(P,T) EnergieLibre = Fonction(P,T) fig = plt.figure() ax = plt.axes(projection='3d') #ax.contour3D(P,T,EnergieLibre, 600, cmap='binary') # Representation beaucoup plus belle mais pas assez constrastee ax.plot_surface(P,T,EnergieLibre, cmap='binary') #ax.plot_surface(P,T,EnergieLibre, color='grey') ax.set_xlabel('Pression (MPa)') ax.set_ylabel('Temperature (K)') ax.set_zlabel('Energie Libre (kJ.mol-1)') ax.view_init(10, 40) plt.show() plot_Fonction()