Skip to main content
Chemistry LibreTexts

1.5: Ideal vs. real gases and the van der Waals equation

  • Page ID
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)

    ( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\id}{\mathrm{id}}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\kernel}{\mathrm{null}\,}\)

    \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\)

    \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\)

    \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    \( \newcommand{\vectorA}[1]{\vec{#1}}      % arrow\)

    \( \newcommand{\vectorAt}[1]{\vec{\text{#1}}}      % arrow\)

    \( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vectorC}[1]{\textbf{#1}} \)

    \( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)

    \( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)

    \( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)

    \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \(\newcommand{\avec}{\mathbf a}\) \(\newcommand{\bvec}{\mathbf b}\) \(\newcommand{\cvec}{\mathbf c}\) \(\newcommand{\dvec}{\mathbf d}\) \(\newcommand{\dtil}{\widetilde{\mathbf d}}\) \(\newcommand{\evec}{\mathbf e}\) \(\newcommand{\fvec}{\mathbf f}\) \(\newcommand{\nvec}{\mathbf n}\) \(\newcommand{\pvec}{\mathbf p}\) \(\newcommand{\qvec}{\mathbf q}\) \(\newcommand{\svec}{\mathbf s}\) \(\newcommand{\tvec}{\mathbf t}\) \(\newcommand{\uvec}{\mathbf u}\) \(\newcommand{\vvec}{\mathbf v}\) \(\newcommand{\wvec}{\mathbf w}\) \(\newcommand{\xvec}{\mathbf x}\) \(\newcommand{\yvec}{\mathbf y}\) \(\newcommand{\zvec}{\mathbf z}\) \(\newcommand{\rvec}{\mathbf r}\) \(\newcommand{\mvec}{\mathbf m}\) \(\newcommand{\zerovec}{\mathbf 0}\) \(\newcommand{\onevec}{\mathbf 1}\) \(\newcommand{\real}{\mathbb R}\) \(\newcommand{\twovec}[2]{\left[\begin{array}{r}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\ctwovec}[2]{\left[\begin{array}{c}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\threevec}[3]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\cthreevec}[3]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\fourvec}[4]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\cfourvec}[4]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\fivevec}[5]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\cfivevec}[5]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\mattwo}[4]{\left[\begin{array}{rr}#1 \amp #2 \\ #3 \amp #4 \\ \end{array}\right]}\) \(\newcommand{\laspan}[1]{\text{Span}\{#1\}}\) \(\newcommand{\bcal}{\cal B}\) \(\newcommand{\ccal}{\cal C}\) \(\newcommand{\scal}{\cal S}\) \(\newcommand{\wcal}{\cal W}\) \(\newcommand{\ecal}{\cal E}\) \(\newcommand{\coords}[2]{\left\{#1\right\}_{#2}}\) \(\newcommand{\gray}[1]{\color{gray}{#1}}\) \(\newcommand{\lgray}[1]{\color{lightgray}{#1}}\) \(\newcommand{\rank}{\operatorname{rank}}\) \(\newcommand{\row}{\text{Row}}\) \(\newcommand{\col}{\text{Col}}\) \(\renewcommand{\row}{\text{Row}}\) \(\newcommand{\nul}{\text{Nul}}\) \(\newcommand{\var}{\text{Var}}\) \(\newcommand{\corr}{\text{corr}}\) \(\newcommand{\len}[1]{\left|#1\right|}\) \(\newcommand{\bbar}{\overline{\bvec}}\) \(\newcommand{\bhat}{\widehat{\bvec}}\) \(\newcommand{\bperp}{\bvec^\perp}\) \(\newcommand{\xhat}{\widehat{\xvec}}\) \(\newcommand{\vhat}{\widehat{\vvec}}\) \(\newcommand{\uhat}{\widehat{\uvec}}\) \(\newcommand{\what}{\widehat{\wvec}}\) \(\newcommand{\Sighat}{\widehat{\Sigma}}\) \(\newcommand{\lt}{<}\) \(\newcommand{\gt}{>}\) \(\newcommand{\amp}{&}\) \(\definecolor{fillinmathshade}{gray}{0.9}\)

    Consider a simple application of the ideal gas law. Let's take an oxygen tank of rigid walls, with a fixed volume of 40.0 L. Let's maintain this tank at room temperature of 298 K. Let's fill this gas container with 1.000 kg of oxygen gas. We can show that this mass of oxygen corresponds to 31.25 moles of gas (prove this to yourself!). We can then use that number of moles, the volume of the tank, and the temperature to find the pressure the gas is under:

    P V = n R T P = n R T V = ( 31.25 mol ) ( 0.082058 L atm mol 1 K 1 ) ( 298 K ) 40.0 L = 19.1 atm

    Now think about the ideal gas law computation we've just completed. There's nothing in that computation that's dependent on the gas being oxygen at all; the only thing in the setup of that equation that did depend on the identity of the gas was determining that there was 31.25 mol of gas in 1.000 kg of oxygen. 31.25 moles of any gas, according to the ideal gas law, would apply a pressure of 19.1 atm on the walls of its container.

    The ideal gas law, of course, is one of the great general chemistry fibs. It doesn’t work in real life.

    Now, it comes close to working in real life under the conditions we care about the most; relatively warm temperatures and relatively low pressures, conditions where the space between molecules is great and the molecules can zip past one another without substantial attraction or repulsion. We teach the ideal gas law not because it’s a perfect description of how gases behave at all conditions, but because it comes acceptably close to describing how gases behave at the conditions we’re most likely to experience, and it gives a passable first estimate even outside of those conditions. The ideal gas law clearly communicates that putting 1.000 kg of an elemental gas into a 40.0 L container is going to result in a very high pressure. Even if it's not a perfect computation, it's useful.

    One of our first big theoretical hurdles is this: when we have conditions where the ideality of the gases isn’t something we can assume, when the molecules are big and when the molecules attract one another substantially, how do we handle the correction?

    There are two approaches we can take. We’ll take the more rational approach first.

    Think about the quantities of state. The number of molecules present - the count of moles - doesn’t change when the attraction or the size of molecules changes. Neither does the kinetic energy - the assumptions of ideality of a gas have to do with the size of molecules, not the mass. So we can leave n and T alone when we correct for nonideality.

    The size of the molecule obviously impacts volume. V in the ideal gas law works best, it turns out, when it represents the amount of space in the gas not taken up by gas molecules. When we go from molecules that are infinitely small to molecules that have real size, the volume of space available is going to be thrown off by that size, and thrown off more dramatically as the gas molecules get bigger. So we have to correct by subtracting out the amount of space taken up by the molecules, which we do this way:

    V c o r r = V n b b units: L mol 1

    The correction we’ve introduced is a quantity called the molar volume of gas molecules, or simply the van der Waals b constant, after the Dutch thinker who developed this correction. The larger the size of the gas molecule, the larger b is. It’s as straightforward as can be.

    It also stands to reason that attraction or repulsion between molecules impacts pressure; the more gas molecules attract, the less the pressure is (because the attraction draws the molecules together and relieves the pressure), and the more gas molecules repel, the greater the pressure is (because the repulsion drives the molecules apart and pushes against the walls of the container). A corrected pressure that would fit the ideal gas law would add in a term that accounts for the magnitude of the attractive force between molecules. Unfortunately, developing a mathematical relationship for this term is not as straightforward as correcting the volume, because of the complex nature of that attraction even under conditions that remain close to ideality. The relationship that van der Waals developed to establish the value of his van der Waals a constant (which doesn’t have a secondary name) is simply going to be described here without proof:

    P c o r r = P + n 2 a V 2 a units: L 2 atm mol 2

    Therefore a full correction to the ideal gas law, which we call the van der Waals equation, keeps the nRT side intact but changes the left side substantially:

    ( P + n 2 a V 2 ) ( V n b ) = n R T van der Waals equation

    The values of a and b are unique based on the gas. Helium is the real gas closest to ideality, obviously because of its noble nature leading it to be not substantially attractive or repulsive, and because of its small single atom. Real gas attraction also has far more to do with size than molecular polarity, although obviously when gases are of comparable size more polar gases attract more than less.

    Gas Chemical formula a (L2 atm mol-2) b (L mol-1)
    Ammonia NH3 4.17 0.0371
    Argon Ar 1.34 0.0320
    Carbon dioxide CO2 3.61 0.0429
    Chlorine Cl2 6.25 0.0542
    Fluorine F2 1.15 0.0290
    Helium He 0.0341 0.0238
    Hydrogen H2 0.242 0.0265
    Methane CH4 2.27 0.0430
    Neon Ne 0.205 0.0167
    Nitrogen N2 1.39 0.0391
    Oxygen O2 1.36 0.0319
    Water H2O 5.46 0.0305

    Table 3: van der Waals coefficients for selected gases. More complete data in the corresponding LibreTexts reference table.

    Again, the corrections for a gas that has a low pressure and a high temperature are trivial. The major differences that you find between the ideal gas law and the van der Waals equation are computations that involve high pressure or those that involve low temperature.

    Let's return to our example at the start. The ideal gas law gave us no way to distinguish 31.25 moles of oxygen from 31.25 moles of any other gas. The van der Waals equation, on the other hand, requires us to use values for a and b that are unique to oxygen, and allow us to correct for the size of the oxygen molecule and the interactions that happen between oxygen molecules. When we use the van der Waals equation to solve for the pressure inside this gas tank, we get an adjustment to the value we computed with the ideal gas law:

    ( P + n 2 a V 2 ) ( V n b ) = n R T P = n R T V n b n 2 a V 2

    P = ( 31.25 mol ) ( 0.082058 L atm mol 1 K 1 ) ( 298 K ) 40.0 L ( 31.25 mol ) ( 0.0319 L mol 1 ) ( 31.25 mol ) 2 ( 1.36 L 2 atm mol 2 ) ( 40.0 L ) 2

    P = 19.6 atm 0.830 atm = 18.8 atm

    This isn't a massive correction! The uncorrected ideal gas computation has less than a 2% error when compared to this "corrected" van der Waals calculation. But it does give a picture of how the attraction between oxygen molecules relieves the pressure that would be exerted on the container, because of the subtracting out of the a-term in the rearranged van der Waals equation.

    As an exercise for yourself, repeat this both the ideal gas computation and the van der Waals compuation for 1.000 gram of oxygen gas in this container. This should give you a very low pressure in the container (0.0191 atm) that isn't corrected for by the van der Waals equation at any significance; this will further emphasize that there's need to correct for the ideal gas law when pressures are high, not when pressures are low.

    This page titled 1.5: Ideal vs. real gases and the van der Waals equation is shared under a not declared license and was authored, remixed, and/or curated by Chuck Pearson.

    • Was this article helpful?