# Wolfram Function Repository

Instant-use add-on functions for the Wolfram Language

Function Repository Resource:

Make a simulation of the Einstein solid

Contributed by:
Enrique Zeleny

ResourceFunction["EinsteinSolid"][ makes a simulation of the Einstein solid starting with |

At low temperatures, the Dulong–Petit law fails and the specific heat capacity at constant volume *C*_{V} of solids is no longer constant. The Einstein quantum model for a solid correctly explains this phenomenon. We can make a simplified model of a solid with a 2D cell array (Black and Ogborn, 1976) with one oscillator in each cell with an energy of a multiple of *ℏ* *ω*, and thermal interaction reproduced through a transfer of a quantum of energy between a pair of these cells chosen randomly.

The initial state assigns one quantum to every cell. After about 1,000 steps, the distribution of a thermal equilibrium state and Boltzmann distribution is obtained; it is stable after more steps:

In[1]:= |

Out[1]= |

Plot the results:

In[2]:= |

Out[2]= |

In[3]:= |

Out[3]= |

After about 20,000 steps, the distribution of energies closely approximates the Boltzmann distribution, and thermal equilibrium is obtained:

In[4]:= |

In[5]:= |

Out[5]= |

The left chart represents instantaneous values *m*(* ε*), the right chart represents the mean values given by the canonical distribution (equal to ) and the red curve represents the fit of the occupancies:

In[6]:= |

Out[6]= |

Fitting data:

In[7]:= |

Out[7]= |

The number of points assigned to each cell is the number of quanta possessed by the oscillator (occupancy):

In[8]:= |

Out[8]= |

Wolfram Language 11.3 (March 2018) or above

- 1.0.0 – 25 February 2019

This work is licensed under a Creative Commons Attribution 4.0 International License