In [1]:
from sympy import *
In [2]:
P, V, T, v, F, A, p, t, a, s = symbols('P, V, T, v, F, A, p, t, a, s')
E_k, deltau, deltaQ, deltaw, E, SH, deltaT, C_V, C_P, gamma = symbols('E_k, {\Delta}u, {\Delta}Q, {\Delta}w, E, SH, {\Delta}T, C_V, C_P, gamma')
S, Q, deltaS, Eff, W = symbols('S, Q, {\Delta}S, Eff, W')
du, dq, dw, dV, dT, dH, dP, dq_P = symbols('du, dq, dw, dV, dT, dH, dP, dq_P')
u = Function('u')
H = Function('H')
n, R, k_v, m, N_A, N, k, T_1, T_2, V_1, V_2, P_1, P_2, Q_1, Q_2, S_1, S_2 = symbols('n, R, k_v, m, N_A, N, k, T_1, T_2, V_1, V_2, P_1, P_2, Q_1, Q_2, S_1, S_2', constant = True)
In [3]:
Ideal_gas_Law = Eq(P*V, n * UnevaluatedExpr(R*T))
Ideal_gas_Law
Out[3]:
In [4]:
Ideal_gas_Law = Eq(P*V, n*R*T)
Ideal_gas_Law
Out[4]:
In [5]:
F_P_Law = Eq(P, F/A)
F_P_Law
Out[5]:
In [6]:
Energy_of_a_system_Law = Eq(du, dq - P*dV)
Energy_of_a_system_Law
Out[6]:
In [53]:
Diff_in_Ineternal_energy = Eq(du,
Derivative(u(T, V), T)*UnevaluatedExpr(dT) +
Derivative(u(T, V), V)*UnevaluatedExpr(dV))
Diff_in_Ineternal_energy
Out[53]:
In [8]:
change_in_U_const_V = Eq(du, Derivative(u(T, V), T)*dT)
change_in_U_const_V
Out[8]:
In [54]:
Heat_capacity_const_V = Eq(C_V, Derivative(u(T, V), T))
Heat_capacity_const_V
Out[54]:
In [9]:
change_in_U_const_V = Eq(Eq(du, dq), C_V*dT, evaluate = False)
change_in_U_const_V
Out[9]:
In [10]:
Enthalpy_Law = Eq(H(T, P), u(T, V) + P*V)
Enthalpy_Law
Out[10]:
In [11]:
change_H = Eq(dH, Derivative(H(T, P), T)*dT + Derivative(H(T, P), P)*dP)
change_H
Out[11]:
In [55]:
change_H_const_P = Eq(dH, Derivative(H(T, P), T)*dT)
change_H_const_P
Out[55]:
In [14]:
Heat_capacity_const_P = Eq(C_P, Derivative(H(T, P), T))
Heat_capacity_const_P
Out[14]:
In [13]:
change_H_const_P = Eq(Eq(dH, C_P*dT), dq_P)
change_H_const_P
Out[13]:
In [56]:
Heat_capacity_const_P
Out[56]:
In [57]:
Heat_capacity_const_V
Out[57]:
In [16]:
Enthalpy_Law
Out[16]:
In [17]:
change_in_H_const_P = Eq( Derivative(H(T, P), T), Derivative(u(T, V), T) + Derivative(P*V, T))
change_in_H_const_P
Out[17]:
In [18]:
Ideal_gas_Law
Out[18]:
In [19]:
change_in_V = Eq(Derivative(V, T), n*R/P)
change_in_V
Out[19]:
In [20]:
Heat_capacity_Law = Eq(C_P, Derivative(u(T, V), T) + R)
Heat_capacity_Law
Out[20]:
In [21]:
Heat_capacity_Law = Eq(C_P, C_V + R)
Heat_capacity_Law
Out[21]:
In [49]:
change_in_U = Eq(Eq(du, dq - P*dV, evaluate = False), C_V*dT, evaluate = False)
change_in_U
Out[49]:
In [23]:
change_in_U_const_T = Eq(Eq(du,- P*dV, evaluate = False), C_V*dT, evaluate = False)
change_in_U_const_T
Out[23]:
In [24]:
change_in_T = Eq(- R*T*dV/V, C_V*dT, evaluate = False)
change_in_T
Out[24]:
In [25]:
change_in_T = Eq(- Integral(R/V, (V, V_1, V_2)), Integral(C_V/T, (T, T_1, T_2)), evaluate = False)
change_in_T
Out[25]:
In [26]:
change_in_T = Eq(Integral(C_V/T, (T, T_1, T_2)).doit() / C_V, - Integral(R/V, (V, V_1, V_2)).doit() / C_V, evaluate = False).simplify()
change_in_T
Out[26]:
In [27]:
change_in_T = Eq(logcombine(Integral(C_V/T, (T, T_1, T_2)).doit().simplify() / C_V, force = True),
logcombine(- Integral(R/V, (V, V_1, V_2)).doit().simplify() / C_V, force = True), evaluate = False)
change_in_T
Out[27]:
In [28]:
change_in_T = Eq(exp(logcombine(Integral(C_V/T, (T, T_1, T_2)).doit().simplify() / C_V, force = True)),
exp(logcombine(- Integral(R/V, (V, V_1, V_2)).doit().simplify() / C_V, force = True)))
change_in_T
Out[28]:
In [29]:
Heat_capacity_Law
Out[29]:
In [30]:
R_C_V_Ratio = Eq(R, C_P - C_V )
R_C_V_Ratio
Out[30]:
In [31]:
R_C_V_Ratio = Eq(R / C_V, (C_P - C_V) / C_V)
R_C_V_Ratio
Out[31]:
In [32]:
R_C_V_Ratio = Eq(R / C_V, (C_P / C_V) - 1)
R_C_V_Ratio
Out[32]:
In [33]:
R_C_V_Ratio = Eq(R / C_V, gamma - 1)
R_C_V_Ratio
Out[33]:
In [34]:
change_in_T = Eq(exp(logcombine(Integral(C_V/T, (T, T_1, T_2)).doit().simplify() / C_V, force = True)),
exp(logcombine(- Integral(R/V, (V, V_1, V_2)).doit().simplify() / C_V, force = True))).subs({R / C_V: gamma - 1})
change_in_T
Out[34]:
In [35]:
Ideal_gas_Law
Out[35]:
In [51]:
T_of_one_mole = Eq(T, P*V/R)
T_of_one_mole
Out[51]:
In [37]:
change_in_P_V = change_in_T.subs({T_1: P_1*V_1/R,
T_2: P_2*V_2/R})
change_in_P_V
Out[37]:
In [38]:
change_in_P_V = Eq(change_in_P_V.lhs * (V_1 / V_2), expand_power_base(change_in_P_V.rhs * (V_1 / V_2), force = True)).simplify()
change_in_P_V
Out[38]:
In [39]:
change_in_P_V = Eq(change_in_P_V.lhs * P_1 / V_2**-gamma, change_in_P_V.rhs * P_1/ V_2**-gamma).doit()
change_in_P_V
Out[39]:
In [40]:
Entropy_Law = Eq(S, Q / T)
Entropy_Law
Out[40]:
In [41]:
change_in_S = Eq(deltaS, deltaQ / T)
change_in_S
Out[41]:
In [42]:
efficiency = Eq(Eff, Eq(W/Q_1, 1 - (T_2/T_1)), evaluate = False)
efficiency
Out[42]:
In [43]:
less_efficiency = LessThan(W, Q_1*(1 - (T_2/T_1)))
less_efficiency
Out[43]:
In [44]:
change_in_W = LessThan(Eq(W, Q_1 - Q_2), Q_1*(1 - (T_2/T_1)), evaluate = False)
change_in_W
Out[44]:
In [45]:
change_in_W = LessThan(- Q_2, - Q_1*(T_2/T_1))
change_in_W
Out[45]:
In [46]:
change_in_S = GreaterThan(Q_2/T_2, Q_1/T_1)
change_in_S
Out[46]:
In [47]:
change_in_S = GreaterThan(S_2, S_1)
change_in_S
Out[47]:
In [48]:
change_in_S = Eq(Eq(deltaS, deltaQ/T), n*R*log(V_2 /V_1), evaluate = False)
change_in_S
Out[48]:
In [ ]:
In [ ]:
In [ ]: