Van der Waals.py
From Werner KRAUTH
This is the python2 program useful for the homework session of week 04 of my ICFP Lectures on statistical mechanics.
import pylab, numpy for t in numpy.arange(0.3, 1.5, 0.1): vval = [] pval = [] for v in numpy.arange(0.34, 4.0, 0.001): p = 8.0 * t / 3.0 / (v - 0.333333) - 3.0 / v ** 2 vval.append(v) pval.append(p) pylab.plot(vval, pval, label='$T=$'+ str(t)) pylab.title("van der Waals equation of state") pylab.xlabel("reduced volume $v$") pylab.ylabel("reduced pressure $p$") pylab.xlim([0.0,3.5]) pylab.ylim([-2.0,4.0]) pylab.legend(loc='upper right') pylab.savefig('Eq_state_vdw.png') pylab.show()