This module defines a set of thermodynamic observables commonly output by molecular simulation programs.

The name of this module is `thermodynamics`

. The module version is
1.0.0.

Thermodynamic observables are stored in the `observables`

group for
global properties or in `observables/<group>`

for subsystems,
similarly to the `particles`

group. The groups have the following
contents:

```
observables
\-- <group>
+-- dimension: Integer[]
\-- particle_number
\-- (pressure)
\-- (temperature)
\-- (density)
\-- ...
```

`dimension`

A scalar attribute of

`Integer`

type that gives the dimension of the space embedding the subsystem.`particle_number`

The number of particles in the subsystem stored as scalar H5MD element of

`Integer`

datatype.

The following H5MD elements are optional, of scalar character, and use
the `Float`

datatype.

`pressure`

The pressure of the subsystem.

`temperature`

The (instantaneous) temperature of the subsystem as inferred from the kinetic energy.

`density`

The number density of the subsystem stored as

`Float`

or`Integer`

datatype.`potential_energy`

The potential energy of the subsystem.

`kinetic_energy`

The kinetic energy of the subsystem.

`internal_energy`

The internal energy of the subsystem, typically the sum of potential and kinetic energy.

`enthalpy`

The enthalpy of the subsystem.

The latter 4 quantities are stored as per-particle averages. The corresponding extensive quantities (scaling linearly with the system size) are obtained by multiplication with the number of particles. Per-volume averages follow by multiplication with the number density if present.