Numerical Recipes applied
to
Thermodynamics

Van der Waals equation

Objective:
To study the van der Waals equation and to determine if it can explain the behaviour of a real gas.

p+av2v-b=RT

Application:
We'll use acetone as the system of study. Its critical point is known, and has the values: Tc = 508.10 K and Pc = 46.35 atm.

From the expressions for the critical coordinates provided by the model, we obtain:

Tc=827aRb

pc=127ab2

and so, we can calculate the characteristic constants a = 15.800111 atmL2/mol2 and b = 0.112363.

P-V diagrams

From the real gas equation, we obtain:

p=RTv-b-av2

Using the previous equation, we can plot different isotherms in a p-v diagram that will allow us to visualize different situations of interest.

Taking an interval of molar volumes from 0 to 2 L/mol, we can use pvdiagram.c (inside the folder pvdiagrams/1_pvdiagram) to calculate the values of the associated pressure p for different temperatures. The program is prepared for the fact that measurements at different temperatures may have a different set of v data, but the results for all temperatures are dumped into a single output file (output.txt).

Doing so, we obtain the following p-v diagram, showing the different isothermic curves for each temperature set:

P-V diagram for acetone at different temperatures

Experimental values of pressure obtained from the molar volume data at different temperatures.
v [L/mol] p [atm]
415 K 460 K 508,10 K 530 K
0.123360.5343843.9064360.4704595.818
0.13995.3391204.6441428.3221530.230
0.14425.697559.268702.011767.046
0.15202.307300.389405.206452.961
0.1697.462174.954257.768295.498
0.1743.945107.992176.438207.622
0.1815.67570.254128.580155.153
0.20-6.53735.58580.601101.110
0.22-10.16424.13260.78377.481
0.24-7.58321.33952.24766.329
0.26-3.13721.86748.58860.762
0.281.54923.57047.10357.825
0.305.87825.55246.57756.156
0.3514.28029.81446.41553.978
0.4019.60732.44146.15652.404
0.4522.80533.73845.42250.746
0.5024.62434.14744.32448.961
0.5525.55933.99443.00847.115
0.6025.92533.49541.58545.271
0.6525.92532.79140.12943.472
0.7525.30231.09137.27840.097
0.8024.82130.18935.92638.540
0.9023.71728.40333.41235.694
1.0022.55326.71231.15733.181
1.5017.51120.17223.01524.310
2.0014.08516.04118.13119.083

We are going to calculate the relevant thermodynamic information, i.e.: