mirror of
https://github.com/TREX-CoE/trexio.git
synced 2024-08-25 06:31:43 +02:00
Add UHF possibility (#96)
This commit is contained in:
parent
2b20776615
commit
a8c3619655
@ -6,6 +6,7 @@ CHANGES
|
|||||||
|
|
||||||
- Added `trexio_has_group` functionality
|
- Added `trexio_has_group` functionality
|
||||||
- Added OCaml binding
|
- Added OCaml binding
|
||||||
|
- Added spin and energy in MOs
|
||||||
|
|
||||||
2.2
|
2.2
|
||||||
---
|
---
|
||||||
|
@ -10,10 +10,10 @@ TREX library for efficient I/O.
|
|||||||
|
|
||||||
## Minimal requirements (for users):
|
## Minimal requirements (for users):
|
||||||
|
|
||||||
- Autotools (autoconf >= 2.69, automake >= 1.11, libtool >= 2.2) or CMake (>= 3.16)
|
- Autotools (autoconf >= 2.69, automake >= 1.11, libtool >= 2.2) or CMake (>= 3.16)
|
||||||
- C compiler (gcc/icc/clang)
|
- C compiler (gcc/icc/clang)
|
||||||
- Fortran compiler (gfortran/ifort)
|
- Fortran compiler (gfortran/ifort)
|
||||||
- HDF5 library (>= 1.8) [optional, recommended for high performance]
|
- HDF5 library (>= 1.8) [optional, recommended for high performance]
|
||||||
|
|
||||||
|
|
||||||
## Installation procedure from the tarball (for users):
|
## Installation procedure from the tarball (for users):
|
||||||
|
@ -63,6 +63,8 @@ subroutine test_write(file_name, back_end)
|
|||||||
|
|
||||||
character(len=:), allocatable :: sym_str
|
character(len=:), allocatable :: sym_str
|
||||||
character(len=:), allocatable :: label(:)
|
character(len=:), allocatable :: label(:)
|
||||||
|
double precision, allocatable :: energy(:)
|
||||||
|
integer , allocatable :: spin(:)
|
||||||
|
|
||||||
! sparse data
|
! sparse data
|
||||||
integer(4) :: index_sparse_ao_2e_int_eri(4,100)
|
integer(4) :: index_sparse_ao_2e_int_eri(4,100)
|
||||||
@ -183,12 +185,29 @@ subroutine test_write(file_name, back_end)
|
|||||||
call trexio_assert(rc, TREXIO_SUCCESS, 'SUCCESS WRITE MO NUM')
|
call trexio_assert(rc, TREXIO_SUCCESS, 'SUCCESS WRITE MO NUM')
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
allocate(energy(mo_num))
|
||||||
|
do i=1,mo_num
|
||||||
|
energy(i) = dble(i)-100.d0
|
||||||
|
enddo
|
||||||
|
rc = trexio_write_mo_energy(trex_file, energy)
|
||||||
|
call trexio_assert(rc, TREXIO_SUCCESS, 'SUCCESS WRITE ENERGY')
|
||||||
|
deallocate(energy)
|
||||||
|
|
||||||
|
allocate(spin(mo_num))
|
||||||
|
spin(:) = 0
|
||||||
|
do i=mo_num/2+1,mo_num
|
||||||
|
spin(i) = 1
|
||||||
|
enddo
|
||||||
|
rc = trexio_write_mo_spin(trex_file, spin)
|
||||||
|
call trexio_assert(rc, TREXIO_SUCCESS, 'SUCCESS WRITE SPIN')
|
||||||
|
deallocate(spin)
|
||||||
|
|
||||||
|
|
||||||
offset = 0
|
offset = 0
|
||||||
do i = 1,n_buffers
|
do i = 1,n_buffers
|
||||||
rc = trexio_write_ao_2e_int_eri(trex_file, offset, buf_size_sparse, &
|
rc = trexio_write_ao_2e_int_eri(trex_file, offset, buf_size_sparse, &
|
||||||
index_sparse_ao_2e_int_eri(1,offset+1), &
|
index_sparse_ao_2e_int_eri(1,offset+1), &
|
||||||
value_sparse_ao_2e_int_eri(offset+1))
|
value_sparse_ao_2e_int_eri(offset+1))
|
||||||
call trexio_assert(rc, TREXIO_SUCCESS, 'SUCCESS WRITE SPARSE')
|
call trexio_assert(rc, TREXIO_SUCCESS, 'SUCCESS WRITE SPARSE')
|
||||||
offset = offset + buf_size_sparse
|
offset = offset + buf_size_sparse
|
||||||
enddo
|
enddo
|
||||||
@ -196,7 +215,7 @@ subroutine test_write(file_name, back_end)
|
|||||||
offset = 0
|
offset = 0
|
||||||
do i = 1,n_buffers
|
do i = 1,n_buffers
|
||||||
rc = trexio_write_determinant_list(trex_file, offset, buf_size_det, &
|
rc = trexio_write_determinant_list(trex_file, offset, buf_size_det, &
|
||||||
det_list(1,offset+1))
|
det_list(1,offset+1))
|
||||||
call trexio_assert(rc, TREXIO_SUCCESS, 'SUCCESS WRITE DET LIST')
|
call trexio_assert(rc, TREXIO_SUCCESS, 'SUCCESS WRITE DET LIST')
|
||||||
offset = offset + buf_size_det
|
offset = offset + buf_size_det
|
||||||
enddo
|
enddo
|
||||||
@ -252,6 +271,9 @@ subroutine test_read(file_name, back_end)
|
|||||||
character(len=4) :: label(12) ! also works with allocatable arrays
|
character(len=4) :: label(12) ! also works with allocatable arrays
|
||||||
|
|
||||||
character(len=32) :: sym_str
|
character(len=32) :: sym_str
|
||||||
|
integer :: mo_num
|
||||||
|
double precision, allocatable :: energy(:)
|
||||||
|
integer , allocatable :: spin(:)
|
||||||
|
|
||||||
! sparse data
|
! sparse data
|
||||||
integer(4) :: index_sparse_ao_2e_int_eri(4,20)
|
integer(4) :: index_sparse_ao_2e_int_eri(4,20)
|
||||||
@ -358,8 +380,8 @@ subroutine test_read(file_name, back_end)
|
|||||||
|
|
||||||
|
|
||||||
rc = trexio_read_ao_2e_int_eri(trex_file, offset_read, read_buf_size, &
|
rc = trexio_read_ao_2e_int_eri(trex_file, offset_read, read_buf_size, &
|
||||||
index_sparse_ao_2e_int_eri(1, offset_data_read + 1), &
|
index_sparse_ao_2e_int_eri(1, offset_data_read + 1), &
|
||||||
value_sparse_ao_2e_int_eri(offset_data_read + 1))
|
value_sparse_ao_2e_int_eri(offset_data_read + 1))
|
||||||
!do i = 1,20
|
!do i = 1,20
|
||||||
! write(*,*) index_sparse_ao_2e_int_eri(1,i)
|
! write(*,*) index_sparse_ao_2e_int_eri(1,i)
|
||||||
!enddo
|
!enddo
|
||||||
@ -376,8 +398,8 @@ subroutine test_read(file_name, back_end)
|
|||||||
! attempt to read reaching EOF: should return TREXIO_END and
|
! attempt to read reaching EOF: should return TREXIO_END and
|
||||||
! NOT increment the existing values in the buffer (only upd with what has been read)
|
! NOT increment the existing values in the buffer (only upd with what has been read)
|
||||||
rc = trexio_read_ao_2e_int_eri(trex_file, offset_eof, read_buf_size, &
|
rc = trexio_read_ao_2e_int_eri(trex_file, offset_eof, read_buf_size, &
|
||||||
index_sparse_ao_2e_int_eri(1, offset_data_eof + 1), &
|
index_sparse_ao_2e_int_eri(1, offset_data_eof + 1), &
|
||||||
value_sparse_ao_2e_int_eri(offset_data_eof + 1))
|
value_sparse_ao_2e_int_eri(offset_data_eof + 1))
|
||||||
!do i = 1,20
|
!do i = 1,20
|
||||||
! write(*,*) index_sparse_ao_2e_int_eri(1,i)
|
! write(*,*) index_sparse_ao_2e_int_eri(1,i)
|
||||||
!enddo
|
!enddo
|
||||||
@ -415,7 +437,7 @@ subroutine test_read(file_name, back_end)
|
|||||||
|
|
||||||
! read a chunk of determinants
|
! read a chunk of determinants
|
||||||
rc = trexio_read_determinant_list(trex_file, offset_det_read, read_buf_det_size, &
|
rc = trexio_read_determinant_list(trex_file, offset_det_read, read_buf_det_size, &
|
||||||
det_list(1, offset_det_data_read + 1))
|
det_list(1, offset_det_data_read + 1))
|
||||||
!do i = 1,50
|
!do i = 1,50
|
||||||
! write(*,*) det_list(1,i)
|
! write(*,*) det_list(1,i)
|
||||||
!enddo
|
!enddo
|
||||||
@ -455,6 +477,26 @@ subroutine test_read(file_name, back_end)
|
|||||||
call exit(-1)
|
call exit(-1)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
rc = trexio_read_mo_num(trex_file, mo_num)
|
||||||
|
call trexio_assert(rc, TREXIO_SUCCESS)
|
||||||
|
|
||||||
|
allocate(spin(mo_num), energy(mo_num))
|
||||||
|
rc = trexio_read_mo_energy(trex_file, energy)
|
||||||
|
call trexio_assert(rc, TREXIO_SUCCESS)
|
||||||
|
|
||||||
|
if (energy(10) /= -90.d0) then
|
||||||
|
print *, 'Failure to read MO energy: ', energy(10)
|
||||||
|
call exit(-1)
|
||||||
|
end if
|
||||||
|
|
||||||
|
rc = trexio_read_mo_spin(trex_file, spin)
|
||||||
|
call trexio_assert(rc, TREXIO_SUCCESS)
|
||||||
|
|
||||||
|
if (sum(spin) /= mo_num/2) then
|
||||||
|
print *, 'Failure to read MO spin', mo_num, sum(spin)
|
||||||
|
call exit(-1)
|
||||||
|
end if
|
||||||
|
|
||||||
! close the file
|
! close the file
|
||||||
rc = trexio_close(trex_file)
|
rc = trexio_close(trex_file)
|
||||||
call trexio_assert(rc, TREXIO_SUCCESS)
|
call trexio_assert(rc, TREXIO_SUCCESS)
|
||||||
|
180
trex.org
180
trex.org
@ -70,19 +70,19 @@ means that the source code is not produced by the generator, but hand-written.
|
|||||||
|
|
||||||
#+CALL: json(data=metadata, title="metadata")
|
#+CALL: json(data=metadata, title="metadata")
|
||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
:RESULTS:
|
:results:
|
||||||
#+begin_src python :tangle trex.json
|
#+begin_src python :tangle trex.json
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"code_num" : [ "dim", [] ]
|
"code_num" : [ "dim", [] ]
|
||||||
, "code" : [ "str", [ "metadata.code_num" ] ]
|
, "code" : [ "str", [ "metadata.code_num" ] ]
|
||||||
, "author_num" : [ "dim", [] ]
|
, "author_num" : [ "dim", [] ]
|
||||||
, "author" : [ "str", [ "metadata.author_num" ] ]
|
, "author" : [ "str", [ "metadata.author_num" ] ]
|
||||||
, "package_version" : [ "str", [] ]
|
, "package_version" : [ "str", [] ]
|
||||||
, "description" : [ "str", [] ]
|
, "description" : [ "str", [] ]
|
||||||
, "unsafe" : [ "int", [] ]
|
, "unsafe" : [ "int", [] ]
|
||||||
} ,
|
} ,
|
||||||
#+end_src
|
#+end_src
|
||||||
:END:
|
:end:
|
||||||
|
|
||||||
* Electron (electron group)
|
* Electron (electron group)
|
||||||
|
|
||||||
@ -197,20 +197,20 @@ If you encounter the aforementioned issue, please report it to our [[https://git
|
|||||||
#+CALL: json(data=ecp, title="ecp")
|
#+CALL: json(data=ecp, title="ecp")
|
||||||
|
|
||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
:RESULTS:
|
:results:
|
||||||
#+begin_src python :tangle trex.json
|
#+begin_src python :tangle trex.json
|
||||||
"ecp": {
|
"ecp": {
|
||||||
"max_ang_mom_plus_1" : [ "int" , [ "nucleus.num" ] ]
|
"max_ang_mom_plus_1" : [ "int" , [ "nucleus.num" ] ]
|
||||||
, "z_core" : [ "int" , [ "nucleus.num" ] ]
|
, "z_core" : [ "int" , [ "nucleus.num" ] ]
|
||||||
, "num" : [ "dim" , [] ]
|
, "num" : [ "dim" , [] ]
|
||||||
, "ang_mom" : [ "int" , [ "ecp.num" ] ]
|
, "ang_mom" : [ "int" , [ "ecp.num" ] ]
|
||||||
, "nucleus_index" : [ "index", [ "ecp.num" ] ]
|
, "nucleus_index" : [ "index", [ "ecp.num" ] ]
|
||||||
, "exponent" : [ "float", [ "ecp.num" ] ]
|
, "exponent" : [ "float", [ "ecp.num" ] ]
|
||||||
, "coefficient" : [ "float", [ "ecp.num" ] ]
|
, "coefficient" : [ "float", [ "ecp.num" ] ]
|
||||||
, "power" : [ "int" , [ "ecp.num" ] ]
|
, "power" : [ "int" , [ "ecp.num" ] ]
|
||||||
} ,
|
} ,
|
||||||
#+end_src
|
#+end_src
|
||||||
:END:
|
:end:
|
||||||
|
|
||||||
** Example
|
** Example
|
||||||
|
|
||||||
@ -324,22 +324,22 @@ power = [
|
|||||||
#+CALL: json(data=basis, title="basis")
|
#+CALL: json(data=basis, title="basis")
|
||||||
|
|
||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
:RESULTS:
|
:results:
|
||||||
#+begin_src python :tangle trex.json
|
#+begin_src python :tangle trex.json
|
||||||
"basis": {
|
"basis": {
|
||||||
"type" : [ "str" , [] ]
|
"type" : [ "str" , [] ]
|
||||||
, "prim_num" : [ "dim" , [] ]
|
, "prim_num" : [ "dim" , [] ]
|
||||||
, "shell_num" : [ "dim" , [] ]
|
, "shell_num" : [ "dim" , [] ]
|
||||||
, "nucleus_index" : [ "index", [ "basis.shell_num" ] ]
|
, "nucleus_index" : [ "index", [ "basis.shell_num" ] ]
|
||||||
, "shell_ang_mom" : [ "int" , [ "basis.shell_num" ] ]
|
, "shell_ang_mom" : [ "int" , [ "basis.shell_num" ] ]
|
||||||
, "shell_factor" : [ "float", [ "basis.shell_num" ] ]
|
, "shell_factor" : [ "float", [ "basis.shell_num" ] ]
|
||||||
, "shell_index" : [ "index", [ "basis.prim_num" ] ]
|
, "shell_index" : [ "index", [ "basis.prim_num" ] ]
|
||||||
, "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" ] ]
|
||||||
} ,
|
} ,
|
||||||
#+end_src
|
#+end_src
|
||||||
:END:
|
:end:
|
||||||
|
|
||||||
** Example
|
** Example
|
||||||
|
|
||||||
@ -470,16 +470,16 @@ prim_factor =
|
|||||||
#+CALL: json(data=ao, title="ao")
|
#+CALL: json(data=ao, title="ao")
|
||||||
|
|
||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
:RESULTS:
|
:results:
|
||||||
#+begin_src python :tangle trex.json
|
#+begin_src python :tangle trex.json
|
||||||
"ao": {
|
"ao": {
|
||||||
"cartesian" : [ "int" , [] ]
|
"cartesian" : [ "int" , [] ]
|
||||||
, "num" : [ "dim" , [] ]
|
, "num" : [ "dim" , [] ]
|
||||||
, "shell" : [ "index", [ "ao.num" ] ]
|
, "shell" : [ "index", [ "ao.num" ] ]
|
||||||
, "normalization" : [ "float", [ "ao.num" ] ]
|
, "normalization" : [ "float", [ "ao.num" ] ]
|
||||||
} ,
|
} ,
|
||||||
#+end_src
|
#+end_src
|
||||||
:END:
|
:end:
|
||||||
|
|
||||||
** One-electron integrals (~ao_1e_int~ group)
|
** One-electron integrals (~ao_1e_int~ group)
|
||||||
:PROPERTIES:
|
:PROPERTIES:
|
||||||
@ -514,22 +514,22 @@ prim_factor =
|
|||||||
#+CALL: json(data=ao_1e_int, title="ao_1e_int")
|
#+CALL: json(data=ao_1e_int, title="ao_1e_int")
|
||||||
|
|
||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
:RESULTS:
|
:results:
|
||||||
#+begin_src python :tangle trex.json
|
#+begin_src python :tangle trex.json
|
||||||
"ao_1e_int": {
|
"ao_1e_int": {
|
||||||
"overlap" : [ "float", [ "ao.num", "ao.num" ] ]
|
"overlap" : [ "float", [ "ao.num", "ao.num" ] ]
|
||||||
, "kinetic" : [ "float", [ "ao.num", "ao.num" ] ]
|
, "kinetic" : [ "float", [ "ao.num", "ao.num" ] ]
|
||||||
, "potential_n_e" : [ "float", [ "ao.num", "ao.num" ] ]
|
, "potential_n_e" : [ "float", [ "ao.num", "ao.num" ] ]
|
||||||
, "ecp" : [ "float", [ "ao.num", "ao.num" ] ]
|
, "ecp" : [ "float", [ "ao.num", "ao.num" ] ]
|
||||||
, "core_hamiltonian" : [ "float", [ "ao.num", "ao.num" ] ]
|
, "core_hamiltonian" : [ "float", [ "ao.num", "ao.num" ] ]
|
||||||
, "overlap_im" : [ "float", [ "ao.num", "ao.num" ] ]
|
, "overlap_im" : [ "float", [ "ao.num", "ao.num" ] ]
|
||||||
, "kinetic_im" : [ "float", [ "ao.num", "ao.num" ] ]
|
, "kinetic_im" : [ "float", [ "ao.num", "ao.num" ] ]
|
||||||
, "potential_n_e_im" : [ "float", [ "ao.num", "ao.num" ] ]
|
, "potential_n_e_im" : [ "float", [ "ao.num", "ao.num" ] ]
|
||||||
, "ecp_im" : [ "float", [ "ao.num", "ao.num" ] ]
|
, "ecp_im" : [ "float", [ "ao.num", "ao.num" ] ]
|
||||||
, "core_hamiltonian_im" : [ "float", [ "ao.num", "ao.num" ] ]
|
, "core_hamiltonian_im" : [ "float", [ "ao.num", "ao.num" ] ]
|
||||||
} ,
|
} ,
|
||||||
#+end_src
|
#+end_src
|
||||||
:END:
|
:end:
|
||||||
|
|
||||||
** Two-electron integrals (~ao_2e_int~ group)
|
** Two-electron integrals (~ao_2e_int~ group)
|
||||||
:PROPERTIES:
|
:PROPERTIES:
|
||||||
@ -581,23 +581,27 @@ prim_factor =
|
|||||||
| ~class~ | ~str~ | ~(mo.num)~ | Choose among: Core, Inactive, Active, Virtual, Deleted |
|
| ~class~ | ~str~ | ~(mo.num)~ | Choose among: Core, Inactive, Active, Virtual, Deleted |
|
||||||
| ~symmetry~ | ~str~ | ~(mo.num)~ | Symmetry in the point group |
|
| ~symmetry~ | ~str~ | ~(mo.num)~ | Symmetry in the point group |
|
||||||
| ~occupation~ | ~float~ | ~(mo.num)~ | Occupation number |
|
| ~occupation~ | ~float~ | ~(mo.num)~ | Occupation number |
|
||||||
|
| ~energy~ | ~float~ | ~(mo.num)~ | For canonical MOs, corresponding eigenvalue |
|
||||||
|
| ~spin~ | ~int~ | ~(mo.num)~ | For UHF wave functions, 0 is $\alpha$ and 1 is $\beta$ |
|
||||||
|
|
||||||
#+CALL: json(data=mo, title="mo")
|
#+CALL: json(data=mo, title="mo")
|
||||||
|
|
||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
:RESULTS:
|
:results:
|
||||||
#+begin_src python :tangle trex.json
|
#+begin_src python :tangle trex.json
|
||||||
"mo": {
|
"mo": {
|
||||||
"type" : [ "str" , [] ]
|
"type" : [ "str" , [] ]
|
||||||
, "num" : [ "dim" , [] ]
|
, "num" : [ "dim" , [] ]
|
||||||
, "coefficient" : [ "float", [ "mo.num", "ao.num" ] ]
|
, "coefficient" : [ "float", [ "mo.num", "ao.num" ] ]
|
||||||
, "coefficient_im" : [ "float", [ "mo.num", "ao.num" ] ]
|
, "coefficient_im" : [ "float", [ "mo.num", "ao.num" ] ]
|
||||||
, "class" : [ "str" , [ "mo.num" ] ]
|
, "class" : [ "str" , [ "mo.num" ] ]
|
||||||
, "symmetry" : [ "str" , [ "mo.num" ] ]
|
, "symmetry" : [ "str" , [ "mo.num" ] ]
|
||||||
, "occupation" : [ "float", [ "mo.num" ] ]
|
, "occupation" : [ "float", [ "mo.num" ] ]
|
||||||
|
, "energy" : [ "float", [ "mo.num" ] ]
|
||||||
|
, "spin" : [ "int" , [ "mo.num" ] ]
|
||||||
} ,
|
} ,
|
||||||
#+end_src
|
#+end_src
|
||||||
:END:
|
:end:
|
||||||
|
|
||||||
** One-electron integrals (~mo_1e_int~ group)
|
** One-electron integrals (~mo_1e_int~ group)
|
||||||
|
|
||||||
@ -622,22 +626,22 @@ prim_factor =
|
|||||||
#+CALL: json(data=mo_1e_int, title="mo_1e_int")
|
#+CALL: json(data=mo_1e_int, title="mo_1e_int")
|
||||||
|
|
||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
:RESULTS:
|
:results:
|
||||||
#+begin_src python :tangle trex.json
|
#+begin_src python :tangle trex.json
|
||||||
"mo_1e_int": {
|
"mo_1e_int": {
|
||||||
"overlap" : [ "float", [ "mo.num", "mo.num" ] ]
|
"overlap" : [ "float", [ "mo.num", "mo.num" ] ]
|
||||||
, "kinetic" : [ "float", [ "mo.num", "mo.num" ] ]
|
, "kinetic" : [ "float", [ "mo.num", "mo.num" ] ]
|
||||||
, "potential_n_e" : [ "float", [ "mo.num", "mo.num" ] ]
|
, "potential_n_e" : [ "float", [ "mo.num", "mo.num" ] ]
|
||||||
, "ecp" : [ "float", [ "mo.num", "mo.num" ] ]
|
, "ecp" : [ "float", [ "mo.num", "mo.num" ] ]
|
||||||
, "core_hamiltonian" : [ "float", [ "mo.num", "mo.num" ] ]
|
, "core_hamiltonian" : [ "float", [ "mo.num", "mo.num" ] ]
|
||||||
, "overlap_im" : [ "float", [ "mo.num", "mo.num" ] ]
|
, "overlap_im" : [ "float", [ "mo.num", "mo.num" ] ]
|
||||||
, "kinetic_im" : [ "float", [ "mo.num", "mo.num" ] ]
|
, "kinetic_im" : [ "float", [ "mo.num", "mo.num" ] ]
|
||||||
, "potential_n_e_im" : [ "float", [ "mo.num", "mo.num" ] ]
|
, "potential_n_e_im" : [ "float", [ "mo.num", "mo.num" ] ]
|
||||||
, "ecp_im" : [ "float", [ "mo.num", "mo.num" ] ]
|
, "ecp_im" : [ "float", [ "mo.num", "mo.num" ] ]
|
||||||
, "core_hamiltonian_im" : [ "float", [ "mo.num", "mo.num" ] ]
|
, "core_hamiltonian_im" : [ "float", [ "mo.num", "mo.num" ] ]
|
||||||
} ,
|
} ,
|
||||||
#+end_src
|
#+end_src
|
||||||
:END:
|
:end:
|
||||||
|
|
||||||
** Two-electron integrals (~mo_2e_int~ group)
|
** Two-electron integrals (~mo_2e_int~ group)
|
||||||
|
|
||||||
@ -701,15 +705,15 @@ prim_factor =
|
|||||||
#+CALL: json(data=determinant, title="determinant")
|
#+CALL: json(data=determinant, title="determinant")
|
||||||
|
|
||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
:RESULTS:
|
:results:
|
||||||
#+begin_src python :tangle trex.json
|
#+begin_src python :tangle trex.json
|
||||||
"determinant": {
|
"determinant": {
|
||||||
"num" : [ "dim readonly" , [] ]
|
"num" : [ "dim readonly" , [] ]
|
||||||
, "list" : [ "int special" , [ "determinant.num" ] ]
|
, "list" : [ "int special" , [ "determinant.num" ] ]
|
||||||
, "coefficient" : [ "float special", [ "determinant.num", "state.num" ] ]
|
, "coefficient" : [ "float special", [ "determinant.num", "state.num" ] ]
|
||||||
} ,
|
} ,
|
||||||
#+end_src
|
#+end_src
|
||||||
:END:
|
:end:
|
||||||
|
|
||||||
* Excited states (state group)
|
* Excited states (state group)
|
||||||
|
|
||||||
@ -727,14 +731,14 @@ prim_factor =
|
|||||||
#+CALL: json(data=state, title="state")
|
#+CALL: json(data=state, title="state")
|
||||||
|
|
||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
:RESULTS:
|
:results:
|
||||||
#+begin_src python :tangle trex.json
|
#+begin_src python :tangle trex.json
|
||||||
"state": {
|
"state": {
|
||||||
"num" : [ "dim", [] ]
|
"num" : [ "dim", [] ]
|
||||||
, "label" : [ "str", [ "state.num" ] ]
|
, "label" : [ "str", [ "state.num" ] ]
|
||||||
} ,
|
} ,
|
||||||
#+end_src
|
#+end_src
|
||||||
:END:
|
:end:
|
||||||
|
|
||||||
* Reduced density matrices (rdm group)
|
* Reduced density matrices (rdm group)
|
||||||
|
|
||||||
@ -819,15 +823,15 @@ prim_factor =
|
|||||||
#+CALL: json(data=cell, title="cell")
|
#+CALL: json(data=cell, title="cell")
|
||||||
|
|
||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
:RESULTS:
|
:results:
|
||||||
#+begin_src python :tangle trex.json
|
#+begin_src python :tangle trex.json
|
||||||
"cell": {
|
"cell": {
|
||||||
"a" : [ "float", [ "3" ] ]
|
"a" : [ "float", [ "3" ] ]
|
||||||
, "b" : [ "float", [ "3" ] ]
|
, "b" : [ "float", [ "3" ] ]
|
||||||
, "c" : [ "float", [ "3" ] ]
|
, "c" : [ "float", [ "3" ] ]
|
||||||
} ,
|
} ,
|
||||||
#+end_src
|
#+end_src
|
||||||
:END:
|
:end:
|
||||||
|
|
||||||
* Periodic boundary calculations (pbc group)
|
* Periodic boundary calculations (pbc group)
|
||||||
|
|
||||||
@ -840,14 +844,14 @@ prim_factor =
|
|||||||
#+CALL: json(data=pbc, title="pbc")
|
#+CALL: json(data=pbc, title="pbc")
|
||||||
|
|
||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
:RESULTS:
|
:results:
|
||||||
#+begin_src python :tangle trex.json
|
#+begin_src python :tangle trex.json
|
||||||
"pbc": {
|
"pbc": {
|
||||||
"periodic" : [ "int" , [] ]
|
"periodic" : [ "int" , [] ]
|
||||||
, "k_point" : [ "float", [ "3" ] ]
|
, "k_point" : [ "float", [ "3" ] ]
|
||||||
} ,
|
} ,
|
||||||
#+end_src
|
#+end_src
|
||||||
:END:
|
:end:
|
||||||
|
|
||||||
* Quantum Monte Carlo data (qmc group)
|
* Quantum Monte Carlo data (qmc group)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user