« home

Thermodynamic Ensemble transforms

physicsthermodynamicsstatistical mechanicscetztikz

Equivalence of thermodynamic ensembles through Laplace and Legendre transforms.


Thermodynamic Ensemble transforms

  Download

PNGPDFSVG

  Code

  LaTeX

thermo-ensemble-trafos.tex (30 lines)

\documentclass[tikz]{standalone}

\usetikzlibrary{positioning}

\begin{document}
\begin{tikzpicture}[trafo/.style={midway,font=\tiny}]

  \def\hd{2}\def\vd{0.5}

  \node (Zm) at (0,0) {$Z_m(E)$};
  \node[right=\hd of Zm] (Zc) {$Z_c(\beta)$};
  \node[right=\hd of Zc] (Zg) {$Z_g(\mu)$};

  \node[below=\vd of Zm] (Sm) {$\sigma = \frac{S_m}{N}$};
  \node[below=\vd of Zc] (F) {$f = \frac{F}{N}$};
  \node[below=\vd of Zg] (O) {$\frac{\Omega}{V}$};

  \draw[->] (Zm) -- (Sm);
  \draw[->] (Zc) -- (F);
  \draw[->] (Zg) -- (O);

  \draw[->] (Zm) -- (Zc) node[trafo,below] {Laplace in $E$};
  \draw[->] (Zc) -- (Zg) node[trafo,below] {Laplace in $N$};

  \draw[->] (Sm) -- (F) node[trafo,above] {Legendre in $\epsilon = \frac{E}{N}$};
  \draw[->] (F) -- (O) node[trafo,above] {Legendre in $\rho = \frac{N}{V}$};

\end{tikzpicture}
\end{document}

  Typst

thermo-ensemble-trafos.typ (39 lines)

#import "@preview/cetz:0.3.2"
#import cetz.draw: line, content, set-style

#let horizontal_dist = 4
#let vertical_dist = 2
#set page(width: auto, height: auto, margin: 8pt)
#let mark_style = (end: "stealth", fill: black)

#cetz.canvas(
  length: 1cm,
  {
    set-style(content: (frame: "rect", stroke: none, padding: 0.2))

    content((0, 0), [$Z_m (E)$], name: "Zm")
    content((horizontal_dist, 0), [$Z_c(beta)$], name: "Zc")
    content((2 * horizontal_dist, 0), [$Z_g(mu)$], name: "Zg")

    content((0, -vertical_dist), [$sigma = frac(S_m, N)$], name: "Sm")
    content((horizontal_dist, -vertical_dist), [$f = frac(F, N)$], name: "F")
    content((2 * horizontal_dist, -vertical_dist), [$frac(Omega, V)$], name: "O")

    line("Zm", "Sm", mark: mark_style, name: "ZmSm")
    line("Zc", "F", mark: mark_style, name: "ZcF")
    line("Zg", "O", mark: mark_style, name: "ZgO")

    line("Zm", "Zc", mark: mark_style, name: "ZmZc")
    content(("Zm", 0.5, "Zc"), [Laplace in $E$], anchor: "north-west")

    line("Zc", "Zg", mark: mark_style)
    content(("Zc", 2, "Zg"), [Laplace in $N$], anchor: "north")

    line("Sm", "F", mark: mark_style)
    content(("Sm", 2, "F"), [Legendre in $epsilon = frac(E, N)$], anchor: "south")

    line("F", "O", mark: mark_style)
    content(("F", 2, "O"), [Legendre in $rho = frac(N, V)$], anchor: "south")
  },
)