Realspace cutoff and lattice point generator utilities
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real(kind=wp), | private, | parameter | :: | cn_default | = | 30.0_wp |
Coordination number cutoff |
| real(kind=wp), | private, | parameter | :: | disp2_default | = | 60.0_wp |
Two-body interaction cutoff |
| real(kind=wp), | private, | parameter | :: | disp3_default | = | 40.0_wp |
Three-body interaction cutoff |
Create lattice points within a given cutoff
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| logical, | intent(in) | :: | periodic(:) |
Periodic dimensions |
||
| real(kind=wp), | intent(in) | :: | lat(:,:) |
Lattice parameters |
||
| real(kind=wp), | intent(in) | :: | rthr |
Real space cutoff |
||
| real(kind=wp), | intent(out), | allocatable | :: | trans(:,:) |
Generated lattice points |
Generate lattice points from repeatitions
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in) | :: | lat(:,:) |
Lattice vectors |
||
| integer, | intent(in) | :: | rep(:) |
Repeatitions of lattice points to generate |
||
| logical, | intent(in) | :: | origin |
Include the origin in the generated lattice points |
||
| real(kind=wp), | intent(out), | allocatable | :: | trans(:,:) |
Generated lattice points |
Collection of real space cutoffs
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real(kind=wp), | public | :: | cn | = | cn_default |
Coordination number cutoff |
|
| real(kind=wp), | public | :: | disp2 | = | disp2_default |
Two-body interaction cutoff |
|
| real(kind=wp), | public | :: | disp3 | = | disp3_default |
Three-body interaction cutoff |
Create lattice points within a given cutoff
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| logical, | intent(in) | :: | periodic(:) |
Periodic dimensions |
||
| real(kind=wp), | intent(in) | :: | lat(:,:) |
Lattice parameters |
||
| real(kind=wp), | intent(in) | :: | rthr |
Real space cutoff |
||
| real(kind=wp), | intent(out), | allocatable | :: | trans(:,:) |
Generated lattice points |
Generate lattice points from repeatitions
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in) | :: | lat(:,:) |
Lattice vectors |
||
| integer, | intent(in) | :: | rep(:) |
Repeatitions of lattice points to generate |
||
| logical, | intent(in) | :: | origin |
Include the origin in the generated lattice points |
||
| real(kind=wp), | intent(out), | allocatable | :: | trans(:,:) |
Generated lattice points |
Generate a supercell based on a realspace cutoff, this subroutine doesn’t know anything about the convergence behaviour of the associated property.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in) | :: | lat(3,3) | |||
| real(kind=wp), | intent(in) | :: | rthr | |||
| integer, | intent(out) | :: | rep(3) |