mirror of
https://github.com/TREX-CoE/trexio.git
synced 2025-04-25 18:04:44 +02:00
Added plane waves
This commit is contained in:
parent
c98c4b4721
commit
bab56408e1
@ -12,6 +12,7 @@ CHANGES
|
|||||||
- Added `float buffered` type for vectors like CI/CSF coefficients
|
- Added `float buffered` type for vectors like CI/CSF coefficients
|
||||||
- .git folder is no longer needed to activate TREXIO_DEVEL mode
|
- .git folder is no longer needed to activate TREXIO_DEVEL mode
|
||||||
- Renamed debian folder into helpers-debian
|
- Renamed debian folder into helpers-debian
|
||||||
|
- Added plane wave basis set
|
||||||
- Added trexio_to_bitfield_list functionality
|
- Added trexio_to_bitfield_list functionality
|
||||||
- Added `trexio_has_group` functionality
|
- Added `trexio_has_group` functionality
|
||||||
- Added OCaml binding
|
- Added OCaml binding
|
||||||
|
45
trex.org
45
trex.org
@ -276,6 +276,9 @@ power = [
|
|||||||
|
|
||||||
* Basis set (basis group)
|
* Basis set (basis group)
|
||||||
|
|
||||||
|
|
||||||
|
** Gaussian and Slater-type orbitals
|
||||||
|
|
||||||
We consider here basis functions centered on nuclei. Hence, we enable
|
We consider here basis functions centered on nuclei. Hence, we enable
|
||||||
the possibility to define /dummy atoms/ to place basis functions in
|
the possibility to define /dummy atoms/ to place basis functions in
|
||||||
random positions.
|
random positions.
|
||||||
@ -310,13 +313,26 @@ power = [
|
|||||||
implies the computation of an extra normalization factor, $\mathcal{N}_s$.
|
implies the computation of an extra normalization factor, $\mathcal{N}_s$.
|
||||||
If the the basis function is not considered normalized, $\mathcal{N}_s=1$.
|
If the the basis function is not considered normalized, $\mathcal{N}_s=1$.
|
||||||
|
|
||||||
|
All the basis set parameters are stored in one-dimensional arrays.
|
||||||
|
|
||||||
All the basis set parameters are stored in one-dimensional arrays:
|
** Plane waves
|
||||||
|
|
||||||
|
A plane wave is defined as
|
||||||
|
|
||||||
|
\[
|
||||||
|
\chi_j(r) = \exp \left( -i \mathbf{k}_j \mathbf{r} \right)
|
||||||
|
\]
|
||||||
|
|
||||||
|
The basis set is defined as the array of $k$-points in the
|
||||||
|
reciprocal space, defined in the ~pbc~ group. The kinetic energy
|
||||||
|
cutoff ~e_cut~ is the only input data relevant to plane waves.
|
||||||
|
|
||||||
|
** Data definitions
|
||||||
|
|
||||||
#+NAME: basis
|
#+NAME: basis
|
||||||
| Variable | Type | Dimensions | Description |
|
| Variable | Type | Dimensions | Description |
|
||||||
|-----------------+---------+---------------------+--------------------------------------------------------------|
|
|-----------------+---------+---------------------+-----------------------------------------------------------------|
|
||||||
| ~type~ | ~str~ | | Type of basis set: "Gaussian" or "Slater" |
|
| ~type~ | ~str~ | | Type of basis set: "Gaussian", "Slater" or "PW" for plane waves |
|
||||||
| ~prim_num~ | ~dim~ | | Total number of primitives |
|
| ~prim_num~ | ~dim~ | | Total number of primitives |
|
||||||
| ~shell_num~ | ~dim~ | | Total number of shells |
|
| ~shell_num~ | ~dim~ | | Total number of shells |
|
||||||
| ~nucleus_index~ | ~index~ | ~(basis.shell_num)~ | One-to-one correspondence between shells and atomic indices |
|
| ~nucleus_index~ | ~index~ | ~(basis.shell_num)~ | One-to-one correspondence between shells and atomic indices |
|
||||||
@ -327,6 +343,8 @@ power = [
|
|||||||
| ~exponent~ | ~float~ | ~(basis.prim_num)~ | Exponents of the primitives ($\gamma_{ks}$) |
|
| ~exponent~ | ~float~ | ~(basis.prim_num)~ | Exponents of the primitives ($\gamma_{ks}$) |
|
||||||
| ~coefficient~ | ~float~ | ~(basis.prim_num)~ | Coefficients of the primitives ($a_{ks}$) |
|
| ~coefficient~ | ~float~ | ~(basis.prim_num)~ | Coefficients of the primitives ($a_{ks}$) |
|
||||||
| ~prim_factor~ | ~float~ | ~(basis.prim_num)~ | Normalization coefficients for the primitives ($f_{ks}$) |
|
| ~prim_factor~ | ~float~ | ~(basis.prim_num)~ | Normalization coefficients for the primitives ($f_{ks}$) |
|
||||||
|
| ~e_cut~ | ~float~ | | Energy cut-off for plane-wave calculations |
|
||||||
|
|
||||||
|
|
||||||
#+CALL: json(data=basis, title="basis")
|
#+CALL: json(data=basis, title="basis")
|
||||||
|
|
||||||
@ -345,6 +363,7 @@ power = [
|
|||||||
, "exponent" : [ "float", [ "basis.prim_num" ] ]
|
, "exponent" : [ "float", [ "basis.prim_num" ] ]
|
||||||
, "coefficient" : [ "float", [ "basis.prim_num" ] ]
|
, "coefficient" : [ "float", [ "basis.prim_num" ] ]
|
||||||
, "prim_factor" : [ "float", [ "basis.prim_num" ] ]
|
, "prim_factor" : [ "float", [ "basis.prim_num" ] ]
|
||||||
|
, "e_cut" : [ "float", [] ]
|
||||||
} ,
|
} ,
|
||||||
#+end_src
|
#+end_src
|
||||||
:end:
|
:end:
|
||||||
@ -917,12 +936,15 @@ prim_factor =
|
|||||||
|
|
||||||
* Cell (cell group)
|
* Cell (cell group)
|
||||||
|
|
||||||
|
3 Lattice vectors to define a box containing the system, for example
|
||||||
|
used in periodic calculations.
|
||||||
|
|
||||||
#+NAME: cell
|
#+NAME: cell
|
||||||
| Variable | Type | Dimensions | Description |
|
| Variable | Type | Dimensions | Description |
|
||||||
|----------+---------+------------+-------------------------|
|
|----------+---------+------------+-----------------------|
|
||||||
| ~a~ | ~float~ | ~(3)~ | First unit cell vector |
|
| ~a~ | ~float~ | ~(3)~ | First lattice vector |
|
||||||
| ~b~ | ~float~ | ~(3)~ | Second unit cell vector |
|
| ~b~ | ~float~ | ~(3)~ | Second lattice vector |
|
||||||
| ~c~ | ~float~ | ~(3)~ | Third unit cell vector |
|
| ~c~ | ~float~ | ~(3)~ | Third lattice vector |
|
||||||
|
|
||||||
#+CALL: json(data=cell, title="cell")
|
#+CALL: json(data=cell, title="cell")
|
||||||
|
|
||||||
@ -939,11 +961,14 @@ prim_factor =
|
|||||||
|
|
||||||
* Periodic boundary calculations (pbc group)
|
* Periodic boundary calculations (pbc group)
|
||||||
|
|
||||||
|
A single $k$-point per TREXIO file can be stored. The $k$-point is
|
||||||
|
defined in this group.
|
||||||
|
|
||||||
#+NAME: pbc
|
#+NAME: pbc
|
||||||
| Variable | Type | Dimensions | Description |
|
| Variable | Type | Dimensions | Description |
|
||||||
|------------+---------+------------+-------------------------|
|
|---------------+---------+------------+-------------------------|
|
||||||
| ~periodic~ | ~int~ | | ~1~: true or ~0~: false |
|
| ~is_periodic~ | ~int~ | | ~1~: true or ~0~: false |
|
||||||
| ~k_point~ | ~float~ | ~(3)~ | k-point sampling |
|
| ~k_point~ | ~float~ | ~(3)~ | $k$-point sampling |
|
||||||
|
|
||||||
#+CALL: json(data=pbc, title="pbc")
|
#+CALL: json(data=pbc, title="pbc")
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user