在該代碼中的變量pressure
和enthalpy
,即來自一個[float(n) for n in line.split()]
命令,不讀入的函數:已在一個line.split()命令被分配的變量,不讀入一個函數
import numpy as np
pressure_gibbs = open('pressure_gibbs_all_points.dat', 'w')
pressure_gibbs.write('#pressure gibbs\n')
## FUNCTIONS:
def G(H,S):
# G = H - TS
# Then:
gibbs = H - 298.15 * S/4.0
return gibbs
with open('entropies_parsed.dat') as entropies_parsed, open('pressure_enthalpy_all_points.dat') as enthalpy_pressure: # open the file
entropies_parsed.next() # skip the first line
enthalpy_pressure.next()
entropy = [float(line) for line in entropies_parsed]
#print entropy
for line in enthalpy_pressure:
#print entropy
pressure, enthalpy = [float(n) for n in line.split()]
#print pressure
#print enthalpy
for i in entropy:
#print i
gibbs = G(enthalpy, i)
#print gibbs
pressure_gibbs.write('{}\t{}\n'.format (pressure, gibbs))
pressure_gibbs.close()
此文件夾中只有兩個文件是需要運行該代碼:
pressure_enthalpy_all_points.dat
:
# pressure enthalpy
2 3
5 4
3.5 2
entropies_parsed.dat
:
# entropies
0.5
0.2
0.47
這是我能做到的最好,和壓痕位置是正確的,從我的知識。
然而, 這個代碼給出了一個文件,pressure_gibbs_all_points.dat
:
#pressure gibbs
2.0 -34.26875
2.0 -11.9075
2.0 -32.032625
5.0 -33.26875
5.0 -10.9075
5.0 -31.032625
3.5 -35.26875
3.5 -12.9075
3.5 -33.032625
這是不對的。
如果你能幫助我,我將不勝感激。
爲什麼它錯了?順便說一下,它看起來像是在吉布斯函數之前將熵除以4,並且還在吉布斯函數之內。你有意這麼做嗎? –
@Vince West'pressure_gibbs_all_points.dat'是錯誤的,因爲壓力的值不是文件'pressure_enthalpy_all_points.dat'中的值更正了'i/4'到'i' –
看到下面的答案,並且讓我知道如果我正確理解你的問題 –