def get_Z(self, T, p):
A = self.get_A(T, p)
B = self.get_B(T, p)
# Solve the cubic equation for compressibility factor z
coeffs = [1, -1, A-B-B**2, -A*B]
roots = np.roots(coeffs)
real_roots = roots[np.isreal(roots)].real
valid_roots = real_roots[real_roots > p*self.b/self.R/T]
return valid_roots
评论列表
文章目录