Provide common honeycomb geometries, as dynamic type(hex) arrays
Build a honeycomb supercell (parallelogram)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | rows | |||
integer, | intent(in) | :: | cols |
Build a triangle-shaped honeycomb flake
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | size |
Build a hexagon-shaped honeycomb flake
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | radius |
Build a armchair-on-top honeycomb stripe/ribbon CONVERSION TO XY SITES REQUIRES ARMCHAIR LAYOUT
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | height | |||
integer, | intent(in) | :: | width |
Build a zigzag-on-top honeycomb stripe/ribbon CONVERSION TO XY SITES REQUIRES ZIGZAG LAYOUT
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | height | |||
integer, | intent(in) | :: | width |
Linear interpolation from a to b, with step t a + (b - a) * t = a * (1-t) + b * t for better floating-point precision
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=8), | intent(in) | :: | a | |||
real(kind=8), | intent(in) | :: | b | |||
real(kind=8), | intent(in) | :: | t |
Round a triplet of reals to a proper hex object
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=8), | intent(in) | :: | xyz(3) |