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.