{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Noteboook per il calcolo dell'entropia usando il programma python entropy\n",
"\n",
"Calcoliamo l'entropia di stato standard (P=1 atm, T=298.15 K) e l'entropia a una data temperatura *T* (a pressione ambiente) a partire dai dati di calore specifico a pressione costante (misurati a partire da 20 fino a 500K). \n",
"\n",
"Importiamo nel notebook anche la libreria *inspect* che consente di visualizzare il codice python delle funzioni contenute in *entropy.py*."
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"import inspect as ins\n",
"%matplotlib inline\n",
"%run entropy.py"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"I valori sperimentali del calore specifico sono salvati nella lista Cp_list: uno per ogni valore di temperatura della lista T_list"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Temperature (K):\n",
" [ 20. 40. 60. 80. 100. 150. 200. 250. 298.15 350.\n",
" 400. 500. ]\n",
"\n",
"Calore specifico (J/K mole):\n",
" [ 0.862 11.054 33.631 62.668 94.27 171.54 235.85 286.48 325.31\n",
" 359.03 385.8 422.8 ]\n"
]
}
],
"source": [
"print(\"Temperature (K):\\n\", T_list)\n",
"print(\"\\nCalore specifico (J/K mole):\\n\", Cp_list)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Volendo visualizzare meglio la lista dei valori T/Cp si può ricorrere alla libreria *pandas* (che è già importata all'interno di *entropy.py* con l'alias *pd*) si procede nel seguente modo:\n",
"\n",
"- si costruisce una lista delle due liste, a cui diamo il nome di *serie*\n",
"- riconfezioniamo *serie* nella forma di un *dataframe* Pandas, specificando i nomi da attribuire alle righe"
]
},
{
"cell_type": "code",
"execution_count": 38,
"metadata": {},
"outputs": [],
"source": [
"serie=(T_list,Cp_list)\n",
"df=pd.DataFrame(serie, index=['Temp','Cp_exp'])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Si stampa il dataframe eliminando (opzionalmente) la numerazione delle colonne con *header=False*)"
]
},
{
"cell_type": "code",
"execution_count": 39,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Temp 20.000 40.000 60.000 80.000 100.00 150.00 200.00 250.00 298.15 350.00 400.0 500.0\n",
"Cp_exp 0.862 11.054 33.631 62.668 94.27 171.54 235.85 286.48 325.31 359.03 385.8 422.8\n"
]
}
],
"source": [
"print(df.to_string(header=False))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Facciamo un fit del calore specifico in funzione della temperatura, usando la funzione *fit*; il fit è fatto sulla base di una polinomiale del tipo:\n",
"\n",
"$$C_P(T)=aT+bT^{-1}+cT^2+dT^{-2}+eT^{0.5}+fT^{-0.5}$$\n",
"\n",
"I valori delle potenze sono già contenuti nella funzione *Cp* che calcola il calore specifico a una data *T*:"
]
},
{
"cell_type": "code",
"execution_count": 46,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"def Cp(T,*par):\n",
" cp=par[0]+par[1]*T + par[2]*T**(-1) + par[3]*T**2 + \\\n",
" par[4]*T**(-2) + par[5]*T**0.5 + par[6]*T**(-0.5)\n",
" return cp\n",
"\n"
]
}
],
"source": [
"print(ins.getsource(Cp))"
]
},
{
"cell_type": "code",
"execution_count": 47,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"def fit(prt=True):\n",
" par=reg.par\n",
" opt,err=curve_fit(Cp, T_list, Cp_list, p0=par)\n",
" reg.set(opt)\n",
" if prt:\n",
" reg.out()\n",
"\n"
]
}
],
"source": [
"print(ins.getsource(fit))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"il fit è fatto usando la funzione *curve_fit* della libreria *scipy.optimize* [qui](https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.curve_fit.html) la documentazione generale. *curve_fit* vuole come argomenti \n",
"\n",
"- il nome della funzione da usarsi per il fit (*Cp*)\n",
"- la lista dei valori della variabile indipendente (*T_list*)\n",
"- la lista dei valori della variabile dipendente (*Cp_list*)\n",
"- un *guess* iniziale per i parametri da ottimizzare (*p0=par* : parametri iniziali che sono stati tutti posti al valore di 1). "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"I valori ottimizzati dei coefficienti della polinomiale sono restituiti da *curve_fit* nella lista *opt* (la lista *err* contiene le corrispondenti deviazioni standard) e sono salvati nella variabile *reg.par* (istanza della classe fpar) usando il metodo *.set* "
]
},
{
"cell_type": "code",
"execution_count": 48,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Stored parameters of the Cp function\n",
"parameter 0, value: -2.8925e+03\n",
"parameter 1, value: -5.5659e+00\n",
"parameter 2, value: -3.3466e+04\n",
"parameter 3, value: 1.3063e-03\n",
"parameter 4, value: 6.4400e+04\n",
"parameter 5, value: 2.2991e+02\n",
"parameter 6, value: 1.5600e+04\n"
]
}
],
"source": [
"fit()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Usando il polinomio ottimizzato, ci si può calcolare il calore specifico a qualsiasi temperatura con la funzione *Cp* passandogli oltre al valore di temperatura, anche la lista dei coefficienti conservata in *reg.par*:"
]
},
{
"cell_type": "code",
"execution_count": 51,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"327.2260236965142"
]
},
"execution_count": 51,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Cp(300,*reg.par)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Si noti l'uso dell'asterisco che precede il nome *reg.par*: specifica il passaggio alla funzione *Cp* di una lista di valori di lunghezza arbitraria.\n",
"\n",
"Usiamo la funzione *check_cp* per visualizzare i risultati del fit. Il codice della funzione è:"
]
},
{
"cell_type": "code",
"execution_count": 50,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"def check_cp():\n",
" delta=1.\n",
" Tmin=min(T_list)-delta\n",
" Tmax=max(T_list)+delta\n",
" npoint=100\n",
" if Tmin < 0.5:\n",
" Tmin=0.5\n",
" \n",
" T_plot=np.linspace(Tmin,Tmax,npoint)\n",
" Cp_plot=Cp(T_plot,*reg.par)\n",
" \n",
" plt.figure()\n",
" plt.plot(T_plot,Cp_plot,\"k-\",label=\"Cp fit\")\n",
" plt.plot(T_list, Cp_list,\"k*\",label=\"Cp exp\")\n",
" plt.xlabel(\"T (K)\")\n",
" plt.ylabel(\"Cp (J/mol K)\")\n",
" plt.legend(frameon=False)\n",
" plt.title(\"Calore specifico a pressione costante\")\n",
" plt.show()\n",
" \n",
" Cp_fit=np.array([])\n",
" for it in T_list:\n",
" icp=Cp(it,*reg.par)\n",
" Cp_fit=np.append(Cp_fit,icp)\n",
" \n",
" delta=Cp_list-Cp_fit\n",
"# Stampa di una tabella di valori T, Cp_exp, Cpfit e delta,\n",
"# usando le funzioni della libreria Pandas\n",
" serie=(T_list,Cp_list,Cp_fit,delta)\n",
" df=pd.DataFrame(serie, index=['T','Cp_exp','Cp_fit','delta'])\n",
" df=df.T\n",
" df2=df.round(3)\n",
" print(\"\")\n",
" print(df2.to_string(index=False)) \n",
"\n"
]
}
],
"source": [
"print(ins.getsource(check_cp))"
]
},
{
"cell_type": "code",
"execution_count": 52,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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v6djx44AbN68mcWLF/srbGNMgPnhhx+YN28eTzzxBDfffDPOfYgcRYsWJTY2lr179+bpewb1Fc2BSFW57777eOCBB5g+fTrg7MwPHTrETTfdlKt1vPvuuzzxxBP06tULgJkzZ2asJzExkVatWvkneGOMpw4ePMjatWszHtu2bQMgLCyMmJgYoqKi2Lx5M8WKFSM1NZWSJUtSoUKFvA1CVYP28ac//UkDzYoVK7R+/fpZzlu1apXWr19f27dvr7fccov26dNHz549e94yEydO1DJlymjVqlW1e/fuunfvXq1Vq5aePn1aK1eurGXLltU//vGPOn369PyojjHGjw4cOKDTpk3T3r17a40aNRTnntR61VVXacuWLfW5557Tjz/+WFNSUlRV9b777tOHH35YN2/erA8//LDed999l/W+QKJms18t0C2FAQMGsHnz5jxdZ1RUFGPHjs12/tatW/nTn/6U7fzPP/+c7du3U6VKFVq2bMns2bMzuocAevfuTUJCAm3atKFjx47s27cPgGLFijFy5EgSExMZN25cntXHGJN/kpOTWbVqFStXrmT16tXs2rULgNKlS1O/fn369OlDw4YNiYqKokiRC3fPs2fPzng+fvx4v8RYoJNCIIqJiaFaNee+4d26dSMhIeG8pGCMKTiOHTvG6tWrWbFiBStXrmTHjh0AlCpVigYNGvDwww/TqFEj6tSpQ+HChT2O1lGgk0JOv+j9pVatWhnHALLie6Aoq2ljTPBKSUkhISGBFStWsHz5cjZu3IiqEhkZSYMGDejZsyeNGzembt26AZMEMivQScELjRs3Zvjw4UycOJG//e1vAGzYsIGTJ08CTvfR3r17qVKlCjNmzCAuLi7X6y5RogQnTpzwS9zGmEt37tw5vvzyS5YuXcrSpUtJSEggJSWFIkWKcPvtt/PMM8/QuHFjbrvtNooVK+Z1uLlip6TmMRFhzpw5LFu2jOrVq1OrVi1GjBjBtddeC8Add9zB0KFD+cMf/sANN9zAfffdl+t133333Wzfvp2oqChmzJjhryoYY3Jw6NAhpk6dSo8ePbj22muJiopi8ODBJCUlER8fz8KFCzl27Bgff/wxzzzzDPXr1w+ahAD5cPGaiBQGEoHvVbWNiNwATAeuBr4AeqjqGREJA94B/gT8AHRR1X05rTvYLl5bvXo1//znP1m4cKHXoRhj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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
" T Cp_exp Cp_fit delta\n",
" 20.00 0.862 0.855 0.007\n",
" 40.00 11.054 11.192 -0.138\n",
" 60.00 33.631 33.173 0.458\n",
" 80.00 62.668 62.806 -0.138\n",
" 100.00 94.270 94.818 -0.548\n",
" 150.00 171.540 171.264 0.276\n",
" 200.00 235.850 235.308 0.542\n",
" 250.00 286.480 286.608 -0.128\n",
" 298.15 325.310 325.887 -0.577\n",
" 350.00 359.030 359.382 -0.352\n",
" 400.00 385.800 385.022 0.778\n",
" 500.00 422.800 422.980 -0.180\n"
]
}
],
"source": [
"check_cp()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"La funzione *entropia* calcola appunto l'entropia a una data temperatura, attraverso l'integrale\n",
"\n",
"$$S(T)=\\int_{0}^{T}\\frac{C_P(T)}{T}\\,\\mathrm dT$$\n",
"\n",
"La funzione integranda $C_P/T$ è la funzione *integrand* del programma. La funzione *entropia* calcola l'integrale su scritto usando la funzione *quad* della libreria *scipy.integrate* (la documentazione la trovate [qui]( https://docs.scipy.org/doc/scipy/reference/generated/scipy.integrate.quad.html)).\n",
"\n",
"La sintassi di *quad* vuole come input:\n",
"\n",
"- il nome della funzione integranda \n",
"- i limiti di integrazione (qui poniamo il minimo al valore di 10, per evitare problemi di divergenza della funzione integranda)\n",
"- gli altri parametri, oltre alla variabile *T* di cui la funzione integranda necessita: questi sono i coefficienti della polinomiale contenuti in *reg.par* (e si specificano usando *args=reg.par*)\n",
"\n",
"*quad* restituisce i risultati del calcolo in una lista di cui il primo elemento (quello con indice 0) è il valore dell'integrale. Quindi salviamo l'output di *quad* nella variabile *ent*; la funzione *entropia* restituisce il valore ent\\[0\\]."
]
},
{
"cell_type": "code",
"execution_count": 53,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"def integrand(T,par):\n",
" return Cp(T,*par)/T\n",
"\n",
"def entropia(T):\n",
" ent=quad(integrand, 10, T, args=reg.par)\n",
" return ent[0]\n",
"\n"
]
}
],
"source": [
"print(ins.getsource(integrand))\n",
"print(ins.getsource(entropia))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Per esempio, calcoliamo l'integrale:\n",
"\n",
"$$I=\\int_{0}^{5}x^2\\,\\mathrm dx$$\n",
"\n",
"Scriviamo la funzione integranda (*myfunc*) in modo che restituisca il valore di $x^{deg}$ dati $x$ e *deg*; quindi calcoliamo l'integrale e salviamo il risultato nella variabile *integ*:"
]
},
{
"cell_type": "code",
"execution_count": 54,
"metadata": {},
"outputs": [],
"source": [
"def myfunc(x,d):\n",
" return x**d\n",
"\n",
"deg=2\n",
"integ=quad(myfunc,0,5,args=deg)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"*integ* è una lista di 2 valori: il valore dell'integrale e la stima dell'errore di integrazione; il valore dell'integrale è il primo elemento della lista (python *indicizza* le liste a partire dal valore 0 e non 1...)"
]
},
{
"cell_type": "code",
"execution_count": 61,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(41.66666666666666, 4.625929269271485e-13)\n",
"\n",
"Valore dell'integrale 41.667:\n"
]
}
],
"source": [
"print(integ)\n",
"print(\"\\nValore dell'integrale %5.3f:\" % integ[0])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Calcoliamo l'entropia a 400 K:"
]
},
{
"cell_type": "code",
"execution_count": 64,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"371.04666644640537"
]
},
"execution_count": 64,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"entropia(400)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Possiamo fare un plot dell'entropia in funzione della temperatura, usando la funzione *plot_entropy*, il cui codice è:"
]
},
{
"cell_type": "code",
"execution_count": 66,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"def plot_entropy(T):\n",
" T_plot=np.linspace(10,T,100)\n",
" E_plot=np.array([])\n",
" for it in T_plot:\n",
" ie=entropia(it)\n",
" E_plot=np.append(E_plot,ie)\n",
" \n",
" plt.figure()\n",
" plt.plot(T_plot,E_plot)\n",
" plt.xlabel(\"T (K)\")\n",
" plt.ylabel(\"S (J/mole K)\")\n",
" plt.title(\"Entropia in funzione di T\")\n",
" plt.show()\n",
"\n"
]
}
],
"source": [
"print(ins.getsource(plot_entropy))"
]
},
{
"cell_type": "code",
"execution_count": 65,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plot_entropy(1000)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Tutte le funzioni viste sopra possono essere richiamate in sequenza usando la funzione *start*:"
]
},
{
"cell_type": "code",
"execution_count": 67,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"def start(T):\n",
" fit(prt=False)\n",
" check_cp()\n",
" plot_entropy(T)\n",
" ent_st=entropia(298)\n",
" print(\"\\nEntropia di stato standard: %6.2f J/mole K\" % ent_st)\n",
"\n"
]
}
],
"source": [
"print(ins.getsource(start))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Come si vede, la funzione *start* esegue il fit del $C_P$, lo visualizza, fa un plot dell'entropia e calcola l'entropia alla temperatura standard:"
]
},
{
"cell_type": "code",
"execution_count": 68,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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v6djx44AbN68mcWLF/srbGNMgPnhhx+YN28eTzzxBDfffDPOfYgcRYsWJTY2lr179+bpewb1Fc2BSFW57777eOCBB5g+fTrg7MwPHTrETTfdlKt1vPvuuzzxxBP06tULgJkzZ2asJzExkVatWvkneGOMpw4ePMjatWszHtu2bQMgLCyMmJgYoqKi2Lx5M8WKFSM1NZWSJUtSoUKFvA1CVYP28ac//UkDzYoVK7R+/fpZzlu1apXWr19f27dvr7fccov26dNHz549e94yEydO1DJlymjVqlW1e/fuunfvXq1Vq5aePn1aK1eurGXLltU//vGPOn369PyojjHGjw4cOKDTpk3T3r17a40aNRTnntR61VVXacuWLfW5557Tjz/+WFNSUlRV9b777tOHH35YN2/erA8//LDed999l/W+QKJms18t0C2FAQMGsHnz5jxdZ1RUFGPHjs12/tatW/nTn/6U7fzPP/+c7du3U6VKFVq2bMns2bMzuocAevfuTUJCAm3atKFjx47s27cPgGLFijFy5EgSExMZN25cntXHGJN/kpOTWbVqFStXrmT16tXs2rULgNKlS1O/fn369OlDw4YNiYqKokiRC3fPs2fPzng+fvx4v8RYoJNCIIqJiaFaNee+4d26dSMhIeG8pGCMKTiOHTvG6tWrWbFiBStXrmTHjh0AlCpVigYNGvDwww/TqFEj6tSpQ+HChT2O1lGgk0JOv+j9pVatWhnHALLie6Aoq2ljTPBKSUkhISGBFStWsHz5cjZu3IiqEhkZSYMGDejZsyeNGzembt26AZMEMivQScELjRs3Zvjw4UycOJG//e1vAGzYsIGTJ08CTvfR3r17qVKlCjNmzCAuLi7X6y5RogQnTpzwS9zGmEt37tw5vvzyS5YuXcrSpUtJSEggJSWFIkWKcPvtt/PMM8/QuHFjbrvtNooVK+Z1uLlip6TmMRFhzpw5LFu2jOrVq1OrVi1GjBjBtddeC8Add9zB0KFD+cMf/sANN9zAfffdl+t133333Wzfvp2oqChmzJjhryoYY3Jw6NAhpk6dSo8ePbj22muJiopi8ODBJCUlER8fz8KFCzl27Bgff/wxzzzzDPXr1w+ahAD5cPGaiBQGEoHvVbWNiNwATAeuBr4AeqjqGREJA94B/gT8AHRR1X05rTvYLl5bvXo1//znP1m4cKHXoRhj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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
" T Cp_exp Cp_fit delta\n",
" 20.00 0.862 0.855 0.007\n",
" 40.00 11.054 11.192 -0.138\n",
" 60.00 33.631 33.173 0.458\n",
" 80.00 62.668 62.806 -0.138\n",
" 100.00 94.270 94.818 -0.548\n",
" 150.00 171.540 171.264 0.276\n",
" 200.00 235.850 235.308 0.542\n",
" 250.00 286.480 286.608 -0.128\n",
" 298.15 325.310 325.887 -0.577\n",
" 350.00 359.030 359.382 -0.352\n",
" 400.00 385.800 385.022 0.778\n",
" 500.00 422.800 422.980 -0.180\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"Entropia di stato standard: 266.18 J/mole K\n"
]
}
],
"source": [
"start(600)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 4
}