public pure elemental function hex2site(layout, H, label) result(site)
Convert hex coordinates to real 2D lattice sites
[returning the xy coordinates for the unique unit-cell,
sites "A" and "B": this of course does not account for
border effects, so would be suitable only for simple,
periodized, systems, which for now are out of scope.]
Actual real-space layout has to be specified by passing
a (scalar) unit_cell object.
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.