I have a molecular Dynamics simulation and want to calculate the heat capacity with constant volume of my material.

As output parameters I can get temperature, potential energy, kinetic energy, total energy, enthalpy, pressure, volume and density.

I once saw a calculation only with temperature and total energy. But it like a year ago and I cannot find it anymore. (But I guess this would be possible).

I get my data as a huge table with the value for each time step, so I can take the average for the last x timesteps in Matlab or use it in other ways.

My simulation is already on a constant volume, so my output values are under constant volume.

EDIT: I forgot 2 important information. I can calculate the mass of my material per hand and I raised my temperature from 300K to 320K in 0.2 Nanoseconds (I heat up around 1000 atoms. That should explain the fast heating)

Any suggestions?


3 Answers 3


Heat capacity is related to fluctuations of energy: $\overline{(\Delta E)^2} = k_B T^2 C_{V,N}$. Dispertion of $E$ can be found from numerical data.

  • $\begingroup$ Is kb the Boltzmann constant? Therefor it is 1.380e-23 and when I divide through it to get my cv I will end up with a really large number. My cv is now like 4.7e+19 which is definetly wrong. Did I understood something wrong? $\endgroup$
    – ChrizZly
    Dec 12, 2017 at 11:09
  • $\begingroup$ I also forgot that I have a solid metal and not a gas, so I cannot even use the Boltzman constant. $\endgroup$
    – ChrizZly
    Dec 12, 2017 at 12:27
  • $\begingroup$ Yes, $k_B$ is Boltzmann constant. This constant is needed no matter gas or solid metal. Dispertion of the energy measured in appropriate units is really small, division by $k_B$ must not be a problem. In what units do you measure energy? $\endgroup$
    – Gec
    Dec 12, 2017 at 16:01
  • $\begingroup$ This is the correct approach when you have statistical fluctuations with an MD thermostat. You just need to make sure that you convert the variance of your energy to J so that everything is SI units. $\endgroup$ Oct 26, 2023 at 1:10

The two answers are complicating it imho. The constant is not coefficient of conduction, and not specific heat.

It is specific heat capacity $c_p$

Specific heat capacity $c_p$ is a material property. It is the amount of heat (which is energy) that must be added to one unit of mass of the substance in order to cause an increase of one unit in temperature. The SI unit is joule per kelvin per kilogram. For example, the heat to raise the temperature of 1 kg of water by 1 K is 4184 joules, so the specific heat capacity of water is 4184 J⋅kg−1⋅K−1.

Much of the above stolen from wikipedia.

So if you add energy E to mass m, and the increase in temperature is T, then the specific heat capacity for the substance is

$c_p = \frac{E}{mT}$


If the temperature at any point is changed, the local gradient heat flow is

$\frac{\partial T}{\partial t} = -\frac{1}{\rho C_p} \frac{\partial Q}{\partial x}$

We will use this equation in a moment - the heat energy per unit area is,

$Q = -k \nabla T$

we can create a gradient such that

$\nabla Q = \frac{\partial Q}{\partial x} = -k R T$

Then we can retrieve the definition of the heat flow equation in terms of the Ricci curvature again $R$, keep in mind, $k$ is the thermal conductivity. In the case above, the curvature $R$ has replaced the definition of the gradient $\nabla$. If the temperature at any point changed, the local gradient heat flow is, after we multiply through by $-\frac{1}{\rho C_p}$ we get,

$-\frac{1}{\rho C_p}\nabla Q = -\frac{1}{\rho C_p}\frac{\partial Q}{\partial x} = \frac{k}{\rho C_p} R T = \alpha R T = \frac{\partial T}{\partial t}$

Went off on a bit of a tangent, but if the second equation describes Fouriers relation as heat energy flux through an area, then the volume is found simply as

$\mathbf{Q} = -k \nabla^2 T$

defining the heat-energy density.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.