# Evgenii Rudnyi # Entropy and Miscibility Gap: Tutorial for Biologists # http://blog.rudnyi.ru/2013/05/entropy-and-miscibility-gap.html # Python script to solve Eq 24 and 23 # I use in the script equations where thermodynamic properties is divided by R # Hence no R in the script below import sys if len(sys.argv) < 2: Tini = 700 else: Tini = float(sys.argv[1]) # Cp is defined as Cp/R if len(sys.argv) < 3: Cp = 20 else: Cp = float(sys.argv[2]) # beta is defined as beta/R if len(sys.argv) < 4: beta = 2000 else: beta = float(sys.argv[4]) print 'Tini =', Tini, 'beta =', beta, 'Cp = ', Cp import math import scipy import scipy.optimize def f(z): return 2*Cp*beta*z/(Cp*Tini + beta*(0.25 - (0.5 - z)*(0.5 + z))) + math.log(0.5 - z) - math.log(0.5 + z) z = scipy.optimize.bisect(f, 1e-6, 0.4999) Tfin = Tini + beta*(0.25 - (0.5 - z)*(0.5 + z))/Cp print 'Tfin =', Tfin print 'z =', z, 'x(L1) =', 0.5 - z, 'x(L2) =', 0.5 + z