diff --git a/README.html b/README.html index b69e671..a9af86f 100644 --- a/README.html +++ b/README.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + TREXIO source code documentation @@ -406,7 +406,7 @@ The TREXIO library is licensed under the open-source 3-clause BSD license.

Author: TREX-CoE

-

Created: 2024-03-15 Fri 16:53

+

Created: 2024-03-22 Fri 14:46

Validate

diff --git a/examples.html b/examples.html index 26195ef..a6367ae 100644 --- a/examples.html +++ b/examples.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + Examples @@ -346,61 +346,61 @@ for the JavaScript code in this tag.

Table of Contents

-
-

1 Writing nuclear coordinates

+
+

1 Writing nuclear coordinates

Here is a demonstration of how to use TREXIO to write the nuclear @@ -410,8 +410,8 @@ as well as the necessary TREXIO functions to perform these actions.

-
-

1.1 C

+
+

1.1 C

#include <stdio.h>
@@ -461,8 +461,8 @@ as well as the necessary TREXIO functions to perform these actions.
 
-
-

1.2 Python

+
+

1.2 Python

This code uses the TREXIO Python binding to create a new TREXIO file named @@ -509,8 +509,8 @@ coordinates of the system.

-
-

1.3 Fortran

+
+

1.3 Fortran

program trexio_water
@@ -567,12 +567,12 @@ coordinates of the system.
 
-
-

2 Accessing sparse quantities (integrals)

+
+

2 Accessing sparse quantities (integrals)

-
-

2.1 Fortran

+
+

2.1 Fortran

program print_energy
@@ -618,8 +618,8 @@ One needs to read from the TREXIO file:
 
-
-

2.1.1 Declare Temporary variables

+
+

2.1.1 Declare Temporary variables

integer                       :: i, j, k, l, m
@@ -634,8 +634,8 @@ One needs to read from the TREXIO file:
 
-
-

2.1.2 Obtain the name of the TREXIO file from the command line, and open it for reading

+
+

2.1.2 Obtain the name of the TREXIO file from the command line, and open it for reading

call getarg(1, filename)
@@ -651,8 +651,8 @@ f = trexio_open (filename, 'r', TREXIO_AUTO
 
-
-

2.1.3 Read the nuclear repulsion energy

+
+

2.1.3 Read the nuclear repulsion energy

rc = trexio_read_nucleus_repulsion(f, E_nn)
@@ -666,8 +666,8 @@ f = trexio_open (filename, 'r', TREXIO_AUTO
 
-
-

2.1.4 Read the number of molecular orbitals

+
+

2.1.4 Read the number of molecular orbitals

rc = trexio_read_mo_num(f, n)
@@ -681,8 +681,8 @@ f = trexio_open (filename, 'r', TREXIO_AUTO
 
-
-

2.1.5 Allocate memory

+
+

2.1.5 Allocate memory

allocate( D(n,n), h0(n,n) )
@@ -694,8 +694,8 @@ W(:,:,:,:) = 0.d0
 
-
-

2.1.6 Read one-electron quantities

+
+

2.1.6 Read one-electron quantities

rc = trexio_has_mo_1e_int_core_hamiltonian(f)
@@ -727,8 +727,8 @@ rc = trexio_read_rdm_1e(f, D)
 
-
-

2.1.7 Read two-electron quantities

+
+

2.1.7 Read two-electron quantities

Reading is done with OpenMP. Each thread reads its own buffer, and @@ -744,8 +744,8 @@ to be protected in the critical section when modified.

-
-
2.1.7.1 Electron repulsion integrals
+
+
2.1.7.1 Electron repulsion integrals
rc = trexio_has_mo_2e_int_eri(f)
@@ -794,8 +794,8 @@ icount = BUFSIZE
 
-
-
2.1.7.2 Reduced density matrix
+
+
2.1.7.2 Reduced density matrix
rc = trexio_has_rdm_2e(f)
@@ -839,8 +839,8 @@ icount = bufsize
 
-
-

2.1.8 Compute the energy

+
+

2.1.8 Compute the energy

When the orbitals are real, we can use @@ -886,8 +886,8 @@ E = E + E_nn

-
-

2.1.9 Terminate

+
+

2.1.9 Terminate

  deallocate( D, h0, G, W )
@@ -899,8 +899,8 @@ E = E + E_nn
 
-
-

2.2 Python

+
+

2.2 Python

import sys
@@ -934,8 +934,8 @@ One needs to read from the TREXIO file:
 
 
-
-

2.2.1 Obtain the name of the TREXIO file from the command line, and open it for reading

+
+

2.2.1 Obtain the name of the TREXIO file from the command line, and open it for reading

filename = sys.argv[1]
@@ -945,8 +945,8 @@ One needs to read from the TREXIO file:
 
-
-

2.2.2 Read the nuclear repulsion energy

+
+

2.2.2 Read the nuclear repulsion energy

E_nn = trexio.read_nucleus_repulsion(f)
@@ -955,8 +955,8 @@ One needs to read from the TREXIO file:
 
-
-

2.2.3 Read the number of molecular orbitals

+
+

2.2.3 Read the number of molecular orbitals

n = trexio.read_mo_num(f)
@@ -965,8 +965,8 @@ One needs to read from the TREXIO file:
 
-
-

2.2.4 Read one-electron quantities

+
+

2.2.4 Read one-electron quantities

if not trexio.has_mo_1e_int_core_hamiltonian(f):
@@ -985,12 +985,12 @@ One needs to read from the TREXIO file:
 
-
-

2.2.5 Read two-electron quantities

+
+

2.2.5 Read two-electron quantities

-
-
2.2.5.1 Electron repulsion integrals
+
+
2.2.5.1 Electron repulsion integrals
if not trexio.has_mo_2e_int_eri(f):
@@ -1020,8 +1020,8 @@ One needs to read from the TREXIO file:
 
-
-
2.2.5.2 Reduced density matrix
+
+
2.2.5.2 Reduced density matrix
if not trexio.has_rdm_2e(f):
@@ -1043,8 +1043,8 @@ One needs to read from the TREXIO file:
 
-
-

2.2.6 Compute the energy

+
+

2.2.6 Compute the energy

When the orbitals are real, we can use @@ -1073,12 +1073,12 @@ E &=& E_{\text{NN}} + \sum_{ij} \gamma_{ij}\, \langle j | h | i \rangle\,

-
-

3 Reading determinants

+
+

3 Reading determinants

-
-

3.1 Fortran

+
+

3.1 Fortran

program test
@@ -1157,7 +1157,7 @@ end
 

Author: TREX-CoE

-

Created: 2024-03-15 Fri 16:53

+

Created: 2024-03-22 Fri 14:46

Validate

diff --git a/index.html b/index.html index b69e671..a9af86f 100644 --- a/index.html +++ b/index.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + TREXIO source code documentation @@ -406,7 +406,7 @@ The TREXIO library is licensed under the open-source 3-clause BSD license.

Author: TREX-CoE

-

Created: 2024-03-15 Fri 16:53

+

Created: 2024-03-22 Fri 14:46

Validate

diff --git a/intro.html b/intro.html index 47db6ba..d11970c 100644 --- a/intro.html +++ b/intro.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + Motivation @@ -384,7 +384,7 @@ still lacking, and the purpose of the TREXIO library is to fill this gap.

Author: TREX-CoE

-

Created: 2024-03-15 Fri 16:53

+

Created: 2024-03-22 Fri 14:46

Validate

diff --git a/lib.html b/lib.html index d1ee2b7..3028f22 100644 --- a/lib.html +++ b/lib.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + The TREXIO library @@ -346,19 +346,19 @@ for the JavaScript code in this tag.

Table of Contents

-
-

1 Format specification

+
+

1 Format specification

@@ -388,8 +388,8 @@ calculation are stored.

-
-

1.1 Organization of the data

+
+

1.1 Organization of the data

The data in TREXIO are organized into groups, each containing @@ -405,8 +405,8 @@ number of nuclei.

-
-

1.2 Data types

+
+

1.2 Data types

So that TREXIO can be used in any language, we use a limited number @@ -473,8 +473,8 @@ with the same name suffixed by _im.

-
-

2 The TREXIO library

+
+

2 The TREXIO library

@@ -497,8 +497,8 @@ interface between the library and the physical storage.

-
-

2.1 The front-end

+
+

2.1 The front-end

By using the TREXIO library, users can store and extract data in a @@ -539,8 +539,8 @@ made are safe.

-
-

2.2 The back-end

+
+

2.2 The back-end

At present, TREXIO supports two back-ends: one relying only on the @@ -610,8 +610,8 @@ repositories.

-
-

2.3 Supported languages

+
+

2.3 Supported languages

One of the main benefits of using C as the interface for a library is @@ -668,8 +668,8 @@ via the Binder platform.

-
-

2.4 Source code generation and documentation

+
+

2.4 Source code generation and documentation

Source code generation is a valuable technique that can significantly @@ -723,8 +723,8 @@ regardless of their programming skills.

-
-

2.5 Availability

+
+

2.5 Availability

The TREXIO library is designed to be portable and easy to install @@ -754,7 +754,7 @@ are available in Ubuntu 23.04.

Author: TREX-CoE

-

Created: 2024-03-15 Fri 16:53

+

Created: 2024-03-22 Fri 14:46

Validate

diff --git a/templator_front.html b/templator_front.html index fe65c86..bc3f037 100644 --- a/templator_front.html +++ b/templator_front.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + Front end API @@ -346,207 +346,207 @@ for the JavaScript code in this tag.

Table of Contents

-
-

1 Coding conventions

+
+

1 Coding conventions

  • integer types will be defined using types given in stdint.h
  • @@ -561,8 +561,8 @@ for the JavaScript code in this tag.
-
-

1.1 Memory allocation

+
+

1.1 Memory allocation

Memory allocation of structures can be facilitated by using the @@ -598,8 +598,8 @@ The maximum string size for the filenames is 4096 characters.

-
-

2 Front end

+
+

2 Front end

All calls to TREXIO are thread-safe. @@ -607,10 +607,10 @@ TREXIO front end is modular, which simplifies implementation of new back ends.

-
-

2.1 Error handling

+
+

2.1 Error handling

- +
@@ -905,8 +905,8 @@ and the corresponding message are not propagated to the source code. -
-

2.1.1 Decoding errors

+
+

2.1.1 Decoding errors

The trexio_string_of_error converts an exit code into a string. The @@ -932,8 +932,8 @@ and the corresponding message are not propagated to the source code.

-
-
2.1.1.1 C source code
+
+
2.1.1.1 C source code
const char*
@@ -1071,8 +1071,8 @@ and the corresponding message are not propagated to the source code.
 
-
-
2.1.1.2 Fortran interface
+
+
2.1.1.2 Fortran interface
interface
@@ -1088,8 +1088,8 @@ and the corresponding message are not propagated to the source code.
 
-
-
2.1.1.3 Python interface
+
+
2.1.1.3 Python interface
class Error(Exception):
@@ -1122,8 +1122,8 @@ and the corresponding message are not propagated to the source code.
 
-
-

2.2 Back ends

+
+

2.2 Back ends

TREXIO has several back ends: @@ -1152,8 +1152,8 @@ lines that correspond to the TREXIO_JSON back end (not implemented

-
-

2.2.1 C

+
+

2.2.1 C

typedef int32_t back_end_t;
@@ -1202,8 +1202,8 @@ This is useful due to the fact that HDF5 back end can be disabled at configure s
 
-
-

2.2.2 Fortran

+
+

2.2.2 Fortran

  integer(trexio_back_end_t), parameter :: TREXIO_HDF5 = 0
@@ -1242,8 +1242,8 @@ consistency, in version 2.2 it was renamed trexio_has_back_end.
 
-
-

2.2.3 Python

+
+

2.2.3 Python

# define TREXIO back ends
@@ -1258,8 +1258,8 @@ consistency, in version 2.2 it was renamed trexio_has_back_end.
 
-
-

2.3 Read/write behavior

+
+

2.3 Read/write behavior

Every time a reading function is called, the data is read from the @@ -1288,8 +1288,8 @@ concurrent programs, the behavior is not specified.

-
-

2.4 TREXIO file type

+
+

2.4 TREXIO file type

trexio_s is the the main type for TREXIO files, visible to the users @@ -1453,8 +1453,8 @@ to work with TREXIO files.

-
-

2.5 File opening

+
+

2.5 File opening

trexio_open creates a new TREXIO file or opens the existing one. @@ -1510,8 +1510,8 @@ renaming the .txt data files.

-
-

2.5.1 C

+
+

2.5.1 C

trexio_t*
@@ -1828,8 +1828,8 @@ renaming the .txt data files.
 
-
-

2.5.2 Fortran

+
+

2.5.2 Fortran

interface
@@ -1847,8 +1847,8 @@ renaming the .txt data files.
 
-
-

2.5.3 Python

+
+

2.5.3 Python

def _open(file_name: str, mode: str, back_end: int):
@@ -1896,8 +1896,8 @@ renaming the .txt data files.
 
-
-

2.5.4 Zero-based versus one-based arrays of indices

+
+

2.5.4 Zero-based versus one-based arrays of indices

Because arrays are zero-based in Fortran, we need to set a flag to @@ -1930,8 +1930,8 @@ know if we need to shift by 1 arrays of indices.

-
-

2.6 File closing

+
+

2.6 File closing

trexio_close closes an existing trexio_t file. @@ -1948,8 +1948,8 @@ output:

-
-

2.6.1 C

+
+

2.6.1 C

trexio_exit_code
@@ -2034,8 +2034,8 @@ output:
 
-
-

2.6.2 Fortran

+
+

2.6.2 Fortran

interface
@@ -2050,8 +2050,8 @@ output:
 
-
-

2.6.3 Python

+
+

2.6.3 Python

def _close(trexio_file):
@@ -2069,8 +2069,8 @@ output:
 
-
-

2.7 File flushing

+
+

2.7 File flushing

trexio_flush flushes all buffers into the trexio_t file. @@ -2087,8 +2087,8 @@ output:

-
-

2.7.1 C

+
+

2.7.1 C

trexio_exit_code
@@ -2129,8 +2129,8 @@ output:
 
-
-

2.7.2 Fortran

+
+

2.7.2 Fortran

interface
@@ -2145,8 +2145,8 @@ output:
 
-
-

2.7.3 Python

+
+

2.7.3 Python

def flush(trexio_file):
@@ -2164,8 +2164,8 @@ output:
 
-
-

2.8 File existence

+
+

2.8 File existence

trexio_inquire check whether TREXIO file exists. @@ -2202,8 +2202,8 @@ You can see examples of both functionalities in test_f.f90 (search

-
-

2.8.1 C

+
+

2.8.1 C

trexio_exit_code
@@ -2233,8 +2233,8 @@ You can see examples of both functionalities in test_f.f90  (search
 
-
-

2.8.2 Fortran

+
+

2.8.2 Fortran

The function below is a C binding. @@ -2254,8 +2254,8 @@ The front end Fortran function for trexio_inquire can be found in t

-
-

2.8.3 Python

+
+

2.8.3 Python

def _inquire(file_name: str) -> bool:
@@ -2274,8 +2274,8 @@ The front end Fortran function for trexio_inquire can be found in t
 
-
-

2.9 File copy

+
+

2.9 File copy

trexio_cp copies a TREXIO file using cp. The destination file @@ -2298,8 +2298,8 @@ is not overwritten if it exists, an error is returned.

-
-

2.9.1 C

+
+

2.9.1 C

@@ -2372,8 +2372,8 @@ is not overwritten if it exists, an error is returned.
 
-
-

2.9.2 Fortran

+
+

2.9.2 Fortran

interface
@@ -2388,8 +2388,8 @@ is not overwritten if it exists, an error is returned.
 
-
-

2.9.3 Python

+
+

2.9.3 Python

def _cp(source: str, destination: str):
@@ -2421,8 +2421,8 @@ is not overwritten if it exists, an error is returned.
 
-
-

2.10 File state

+
+

2.10 File state

Note: the use of the functions below is discouraged as of version 2.3.0. @@ -2459,8 +2459,8 @@ output:

-
-

2.10.1 C

+
+

2.10.1 C

trexio_exit_code
@@ -2504,8 +2504,8 @@ output:
 
-
-

2.10.2 Fortran

+
+

2.10.2 Fortran

interface
@@ -2530,8 +2530,8 @@ output:
 
-
-

2.10.3 Python

+
+

2.10.3 Python

See TREXIO File Python class. @@ -2540,8 +2540,8 @@ See TREXIO File Python class.

-
-

2.11 Tasks to be done before closing

+
+

2.11 Tasks to be done before closing

trexio_exit_code
@@ -2642,12 +2642,12 @@ See TREXIO File Python class.
 
-
-

3 Templates for front end

+
+

3 Templates for front end

-
-

3.1 Description

+
+

3.1 Description

Consider the following block of trex.json: @@ -2868,12 +2868,12 @@ value will result in TREXIO_INVALID_ARG_2 exit code.

-
-

3.2 Templates for front end hasgroup functions

+
+

3.2 Templates for front end hasgroup functions

-
-

3.2.1 Introduction

+
+

3.2.1 Introduction

This section concerns API calls related to TREXIO groups @@ -2903,8 +2903,8 @@ This section concerns API calls related to TREXIO groups

-
-

3.2.2 C templates for front end

+
+

3.2.2 C templates for front end

The C templates that correspond to each of the abovementioned @@ -2913,12 +2913,12 @@ handle.

-
-
3.2.2.1 Function declarations
+
+
3.2.2.1 Function declarations
-
-
3.2.2.2 Source code
+
+
3.2.2.2 Source code
trexio_exit_code
@@ -2955,8 +2955,8 @@ handle.
 
-
-

3.2.3 Fortran templates for front end

+
+

3.2.3 Fortran templates for front end

The Fortran templates that provide an access to the C API calls from Fortran. @@ -2976,8 +2976,8 @@ These templates are based on the use of iso_c_binding. Pointers hav

-
-

3.2.4 Python templates for front end

+
+

3.2.4 Python templates for front end

def has_$group$(trexio_file) -> bool:
@@ -3004,12 +3004,12 @@ These templates are based on the use of iso_c_binding. Pointers hav
 
-
-

3.3 Templates for front end has/read/write a single numerical attribute

+
+

3.3 Templates for front end has/read/write a single numerical attribute

-
-

3.3.1 Introduction

+
+

3.3.1 Introduction

This section concerns API calls related to numerical attributes, @@ -3080,8 +3080,8 @@ namely single value of int/float types.

-
-

3.3.2 C templates for front end

+
+

3.3.2 C templates for front end

The C templates that correspond to each of the abovementioned @@ -3095,12 +3095,12 @@ precision (see Table above).

-
-
3.3.2.1 Function declarations
+
+
3.3.2.1 Function declarations
-
-
3.3.2.2 Source code for double precision functions
+
+
3.3.2.2 Source code for double precision functions
trexio_exit_code
@@ -3181,8 +3181,8 @@ precision (see Table above).
 
-
-
3.3.2.3 Source code for single precision functions
+
+
3.3.2.3 Source code for single precision functions
trexio_exit_code
@@ -3270,8 +3270,8 @@ precision (see Table above).
 
-
-
3.3.2.4 Source code for default functions
+
+
3.3.2.4 Source code for default functions
trexio_exit_code
@@ -3326,8 +3326,8 @@ precision (see Table above).
 
-
-

3.3.3 Fortran templates for front end

+
+

3.3.3 Fortran templates for front end

The Fortran templates that provide an access to the C API calls from Fortran. @@ -3419,8 +3419,8 @@ These templates are based on the use of iso_c_binding. Pointers hav

-
-

3.3.4 Python templates for front end

+
+

3.3.4 Python templates for front end

def write_$group_num$(trexio_file, num_w: $group_num_py_dtype$) -> None:
@@ -3493,12 +3493,12 @@ These templates are based on the use of iso_c_binding. Pointers hav
 
-
-

3.4 Templates for front end has/read/write a dataset of numerical data

+
+

3.4 Templates for front end has/read/write a dataset of numerical data

-
-

3.4.1 Introduction

+
+

3.4.1 Introduction

This section concerns API calls related to datasets. @@ -3580,8 +3580,8 @@ This section concerns API calls related to datasets.

-
-

3.4.2 C templates for front end

+
+

3.4.2 C templates for front end

The C templates that correspond to each of the abovementioned functions can be found below. @@ -3592,12 +3592,12 @@ The basic (non-suffixed) API call on datasets deals with real(cdouble

-
-
3.4.2.1 Function declarations
+
+
3.4.2.1 Function declarations
-
-
3.4.2.2 Source code for double precision functions
+
+
3.4.2.2 Source code for double precision functions
trexio_exit_code
@@ -3760,8 +3760,8 @@ The basic (non-suffixed) API call on datasets deals with real(cdouble
 
-
-
3.4.2.3 Source code for single precision functions
+
+
3.4.2.3 Source code for single precision functions
trexio_exit_code
@@ -3912,11 +3912,11 @@ The basic (non-suffixed) API call on datasets deals with real(cdouble
 
-
-
3.4.2.4 Source code for memory-safe functions
+
+
3.4.2.4 Source code for memory-safe functions
-
trexio_exit_code rc;
+
trexio_exit_code rc;
 int64_t $group_dset_dim$ = 0;
 
 /* Error handling for this call is added by the generator */
@@ -4072,8 +4072,8 @@ rc = trexio_read_$group_dset_dim$_64(file, &($group_dset_dim$));
 
-
-
3.4.2.5 Source code for default functions
+
+
3.4.2.5 Source code for default functions
trexio_exit_code
@@ -4148,8 +4148,8 @@ rc = trexio_read_$group_dset_dim$_64(file, &($group_dset_dim$));
 
-
-

3.4.3 Fortran templates for front end

+
+

3.4.3 Fortran templates for front end

The Fortran templates that provide an access to the C API calls from Fortran. @@ -4241,8 +4241,8 @@ These templates are based on the use of iso_c_binding. Pointers hav

-
-

3.4.4 Python templates for front end

+
+

3.4.4 Python templates for front end

def write_$group_dset$(trexio_file, dset_w) -> None:
@@ -4414,12 +4414,12 @@ These templates are based on the use of iso_c_binding. Pointers hav
 
-
-

3.5 Templates for front end has/read/write a dataset of sparse data

+
+

3.5 Templates for front end has/read/write a dataset of sparse data

-
-

3.5.1 Introduction

+
+

3.5.1 Introduction

Sparse data structures are used typically for large tensors such as @@ -4580,16 +4580,16 @@ This section concerns API calls related to sparse data structures.

-
-

3.5.2 C templates for front end

+
+

3.5.2 C templates for front end

-
-
3.5.2.1 Function declarations
+
+
3.5.2.1 Function declarations
-
-
3.5.2.2 Source code for default functions
+
+
3.5.2.2 Source code for default functions
trexio_exit_code trexio_read_safe_$group_dset$(trexio_t* const file,
@@ -4892,8 +4892,8 @@ This section concerns API calls related to sparse data structures.
 
-
-

3.5.3 Fortran templates for front end

+
+

3.5.3 Fortran templates for front end

The Fortran templates that provide an access to the C API calls from Fortran. @@ -4994,8 +4994,8 @@ These templates are based on the use of iso_c_binding. Pointers hav

-
-

3.5.4 Python templates for front end

+
+

3.5.4 Python templates for front end

def write_$group_dset$(trexio_file: File, offset_file: int, buffer_size: int, indices: list, values: list) -> None:
@@ -5197,12 +5197,12 @@ These templates are based on the use of iso_c_binding. Pointers hav
 
-
-

3.6 Templates for front end has/read/write a dataset of strings

+
+

3.6 Templates for front end has/read/write a dataset of strings

-
-

3.6.1 Introduction

+
+

3.6.1 Introduction

This section concerns API calls related to datasets of strings. @@ -5242,8 +5242,8 @@ This section concerns API calls related to datasets of strings.

-
-

3.6.2 C templates for front end

+
+

3.6.2 C templates for front end

First parameter is the TREXIO file handle. Second parameter is the variable to be written/read @@ -5251,12 +5251,12 @@ to/from the TREXIO file (except for trexio_has_ functi

-
-
3.6.2.1 Function declarations
+
+
3.6.2.1 Function declarations
-
-
3.6.2.2 Source code for default functions
+
+
3.6.2.2 Source code for default functions
trexio_exit_code
@@ -5506,8 +5506,8 @@ to/from the TREXIO file (except for trexio_has_ functi
 
-
-

3.6.3 Fortran templates for front end

+
+

3.6.3 Fortran templates for front end

The Fortran templates that provide an access to the C API calls from Fortran. @@ -5606,8 +5606,8 @@ These templates are based on the use of iso_c_binding. Pointers hav

-
-

3.6.4 Python templates for front end

+
+

3.6.4 Python templates for front end

def write_$group_dset$(trexio_file, dset_w: list) -> None:
@@ -5708,8 +5708,8 @@ These templates are based on the use of iso_c_binding. Pointers hav
 
-
-

3.7 Templates for front end has/read/write a buffered vector

+
+

3.7 Templates for front end has/read/write a buffered vector

This corresponds to the buffer data type and is particularly useful for incremental additiona of values like @@ -5774,8 +5774,8 @@ it was done for sparse data but without the need to supply tuples o

-
-

3.7.1 C source code

+
+

3.7.1 C source code

trexio_exit_code
@@ -5953,8 +5953,8 @@ it was done for sparse data but without the need to supply tuples o
 
-
-

3.7.2 Fortran interface

+
+

3.7.2 Fortran interface

The Fortran templates that provide an access to the C API calls from Fortran. @@ -6042,8 +6042,8 @@ These templates are based on the use of iso_c_binding. Pointers hav

-
-

3.7.3 Python interface

+
+

3.7.3 Python interface

def write_$group_dset$(trexio_file: File, offset_file: int, buffer_size: int, dset) -> None:
@@ -6194,12 +6194,12 @@ These templates are based on the use of iso_c_binding. Pointers hav
 
-
-

3.8 Templates for front end has/read/write a single string attribute

+
+

3.8 Templates for front end has/read/write a single string attribute

-
-

3.8.1 Introduction

+
+

3.8.1 Introduction

This section concerns API calls related to string attributes. @@ -6239,16 +6239,16 @@ This section concerns API calls related to string attributes.

-
-

3.8.2 C templates for front end

+
+

3.8.2 C templates for front end

-
-
3.8.2.1 Function declarations
+
+
3.8.2.1 Function declarations
-
-
3.8.2.2 Source code for default functions
+
+
3.8.2.2 Source code for default functions
trexio_exit_code
@@ -6352,8 +6352,8 @@ This section concerns API calls related to string attributes.
 
-
-

3.8.3 Fortran templates for front end

+
+

3.8.3 Fortran templates for front end

The Fortran templates that provide an access to the C API calls from Fortran. @@ -6433,8 +6433,8 @@ These templates are based on the use of iso_c_binding. Pointers hav

-
-

3.8.4 Python templates for front end

+
+

3.8.4 Python templates for front end

def write_$group_str$(trexio_file, str_w: str) -> None:
@@ -6509,12 +6509,12 @@ These templates are based on the use of iso_c_binding. Pointers hav
 
-
-

3.9 Templates for front end delete an entire group (UNSAFE MODE)

+
+

3.9 Templates for front end delete an entire group (UNSAFE MODE)

-
-

3.9.1 Introduction

+
+

3.9.1 Introduction

This section concerns API calls related to string attributes. @@ -6544,8 +6544,8 @@ This section concerns API calls related to string attributes.

-
-

3.9.2 C templates for front end

+
+

3.9.2 C templates for front end

trexio_exit_code
@@ -6580,8 +6580,8 @@ This section concerns API calls related to string attributes.
 
-
-

3.9.3 Fortran templates for front end

+
+

3.9.3 Fortran templates for front end

The Fortran templates that provide an access to the C API calls from Fortran. @@ -6601,8 +6601,8 @@ These templates are based on the use of iso_c_binding. Pointers hav

-
-

3.9.4 Python templates for front end

+
+

3.9.4 Python templates for front end

def delete_$group$(trexio_file) -> None:
@@ -6628,8 +6628,8 @@ These templates are based on the use of iso_c_binding. Pointers hav
 
-
-

4 Source code for the determinant part

+
+

4 Source code for the determinant part

Storage of the determinants is a particular case, @@ -6680,8 +6680,8 @@ This section concerns API calls related to Slater determinants.

-
-

4.0.1 C source code

+
+

4.0.1 C source code

trexio_exit_code
@@ -6881,8 +6881,8 @@ This section concerns API calls related to Slater determinants.
 
-
-

4.0.2 Fortran interface

+
+

4.0.2 Fortran interface

The Fortran templates that provide an access to the C API calls from Fortran. @@ -6969,8 +6969,8 @@ These templates are based on the use of iso_c_binding. Pointers hav

-
-

4.0.3 Python interface

+
+

4.0.3 Python interface

def write_determinant_list(trexio_file: File, offset_file: int, buffer_size: int, determinants: list) -> None:
@@ -7152,8 +7152,8 @@ These templates are based on the use of iso_c_binding. Pointers hav
 
-
-

5 General helper functions

+
+

5 General helper functions

This section contains general helper functions like trexio_info. @@ -7205,8 +7205,8 @@ bitfield representation of the determinant. If the creation of the bitfield requ

-
-

5.1 C

+
+

5.1 C

trexio_exit_code trexio_info(void);
@@ -7657,8 +7657,8 @@ bitfield representation of the determinant. If the creation of the bitfield requ
 
-
-

5.2 Fortran

+
+

5.2 Fortran

interface
@@ -7792,8 +7792,8 @@ bitfield representation of the determinant. If the creation of the bitfield requ
 
-
-

5.3 Python

+
+

5.3 Python

def info():
@@ -7994,8 +7994,8 @@ bitfield representation of the determinant. If the creation of the bitfield requ
 
-
-

6 Fortran helper/wrapper functions

+
+

6 Fortran helper/wrapper functions

The function below adapts the original C-based trexio_open for Fortran. @@ -8244,7 +8244,7 @@ two code are identical, i.e. if the assert statement pass.

Author: TREX-CoE

-

Created: 2024-03-15 Fri 16:53

+

Created: 2024-03-22 Fri 14:46

Validate

diff --git a/templator_hdf5.html b/templator_hdf5.html index 762332b..bad4fcb 100644 --- a/templator_hdf5.html +++ b/templator_hdf5.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + HDF5 back end @@ -324,25 +324,25 @@ for the JavaScript code in this tag.

Table of Contents

-
-

1 Template for HDF5 definitions

+
+

1 Template for HDF5 definitions

#define $GROUP$_GROUP_NAME          "$group$"
@@ -354,8 +354,8 @@ for the JavaScript code in this tag.
 
-
-

2 Template for HDF5 structures

+
+

2 Template for HDF5 structures

Polymorphism of the trexio_t type is handled by ensuring that the @@ -375,8 +375,8 @@ corresponding types for all back ends can be safely casted to

-
-

3 Template for HDF5 init/deinit

+
+

3 Template for HDF5 init/deinit

trexio_exit_code
@@ -496,8 +496,8 @@ corresponding types for all back ends can be safely casted to
 
-
-

4 Template for HDF5 has a group

+
+

4 Template for HDF5 has a group

trexio_exit_code
@@ -527,8 +527,8 @@ corresponding types for all back ends can be safely casted to
 
-
-

5 Template for HDF5 has/read/write a numerical attribute

+
+

5 Template for HDF5 has/read/write a numerical attribute

trexio_exit_code
@@ -632,8 +632,8 @@ corresponding types for all back ends can be safely casted to
 
-
-

6 Template for HDF5 has/read/write a dataset of numerical data

+
+

6 Template for HDF5 has/read/write a dataset of numerical data

trexio_exit_code
@@ -770,8 +770,8 @@ corresponding types for all back ends can be safely casted to
 
-
-

7 Template for HDF5 has/read/write a dataset of sparse data

+
+

7 Template for HDF5 has/read/write a dataset of sparse data

Sparse data is stored using extensible datasets of HDF5. Extensibility is required @@ -976,8 +976,8 @@ due to the fact that the sparse data will be written in chunks of user-defined s

-
-

8 Template for HDF5 has/read/write a dataset of buffered vectors

+
+

8 Template for HDF5 has/read/write a dataset of buffered vectors

Chunked I/O in HDF5 for buffered data. @@ -1111,8 +1111,8 @@ Chunked I/O in HDF5 for buffered data.

-
-

9 Template for HDF5 has/read/write a dataset of strings

+
+

9 Template for HDF5 has/read/write a dataset of strings

trexio_exit_code
@@ -1309,8 +1309,8 @@ Chunked I/O in HDF5 for buffered data.
 
-
-

10 Template for HDF5 has/read/write a string attribute

+
+

10 Template for HDF5 has/read/write a string attribute

trexio_exit_code
@@ -1437,8 +1437,8 @@ Chunked I/O in HDF5 for buffered data.
 
-
-

11 Template for HDF5 delete a group (UNSAFE mode)

+
+

11 Template for HDF5 delete a group (UNSAFE mode)

Note: in early versions of the HDF5 library (v < 1.10) unlinking an object was not working as expected @@ -1478,8 +1478,8 @@ Thus, any corrupted/lost file space will remain in the first file. The use of

-
-

12 Source code for the determinant part

+
+

12 Source code for the determinant part

Each array is stored in a separate HDF5 dataset due to the fact that determinant I/O has to be decoupled. @@ -1581,8 +1581,8 @@ Size specifies the number of data items (e.g. determinants) to process.

-
-

13 Helper functions

+
+

13 Helper functions

trexio_exit_code
@@ -1850,7 +1850,7 @@ Size specifies the number of data items (e.g. determinants) to process.
 

Author: TREX-CoE

-

Created: 2024-03-15 Fri 16:53

+

Created: 2024-03-22 Fri 14:46

Validate

diff --git a/templator_text.html b/templator_text.html index 29c04b7..f47f888 100644 --- a/templator_text.html +++ b/templator_text.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + TEXT back end @@ -324,23 +324,23 @@ for the JavaScript code in this tag.

Table of Contents

@@ -362,8 +362,8 @@ directory. The file is written when closed, or when the flush function is called.

-
-

1 Template for group-related structures in text back end

+
+

1 Template for group-related structures in text back end

typedef struct $group$_s {
@@ -382,8 +382,8 @@ The file is written when closed, or when the flush function is called.
 
-
-

2 Template for general structure in text back end

+
+

2 Template for general structure in text back end

Polymorphism of the trexio_t type is handled by ensuring that the @@ -403,8 +403,8 @@ corresponding types for all back ends can be safely casted to

-
-

3 Initialize function (constant part)

+
+

3 Initialize function (constant part)

bool
@@ -601,8 +601,8 @@ In that case, we define an alternate one, which is not as safe as the original o
 
-
-

4 Deinitialize function (templated part)

+
+

4 Deinitialize function (templated part)

trexio_exit_code
@@ -624,8 +624,8 @@ In that case, we define an alternate one, which is not as safe as the original o
 
-
-

5 Flush function (templated part)

+
+

5 Flush function (templated part)

trexio_exit_code
@@ -648,8 +648,8 @@ In that case, we define an alternate one, which is not as safe as the original o
 
-
-

6 Template for text read a group

+
+

6 Template for text read a group

$group$_t*
@@ -875,8 +875,8 @@ trexio_text_read_$group$ (trexio_text_t* 
 
-
-

7 Template for text has a group

+
+

7 Template for text has a group

trexio_exit_code
@@ -916,8 +916,8 @@ trexio_text_read_$group$ (trexio_text_t* 
 
-
-

8 Template for text flush a group

+
+

8 Template for text flush a group

trexio_exit_code
@@ -981,8 +981,8 @@ trexio_text_read_$group$ (trexio_text_t* 
 
-
-

9 Template for text free memory

+
+

9 Template for text free memory

Memory is allocated when reading. The following function frees memory. @@ -1051,8 +1051,8 @@ This function is called upon the non-successful exit from the trexio_text_

-
-

10 Template for has/read/write a numerical attribute

+
+

10 Template for has/read/write a numerical attribute

trexio_exit_code
@@ -1115,8 +1115,8 @@ This function is called upon the non-successful exit from the trexio_text_
 
-
-

11 Template for has/read/write a dataset of numerical data

+
+

11 Template for has/read/write a dataset of numerical data

The group_dset array is assumed allocated with the appropriate size. @@ -1212,8 +1212,8 @@ The group_dset array is assumed allocated with the appropriate size

-
-

12 Template for has/read/write a dataset of strings

+
+

12 Template for has/read/write a dataset of strings

The group_dset array is assumed allocated with the appropriate size. @@ -1314,8 +1314,8 @@ The group_dset array is assumed allocated with the appropriate size

-
-

13 Template for has/read/write a string attribute

+
+

13 Template for has/read/write a string attribute

trexio_exit_code
@@ -1389,8 +1389,8 @@ The group_dset array is assumed allocated with the appropriate size
 
-
-

14 Template for has/read/write the dataset of sparse data

+
+

14 Template for has/read/write the dataset of sparse data

Each sparse array is stored in a separate .txt file due to the fact that sparse I/O has to be decoupled @@ -1680,8 +1680,8 @@ User provides indices and values of the sparse array as two separate variables.

-
-

15 Template for has/read/write a buffered vector

+
+

15 Template for has/read/write a buffered vector

Each array is stored in a separate .txt file due to the fact that buffered I/O has to be decoupled @@ -1911,8 +1911,8 @@ Size specifies the number of vector elements to be written.

-
-

16 Template for text delete a group (UNSAFE mode)

+
+

16 Template for text delete a group (UNSAFE mode)

trexio_exit_code
@@ -1940,8 +1940,8 @@ Size specifies the number of vector elements to be written.
 
-
-

17 Source code for the determinant part

+
+

17 Source code for the determinant part

Each array is stored in a separate .txt file due to the fact that determinant I/O has to be decoupled @@ -2133,7 +2133,7 @@ Size specifies the number of data items, e.g. determinants.

Author: TREX-CoE

-

Created: 2024-03-15 Fri 16:53

+

Created: 2024-03-22 Fri 14:46

Validate

diff --git a/trex.html b/trex.html index 9f3ee7c..ddb0346 100644 --- a/trex.html +++ b/trex.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + Data stored in TREXIO @@ -346,71 +346,71 @@ for the JavaScript code in this tag.

Table of Contents

@@ -423,8 +423,17 @@ is reversed in the produced trex.json configuration file as the library is written in C.

-
-

1 Metadata (metadata group)

+

+Dimensions are given both in row-major [] and column-major () +formats. Pick the one adapted to the programming language in which +you use TREXIO (Numpy is by default row-major, and Fortran is column-major). +In the column-major representation, A(i,j) and A(i+1,j) are +contiguous in memory. In the row-major representation, A[i,j] and +A[i,j+1] are contiguous. +

+ +
+

1 Metadata (metadata group)

As we expect TREXIO files to be archived in open-data repositories, @@ -434,7 +443,7 @@ have participated to the creation of the file, a list of authors of the file, and a textual description.

- +
@@ -444,13 +453,16 @@ the file, and a textual description. ++ - + + @@ -459,12 +471,14 @@ the file, and a textual description. + + @@ -473,12 +487,14 @@ the file, and a textual description. + + @@ -487,6 +503,7 @@ the file, and a textual description. + @@ -494,6 +511,7 @@ the file, and a textual description. + @@ -501,6 +519,7 @@ the file, and a textual description. + @@ -517,19 +536,19 @@ value can be manually overwritten (in unsafe mode) from 1 to -
-

2 System

+
+

2 System

-
-

2.1 Nucleus (nucleus group)

+
+

2.1 Nucleus (nucleus group)

The nuclei are considered as fixed point charges. Coordinates are given in Cartesian \((x,y,z)\) format.

-
Variable TypeDimensions (for arrays)Row-major DimensionsColumn-major Dimensions Description
code_num dim    Number of codes used to produce the file
code str[metadata.code_num] (metadata.code_num) Names of the codes used
author_num dim    Number of authors of the file
author str[metadata.author_num] (metadata.author_num) Names of the authors of the file
package_version str    TREXIO version used to produce the file
description str    Text describing the content of file
unsafe int    1: true, 0: false
+
@@ -539,14 +558,20 @@ given in Cartesian \((x,y,z)\) format. ++ ++ - + + + @@ -554,57 +579,69 @@ given in Cartesian \((x,y,z)\) format. + + + + - + + + + + + + + +
Variable TypeDimensionsRow-major DimensionsColumn-major Dimensions Description 
num dim    Number of nuclei 
charge float[nucleus.num] (nucleus.num) Charges of the nuclei 
coord float(3,nucleus.num)[nucleus.num, 3](3, nucleus.num) Coordinates of the atoms 
label str[nucleus.num] (nucleus.num) Atom labels 
point_group str    Symmetry point group 
repulsion float    Nuclear repulsion energy 
-
-

2.2 Cell (cell group)

+
+

2.2 Cell (cell group)

3 Lattice vectors to define a box containing the system, for example used in periodic calculations.

- +
@@ -614,13 +651,16 @@ used in periodic calculations. ++ - + + @@ -628,6 +668,7 @@ used in periodic calculations. + @@ -635,6 +676,7 @@ used in periodic calculations. + @@ -642,6 +684,7 @@ used in periodic calculations. + @@ -649,6 +692,7 @@ used in periodic calculations. + @@ -656,6 +700,7 @@ used in periodic calculations. + @@ -663,6 +708,7 @@ used in periodic calculations. + @@ -671,6 +717,7 @@ used in periodic calculations. + @@ -678,15 +725,15 @@ used in periodic calculations. -
-

2.3 Periodic boundary calculations (pbc group)

+
+

2.3 Periodic boundary calculations (pbc group)

A single $k$-point per TREXIO file can be stored. The $k$-point is defined in this group.

-
Variable TypeDimensionsRow-major DimensionsColumn-major Dimensions Description
a float[3] (3) First real space lattice vector
b float[3] (3) Second real space lattice vector
c float[3] (3) Third real space lattice vector
G_a float[3] (3) First reciprocal space lattice vector
G_b float[3] (3) Second reciprocal space lattice vector
G_c float[3] (3) Third reciprocal space lattice vector
two_pi int    0 or 1. If two_pi=1, \(2\pi\) is included in the reciprocal vectors.
+
@@ -696,13 +743,16 @@ defined in this group. ++ - + + @@ -711,12 +761,14 @@ defined in this group. + + @@ -725,8 +777,8 @@ defined in this group. -
-

2.4 Electron (electron group)

+
+

2.4 Electron (electron group)

The chemical system consists of nuclei and electrons, where the @@ -745,7 +797,7 @@ the number of ↑ and ↓ electrons is fixed.

-
Variable TypeDimensionsRow-major DimensionsColumn-major Dimensions Description
periodic int    1: true or 0: false
k_point float[3] (3) $k$-point sampling
+
@@ -755,13 +807,16 @@ the number of ↑ and ↓ electrons is fixed. ++ - + + @@ -770,6 +825,7 @@ the number of ↑ and ↓ electrons is fixed. + @@ -777,6 +833,7 @@ the number of ↑ and ↓ electrons is fixed. + @@ -784,6 +841,7 @@ the number of ↑ and ↓ electrons is fixed. + @@ -791,8 +849,8 @@ the number of ↑ and ↓ electrons is fixed. -
-

2.5 Ground or excited states (state group)

+
+

2.5 Ground or excited states (state group)

This group contains information about excited states. Since only a @@ -809,7 +867,7 @@ integrals, etc. The id and current_label attributes need to be specified for each file.

-
Variable TypeDimensionsRow-major DimensionsColumn-major Dimensions Description
num dim    Number of electrons
up_num int    Number of ↑-spin electrons
dn_num int    Number of ↓-spin electrons
+
@@ -819,13 +877,16 @@ The id and current_label attributes need to be specifi ++ - + + @@ -834,6 +895,7 @@ The id and current_label attributes need to be specifi + @@ -841,6 +903,7 @@ The id and current_label attributes need to be specifi + @@ -848,6 +911,7 @@ The id and current_label attributes need to be specifi + @@ -855,12 +919,14 @@ The id and current_label attributes need to be specifi + + @@ -868,6 +934,7 @@ The id and current_label attributes need to be specifi + @@ -877,19 +944,19 @@ The id and current_label attributes need to be specifi -
-

3 Basis functions

+
+

3 Basis functions

-
-

3.1 Basis set (basis group)

+
+

3.1 Basis set (basis group)

-
-

3.1.1 Gaussian and Slater-type orbitals

+
+

3.1.1 Gaussian and Slater-type orbitals

-We consider here basis functions centered on nuclei. Hence, it is +We consider here basis functions centered on nuclei. Hence, it is possibile to define dummy atoms to place basis functions in arbitrary positions.

@@ -940,13 +1007,13 @@ All the basis set parameters are stored in one-dimensional arrays.
-
-

3.1.2 Numerical orbitals

+
+

3.1.2 Numerical orbitals

Trexio supports numerical atom centered orbitals. The implementation is -based on the approach of FHI-aims [Blum, V. et al; Ab initio molecular -simulations with numeric atom-centered orbitals; Computer Physics +based on the approach of FHI-aims [Blum, V. et al; Ab initio molecular +simulations with numeric atom-centered orbitals; Computer Physics Communications 2009]. These orbitals are defined by the atom they are centered on, their angular momentum and a radial function \(R_s\), which is of the form @@ -957,7 +1024,7 @@ Where \(u_i(\mathbf{r})\) is numerically tabulated on a dense logarithmic grid. It is constructed to vanish for any \(\mathbf{r}\) outside of the grid. The reference points are stored in nao_grid_r and nao_grid_phi. Additionaly, a separate spline for the first and second -derivative of \(u(\mathbf{r})\) can be stored in nao_grid_grad and nao_grid_lap. +derivative of \(u(\mathbf{r})\) can be stored in nao_grid_grad and nao_grid_lap. Storing them in this form allows to calculate the actual first and second derivatives easily as follows:

@@ -999,14 +1066,14 @@ where \] For convenience, this conversion and functions to evaluate the splines are provided with trexio. Since these implementations are not adapted to -a specific software architecture, a programm using these orbitals should +a specific software architecture, a programm using these orbitals should reimplement them with consideration for its specific needs.

-
-

3.1.3 Plane waves

+
+

3.1.3 Plane waves

A plane wave is defined as @@ -1027,10 +1094,10 @@ plane waves.

-
-

3.1.4 Data definitions

+
+

3.1.4 Data definitions

-
Variable TypeDimensionsRow-major DimensionsColumn-major Dimensions Description
num dim    Number of states (including the ground state)
id index    Index of the current state (0 is ground state)
energy float    Energy of the current state
current_label str    Label of the current state
label str[state.num] (state.num) Labels of all states
file_name str[state.num] (state.num) Names of the TREXIO files linked to the current one (i.e. containing data for other states)
+
@@ -1048,9 +1115,9 @@ plane waves. - + + - @@ -1058,200 +1125,200 @@ plane waves. - + - + - + - + - + + - + - + - + - + - + - + - + - + - + - - + + - + - + - + - - + - + + - - + + - - + + -
Variable TypeDimensionsRow-major DimensionsColumn-major Dimensions Description 
type str  Type of basis set: "Gaussian", "Slater", "Numerical" or "PW" for plane waves  Type of basis set: "Gaussian", "Slater", "Numerical" or "PW" for plane waves
prim_num dim  Total number of primitives  Total number of primitives
shell_num dim  Total number of shells  Total number of shells
nao_grid_num dim  Total number of grid points for numerical orbitals  Total number of grid points for numerical orbitals
interp_coeff_cnt dim  Number of coefficients for the numerical orbital interpolator  Number of coefficients for the numerical orbital interpolator
nucleus_index index[basis.shell_num] (basis.shell_num) One-to-one correspondence between shells and atomic indices 
shell_ang_mom int[basis.shell_num] (basis.shell_num) One-to-one correspondence between shells and angular momenta 
shell_factor float[basis.shell_num] (basis.shell_num) Normalization factor of each shell (\(\mathcal{N}_s\)) 
r_power int[basis.shell_num] (basis.shell_num) Power to which \(r\) is raised (\(n_s\)) 
nao_grid_start index[basis.shell_num] (basis.shell_num) Index of the first data point for a given numerical orbital 
nao_grid_size dim[basis.shell_num] (basis.shell_num) Number of data points per numerical orbital 
shell_index index[basis.prim_num] (basis.prim_num) One-to-one correspondence between primitives and shell index 
exponent float[basis.prim_num] (basis.prim_num) Exponents of the primitives (\(\gamma_{ks}\)) 
coefficient float[basis.prim_num] (basis.prim_num) Coefficients of the primitives (\(a_{ks}\)) 
prim_factor float[basis.prim_num] (basis.prim_num) Normalization coefficients for the primitives (\(f_{ks}\)) 
e_cut float  Energy cut-off for plane-wave calculations  Energy cut-off for plane-wave calculations
nao_grid_radius float[basis.nao_grid_num] (basis.nao_grid_num) Radii of grid points for numerical orbitals 
nao_grid_phi float[basis.nao_grid_num] (basis.nao_grid_num) Wave function values for numerical orbitals 
nao_grid_grad float[basis.nao_grid_num] (basis.nao_grid_num) Radial gradient of numerical orbitals 
nao_grid_lap float[basis.nao_grid_num] (basis.nao_grid_num) Laplacian of numerical orbitals 
interpolator_kind str  Kind of spline, e.g. "Polynomial"  Kind of spline, e.g. "Polynomial"
interpolator_phi float(basis.interp_coeff_cnt,basis.nao_grid_num)[basis.nao_grid_num, basis.interp_coeff_cnt](basis.interp_coeff_cnt, basis.nao_grid_num) Coefficients for numerical orbital interpolation function 
interpolator_grad float(basis.interp_coeff_cnt,basis.nao_grid_num)[basis.nao_grid_num, basis.interp_coeff_cnt](basis.interp_coeff_cnt, basis.nao_grid_num) Coefficients for numerical orbital gradient interpolation function 
interpolator_lap float(basis.interp_coeff_cnt,basis.nao_grid_num)[basis.nao_grid_num, basis.interp_coeff_cnt](basis.interp_coeff_cnt, basis.nao_grid_num) Coefficients for numerical orbital laplacian interpolation function 
-
-

3.1.5 Example

+
+

3.1.5 Example

For example, consider H2 with the following basis set (in GAMESS @@ -1329,8 +1396,8 @@ prim_factor =

-
-

3.2 Effective core potentials (ecp group)

+
+

3.2 Effective core potentials (ecp group)

An effective core potential (ECP) \(V_A^{\text{ECP}}\) replacing the @@ -1364,7 +1431,7 @@ where \(Z_\text{eff}\) is the effective nuclear charge of the center. See http://dx.doi.org/10.1063/1.4984046 or https://doi.org/10.1063/1.5121006 for more info.

- +
@@ -1374,13 +1441,16 @@ See http://dx.doi.org/10.1063/1.49 ++ - + + @@ -1388,6 +1458,7 @@ See http://dx.doi.org/10.1063/1.49 + @@ -1395,6 +1466,7 @@ See http://dx.doi.org/10.1063/1.49 + @@ -1403,12 +1475,14 @@ See http://dx.doi.org/10.1063/1.49 + + @@ -1416,6 +1490,7 @@ See http://dx.doi.org/10.1063/1.49 + @@ -1423,6 +1498,7 @@ See http://dx.doi.org/10.1063/1.49 + @@ -1430,6 +1506,7 @@ See http://dx.doi.org/10.1063/1.49 + @@ -1437,6 +1514,7 @@ See http://dx.doi.org/10.1063/1.49 + @@ -1468,8 +1546,8 @@ If you encounter the aforementioned issue, please report it to our

-
Variable TypeDimensionsRow-major DimensionsColumn-major Dimensions Description
max_ang_mom_plus_1 int[nucleus.num] (nucleus.num) \(\ell_{\max}+1\), one higher than the max angular momentum in the removed core orbitals
z_core int[nucleus.num] (nucleus.num) Number of core electrons to remove per atom
num dim    Total number of ECP functions for all atoms and all values of \(\ell\)
ang_mom int[ecp.num] (ecp.num) One-to-one correspondence between ECP items and the angular momentum \(\ell\)
nucleus_index index[ecp.num] (ecp.num) One-to-one correspondence between ECP items and the atom index
exponent float[ecp.num] (ecp.num) \(\alpha_{A q \ell}\) all ECP exponents
coefficient float[ecp.num] (ecp.num) \(\beta_{A q \ell}\) all ECP coefficients
power int[ecp.num] (ecp.num) \(n_{A q \ell}\) all ECP powers
@@ -1558,13 +1636,16 @@ Feel free to submit a PR if you find missing options/functionalities. ++ - + + @@ -1573,6 +1654,7 @@ Feel free to submit a PR if you find missing options/functionalities. + @@ -1580,6 +1662,7 @@ Feel free to submit a PR if you find missing options/functionalities. + @@ -1587,6 +1670,7 @@ Feel free to submit a PR if you find missing options/functionalities. + @@ -1594,6 +1678,7 @@ Feel free to submit a PR if you find missing options/functionalities. + @@ -1601,12 +1686,14 @@ Feel free to submit a PR if you find missing options/functionalities. + + @@ -1614,6 +1701,7 @@ Feel free to submit a PR if you find missing options/functionalities. + @@ -1622,12 +1710,14 @@ Feel free to submit a PR if you find missing options/functionalities. + + @@ -1635,6 +1725,7 @@ Feel free to submit a PR if you find missing options/functionalities. + @@ -1643,12 +1734,14 @@ Feel free to submit a PR if you find missing options/functionalities. + + @@ -1656,6 +1749,7 @@ Feel free to submit a PR if you find missing options/functionalities. + @@ -1665,12 +1759,12 @@ Feel free to submit a PR if you find missing options/functionalities. -
-

4 Orbitals

+
+

4 Orbitals

-
-

4.1 Atomic orbitals (ao group)

+
+

4.1 Atomic orbitals (ao group)

AOs are defined as @@ -1751,7 +1845,7 @@ AO, so the correction factor \(\mathcal{N}_i'\) for \(d_{xy}\) in the

-
Variable TypeDimensionsRow-major DimensionsColumn-major Dimensions Description
description str    Details about the used quadratures can go here
rad_precision float    Radial precision parameter (not used in some schemes like Krack-Köster)
num dim    Number of grid points
max_ang_num int    Maximum number of angular grid points (for pruning)
min_ang_num int    Minimum number of angular grid points (for pruning)
coord float[grid.num] (grid.num) Discretized coordinate space
weight float[grid.num] (grid.num) Grid weights according to a given partitioning (e.g. Becke)
ang_num dim    Number of angular integration points (if used)
ang_coord float[grid.ang_num] (grid.ang_num) Discretized angular space (if used)
ang_weight float[grid.ang_num] (grid.ang_num) Angular grid weights (if used)
rad_num dim    Number of radial integration points (if used)
rad_coord float[grid.rad_num] (grid.rad_num) Discretized radial space (if used)
rad_weight float[grid.rad_num] (grid.rad_num) Radial grid weights (if used)
+
@@ -1761,13 +1855,16 @@ AO, so the correction factor \(\mathcal{N}_i'\) for \(d_{xy}\) in the ++ - + + @@ -1776,6 +1873,7 @@ AO, so the correction factor \(\mathcal{N}_i'\) for \(d_{xy}\) in the + @@ -1783,12 +1881,14 @@ AO, so the correction factor \(\mathcal{N}_i'\) for \(d_{xy}\) in the + + @@ -1796,6 +1896,7 @@ AO, so the correction factor \(\mathcal{N}_i'\) for \(d_{xy}\) in the + @@ -1803,7 +1904,7 @@ AO, so the correction factor \(\mathcal{N}_i'\) for \(d_{xy}\) in the
Variable TypeDimensionsRow-major DimensionsColumn-major Dimensions Description
cartesian int    1: true, 0: false
num dim    Total number of atomic orbitals
shell index[ao.num] (ao.num) Basis set shell for each AO
normalization float[ao.num] (ao.num) Normalization factor \(\mathcal{N}_i\)
-
+

4.1.1 One-electron integrals (ao_1e_int group)

    @@ -1821,7 +1922,7 @@ The one-electron integrals for a one-electron operator \(\hat{O}\) are over atomic orbitals.

    - +
    @@ -1831,13 +1932,16 @@ over atomic orbitals. ++ - + + @@ -1845,6 +1949,7 @@ over atomic orbitals. + @@ -1852,6 +1957,7 @@ over atomic orbitals. + @@ -1859,6 +1965,7 @@ over atomic orbitals. + @@ -1866,6 +1973,7 @@ over atomic orbitals. + @@ -1873,6 +1981,7 @@ over atomic orbitals. + @@ -1880,6 +1989,7 @@ over atomic orbitals. + @@ -1887,6 +1997,7 @@ over atomic orbitals. + @@ -1894,6 +2005,7 @@ over atomic orbitals. + @@ -1901,6 +2013,7 @@ over atomic orbitals. + @@ -1908,6 +2021,7 @@ over atomic orbitals. + @@ -1916,7 +2030,7 @@ over atomic orbitals. -
    +

    4.1.2 Two-electron integrals (ao_2e_int group)

    @@ -1942,7 +2056,7 @@ The Cholesky decomposition of the integrals can also be stored: \]

    -
    Variable TypeDimensionsRow-major DimensionsColumn-major Dimensions Description
    overlap float[ao.num, ao.num] (ao.num, ao.num) \(\langle p \vert q \rangle\)
    kinetic float[ao.num, ao.num] (ao.num, ao.num) \(\langle p \vert \hat{T}_e \vert q \rangle\)
    potential_n_e float[ao.num, ao.num] (ao.num, ao.num) \(\langle p \vert \hat{V}_{\text{ne}} \vert q \rangle\)
    ecp float[ao.num, ao.num] (ao.num, ao.num) \(\langle p \vert \hat{V}_{\text{ecp}} \vert q \rangle\)
    core_hamiltonian float[ao.num, ao.num] (ao.num, ao.num) \(\langle p \vert \hat{h} \vert q \rangle\)
    overlap_im float[ao.num, ao.num] (ao.num, ao.num) \(\langle p \vert q \rangle\) (imaginary part)
    kinetic_im float[ao.num, ao.num] (ao.num, ao.num) \(\langle p \vert \hat{T}_e \vert q \rangle\) (imaginary part)
    potential_n_e_im float[ao.num, ao.num] (ao.num, ao.num) \(\langle p \vert \hat{V}_{\text{ne}} \vert q \rangle\) (imaginary part)
    ecp_im float[ao.num, ao.num] (ao.num, ao.num) \(\langle p \vert \hat{V}_{\text{ECP}} \vert q \rangle\) (imaginary part)
    core_hamiltonian_im float[ao.num, ao.num] (ao.num, ao.num) \(\langle p \vert \hat{h} \vert q \rangle\) (imaginary part)
    +
    @@ -1952,13 +2066,16 @@ The Cholesky decomposition of the integrals can also be stored: ++ - + + @@ -1966,6 +2083,7 @@ The Cholesky decomposition of the integrals can also be stored: + @@ -1973,6 +2091,7 @@ The Cholesky decomposition of the integrals can also be stored: + @@ -1981,12 +2100,14 @@ The Cholesky decomposition of the integrals can also be stored: + + @@ -1995,12 +2116,14 @@ The Cholesky decomposition of the integrals can also be stored: + + @@ -2010,10 +2133,10 @@ The Cholesky decomposition of the integrals can also be stored: -
    -

    4.2 Molecular orbitals (mo group)

    +
    +

    4.2 Molecular orbitals (mo group)

    -
    Variable TypeDimensionsRow-major DimensionsColumn-major Dimensions Description
    eri float sparse[ao.num, ao.num, ao.num, ao.num] (ao.num, ao.num, ao.num, ao.num) Electron repulsion integrals
    eri_lr float sparse[ao.num, ao.num, ao.num, ao.num] (ao.num, ao.num, ao.num, ao.num) Long-range electron repulsion integrals
    eri_cholesky_num dim    Number of Cholesky vectors for ERI
    eri_cholesky float sparse[ao_2e_int.eri_cholesky_num, ao.num, ao.num] (ao.num, ao.num, ao_2e_int.eri_cholesky_num) Cholesky decomposition of the ERI
    eri_lr_cholesky_num dim    Number of Cholesky vectors for long range ERI
    eri_lr_cholesky float sparse[ao_2e_int.eri_lr_cholesky_num, ao.num, ao.num] (ao.num, ao.num, ao_2e_int.eri_lr_cholesky_num) Cholesky decomposition of the long range ERI
    +
    @@ -2023,13 +2146,16 @@ The Cholesky decomposition of the integrals can also be stored: ++ - + + @@ -2038,6 +2164,7 @@ The Cholesky decomposition of the integrals can also be stored: + @@ -2045,12 +2172,14 @@ The Cholesky decomposition of the integrals can also be stored: + + @@ -2058,6 +2187,7 @@ The Cholesky decomposition of the integrals can also be stored: + @@ -2065,6 +2195,7 @@ The Cholesky decomposition of the integrals can also be stored: + @@ -2072,6 +2203,7 @@ The Cholesky decomposition of the integrals can also be stored: + @@ -2079,6 +2211,7 @@ The Cholesky decomposition of the integrals can also be stored: + @@ -2086,6 +2219,7 @@ The Cholesky decomposition of the integrals can also be stored: + @@ -2093,6 +2227,7 @@ The Cholesky decomposition of the integrals can also be stored: + @@ -2100,8 +2235,8 @@ The Cholesky decomposition of the integrals can also be stored:
    Variable TypeDimensionsRow-major DimensionsColumn-major Dimensions Description
    type str    Free text to identify the set of MOs (HF, Natural, Local, CASSCF, etc)
    num dim    Number of MOs
    coefficient float[mo.num, ao.num] (ao.num, mo.num) MO coefficients
    coefficient_im float[mo.num, ao.num] (ao.num, mo.num) MO coefficients (imaginary part)
    class str[mo.num] (mo.num) Choose among: Core, Inactive, Active, Virtual, Deleted
    symmetry str[mo.num] (mo.num) Symmetry in the point group
    occupation float[mo.num] (mo.num) Occupation number
    energy float[mo.num] (mo.num) For canonical MOs, corresponding eigenvalue
    spin int[mo.num] (mo.num) For UHF wave functions, 0 is \(\alpha\) and 1 is \(\beta\)
-
-

4.2.1 One-electron integrals (mo_1e_int group)

+
+

4.2.1 One-electron integrals (mo_1e_int group)

The operators as the same as those defined in the @@ -2109,7 +2244,7 @@ The operators as the same as those defined in the the basis of molecular orbitals.

- +
@@ -2119,13 +2254,16 @@ the basis of molecular orbitals. ++ - + + @@ -2133,6 +2271,7 @@ the basis of molecular orbitals. + @@ -2140,6 +2279,7 @@ the basis of molecular orbitals. + @@ -2147,6 +2287,7 @@ the basis of molecular orbitals. + @@ -2154,6 +2295,7 @@ the basis of molecular orbitals. + @@ -2161,6 +2303,7 @@ the basis of molecular orbitals. + @@ -2168,6 +2311,7 @@ the basis of molecular orbitals. + @@ -2175,6 +2319,7 @@ the basis of molecular orbitals. + @@ -2182,6 +2327,7 @@ the basis of molecular orbitals. + @@ -2189,6 +2335,7 @@ the basis of molecular orbitals. + @@ -2196,6 +2343,7 @@ the basis of molecular orbitals. + @@ -2204,8 +2352,8 @@ the basis of molecular orbitals. -
-

4.2.2 Two-electron integrals (mo_2e_int group)

+
+

4.2.2 Two-electron integrals (mo_2e_int group)

The operators are the same as those defined in the @@ -2213,7 +2361,7 @@ The operators are the same as those defined in the the basis of molecular orbitals.

-
Variable TypeDimensionsRow-major DimensionsColumn-major Dimensions Description
overlap float[mo.num, mo.num] (mo.num, mo.num) \(\langle i \vert j \rangle\)
kinetic float[mo.num, mo.num] (mo.num, mo.num) \(\langle i \vert \hat{T}_e \vert j \rangle\)
potential_n_e float[mo.num, mo.num] (mo.num, mo.num) \(\langle i \vert \hat{V}_{\text{ne}} \vert j \rangle\)
ecp float[mo.num, mo.num] (mo.num, mo.num) \(\langle i \vert \hat{V}_{\text{ECP}} \vert j \rangle\)
core_hamiltonian float[mo.num, mo.num] (mo.num, mo.num) \(\langle i \vert \hat{h} \vert j \rangle\)
overlap_im float[mo.num, mo.num] (mo.num, mo.num) \(\langle i \vert j \rangle\) (imaginary part)
kinetic_im float[mo.num, mo.num] (mo.num, mo.num) \(\langle i \vert \hat{T}_e \vert j \rangle\) (imaginary part)
potential_n_e_im float[mo.num, mo.num] (mo.num, mo.num) \(\langle i \vert \hat{V}_{\text{ne}} \vert j \rangle\) (imaginary part)
ecp_im float[mo.num, mo.num] (mo.num, mo.num) \(\langle i \vert \hat{V}_{\text{ECP}} \vert j \rangle\) (imaginary part)
core_hamiltonian_im float[mo.num, mo.num] (mo.num, mo.num) \(\langle i \vert \hat{h} \vert j \rangle\) (imaginary part)
+
@@ -2223,13 +2371,16 @@ the basis of molecular orbitals. ++ - + + @@ -2237,6 +2388,7 @@ the basis of molecular orbitals. + @@ -2244,6 +2396,7 @@ the basis of molecular orbitals. + @@ -2252,12 +2405,14 @@ the basis of molecular orbitals. + + @@ -2266,12 +2421,14 @@ the basis of molecular orbitals. + + @@ -2282,12 +2439,12 @@ the basis of molecular orbitals. -
-

5 Multi-determinant information

+
+

5 Multi-determinant information

-
-

5.1 Slater determinants (determinant group)

+
+

5.1 Slater determinants (determinant group)

The configuration interaction (CI) wave function \(\Psi\) @@ -2329,7 +2486,7 @@ produced by the code generator. An illustration on how to read determinants is presented in the examples.

-
Variable TypeDimensionsRow-major DimensionsColumn-major Dimensions Description
eri float sparse[mo.num, mo.num, mo.num, mo.num] (mo.num, mo.num, mo.num, mo.num) Electron repulsion integrals
eri_lr float sparse[mo.num, mo.num, mo.num, mo.num] (mo.num, mo.num, mo.num, mo.num) Long-range electron repulsion integrals
eri_cholesky_num dim    Number of Cholesky vectors for ERI
eri_cholesky float sparse[mo_2e_int.eri_cholesky_num, mo.num, mo.num] (mo.num, mo.num, mo_2e_int.eri_cholesky_num) Cholesky decomposition of the ERI
eri_lr_cholesky_num dim    Number of Cholesky vectors for long range ERI
eri_lr_cholesky float sparse[mo_2e_int.eri_lr_cholesky_num, mo.num, mo.num] (mo.num, mo.num, mo_2e_int.eri_lr_cholesky_num) Cholesky decomposition of the long range ERI
+
@@ -2339,13 +2496,16 @@ An illustration on how to read determinants is presented in the ++ - + + @@ -2354,12 +2514,14 @@ An illustration on how to read determinants is presented in the num + + @@ -2367,6 +2529,7 @@ An illustration on how to read determinants is presented in the coefficient + @@ -2375,8 +2538,8 @@ An illustration on how to read determinants is presented in the -

5.2 Configuration state functions (csf group)

+
+

5.2 Configuration state functions (csf group)

The configuration interaction (CI) wave function \(\Psi\) can be @@ -2398,7 +2561,7 @@ matrix \(\langle D_I | \psi_J \rangle\) needed to project the CSFs in the basis of Slater determinants.

-
Variable TypeDimensionsRow-major DimensionsColumn-major Dimensions Description
dim readonly    Number of determinants
list int special[determinant.num] (determinant.num) List of determinants as integer bit fields
float buffered[determinant.num] (determinant.num) Coefficients of the determinants from the CI expansion
+
@@ -2408,13 +2571,16 @@ the basis of Slater determinants. ++ - + + @@ -2423,12 +2589,14 @@ the basis of Slater determinants. + + @@ -2436,7 +2604,8 @@ the basis of Slater determinants. - + + @@ -2444,8 +2613,8 @@ the basis of Slater determinants. -
-

5.3 Amplitudes (amplitude group)

+
+

5.3 Amplitudes (amplitude group)

The wave function may be expressed in terms of action of the cluster @@ -2516,7 +2685,7 @@ The order of the indices is chosen such that

  • \(\dots\)
  • -
    Variable TypeDimensionsRow-major DimensionsColumn-major Dimensions Description
    num dim readonly    Number of CSFs
    coefficient float buffered[csf.num] (csf.num) Coefficients \(C_I\) of the CSF expansion
    det_coefficient float sparse(determinant.num,csf.num)[csf.num, determinant.num](determinant.num, csf.num) Projection on the determinant basis
    +
    @@ -2526,13 +2695,16 @@ The order of the indices is chosen such that ++ - + + @@ -2540,6 +2712,7 @@ The order of the indices is chosen such that + @@ -2547,6 +2720,7 @@ The order of the indices is chosen such that + @@ -2554,6 +2728,7 @@ The order of the indices is chosen such that + @@ -2561,6 +2736,7 @@ The order of the indices is chosen such that + @@ -2568,6 +2744,7 @@ The order of the indices is chosen such that + @@ -2575,6 +2752,7 @@ The order of the indices is chosen such that + @@ -2582,6 +2760,7 @@ The order of the indices is chosen such that + @@ -2589,6 +2768,7 @@ The order of the indices is chosen such that + @@ -2597,8 +2777,8 @@ The order of the indices is chosen such that -
    -

    5.4 Reduced density matrices (rdm group)

    +
    +

    5.4 Reduced density matrices (rdm group)

    The reduced density matrices are defined in the basis of molecular @@ -2629,7 +2809,7 @@ The \(\uparrow \uparrow\), \(\downarrow \downarrow\), \(\uparrow \downarrow\) c \Gamma_{ijkl}^{\downarrow \downarrow} &=& \langle \Psi | \hat{a}^{\dagger}_{k\beta}\, \hat{a}^{\dagger}_{l\beta} \hat{a}_{j\beta}\, \hat{a}_{i\beta} | \Psi \rangle \\ \Gamma_{ijkl}^{\uparrow \downarrow} &=& - \langle \Psi | \hat{a}^{\dagger}_{k\alpha}\, \hat{a}^{\dagger}_{l\beta} \hat{a}_{j\beta}\, \hat{a}_{i\alpha} | \Psi \rangle + \langle \Psi | \hat{a}^{\dagger}_{k\alpha}\, \hat{a}^{\dagger}_{l\beta} \hat{a}_{j\beta}\, \hat{a}_{i\alpha} | \Psi \rangle + \langle \Psi | \hat{a}^{\dagger}_{l\alpha}\, \hat{a}^{\dagger}_{k\beta} \hat{a}_{i\beta}\, \hat{a}_{j\alpha} | \Psi \rangle \\ \end{eqnarray*}

    @@ -2670,7 +2850,7 @@ expressed in a basis of a one-electron function \(g_{ik}(\mathbf{r}_1) = \phi_i(\mathbf{r}_1) \phi_k(\mathbf{r}_1)\).

    -
    Variable TypeDimensionsRow-major DimensionsColumn-major Dimensions Description
    single float sparse[mo.num,mo.num] (mo.num,mo.num) Single excitation amplitudes
    single_exp float sparse[mo.num,mo.num] (mo.num,mo.num) Exponentialized single excitation amplitudes
    double float sparse[mo.num,mo.num,mo.num,mo.num] (mo.num,mo.num,mo.num,mo.num) Double excitation amplitudes
    double_exp float sparse[mo.num,mo.num,mo.num,mo.num] (mo.num,mo.num,mo.num,mo.num) Exponentialized double excitation amplitudes
    triple float sparse[mo.num,mo.num,mo.num,mo.num,mo.num,mo.num] (mo.num,mo.num,mo.num,mo.num,mo.num,mo.num) Triple excitation amplitudes
    triple_exp float sparse[mo.num,mo.num,mo.num,mo.num,mo.num,mo.num] (mo.num,mo.num,mo.num,mo.num,mo.num,mo.num) Exponentialized triple excitation amplitudes
    quadruple float sparse[mo.num,mo.num,mo.num,mo.num,mo.num,mo.num,mo.num,mo.num] (mo.num,mo.num,mo.num,mo.num,mo.num,mo.num,mo.num,mo.num) Quadruple excitation amplitudes
    quadruple_exp float sparse[mo.num,mo.num,mo.num,mo.num,mo.num,mo.num,mo.num,mo.num] (mo.num,mo.num,mo.num,mo.num,mo.num,mo.num,mo.num,mo.num) Exponentialized quadruple excitation amplitudes
    +
    @@ -2680,13 +2860,16 @@ expressed in a basis of a one-electron function ++ - + + @@ -2694,6 +2877,7 @@ expressed in a basis of a one-electron function + @@ -2701,6 +2885,7 @@ expressed in a basis of a one-electron function + @@ -2708,6 +2893,7 @@ expressed in a basis of a one-electron function + @@ -2715,13 +2901,15 @@ expressed in a basis of a one-electron function - + + + @@ -2729,6 +2917,7 @@ expressed in a basis of a one-electron function + @@ -2736,6 +2925,7 @@ expressed in a basis of a one-electron function + @@ -2743,6 +2933,7 @@ expressed in a basis of a one-electron function + @@ -2750,7 +2941,8 @@ expressed in a basis of a one-electron function - + + @@ -2758,12 +2950,14 @@ expressed in a basis of a one-electron function + + @@ -2772,12 +2966,14 @@ expressed in a basis of a one-electron function + + @@ -2786,12 +2982,14 @@ expressed in a basis of a one-electron function + + @@ -2800,12 +2998,14 @@ expressed in a basis of a one-electron function + + @@ -2815,12 +3015,12 @@ expressed in a basis of a one-electron function -
    Variable TypeDimensionsRow-major DimensionsColumn-major Dimensions Description
    1e float[mo.num, mo.num] (mo.num, mo.num) One body density matrix
    1e_up float[mo.num, mo.num] (mo.num, mo.num) ↑-spin component of the one body density matrix
    1e_dn float[mo.num, mo.num] (mo.num, mo.num) ↓-spin component of the one body density matrix
    1e_transition float~(mo.num, mo.num, state.num, state.num)[state.num, state.num, mo.num, mo.num](mo.num, mo.num, state.num, state.num) One-particle transition density matrices
    2e float sparse[mo.num, mo.num, mo.num, mo.num] (mo.num, mo.num, mo.num, mo.num) Two-body reduced density matrix (spin trace)
    2e_upup float sparse[mo.num, mo.num, mo.num, mo.num] (mo.num, mo.num, mo.num, mo.num) ↑↑ component of the two-body reduced density matrix
    2e_dndn float sparse[mo.num, mo.num, mo.num, mo.num] (mo.num, mo.num, mo.num, mo.num) ↓↓ component of the two-body reduced density matrix
    2e_updn float sparse[mo.num, mo.num, mo.num, mo.num] (mo.num, mo.num, mo.num, mo.num) ↑↓ component of the two-body reduced density matrix
    2e_transition float sparse~(mo.num, mo.num, mo.num, mo.num, state.num, state.num)[state.num, state.num, mo.num, mo.num, mo.num, mo.num](mo.num, mo.num, mo.num, mo.num, state.num, state.num) Two-particle transition density matrices
    2e_cholesky_num dim    Number of Cholesky vectors
    2e_cholesky float sparse[rdm.2e_cholesky_num, mo.num, mo.num] (mo.num, mo.num, rdm.2e_cholesky_num) Cholesky decomposition of the two-body RDM (spin trace)
    2e_upup_cholesky_num dim    Number of Cholesky vectors
    2e_upup_cholesky float sparse[rdm.2e_upup_cholesky_num, mo.num, mo.num] (mo.num, mo.num, rdm.2e_upup_cholesky_num) Cholesky decomposition of the two-body RDM (↑↑)
    2e_dndn_cholesky_num dim    Number of Cholesky vectors
    2e_dndn_cholesky float sparse[rdm.2e_dndn_cholesky_num, mo.num, mo.num] (mo.num, mo.num, rdm.2e_dndn_cholesky_num) Cholesky decomposition of the two-body RDM (↓↓)
    2e_updn_cholesky_num dim    Number of Cholesky vectors
    2e_updn_cholesky float sparse[rdm.2e_updn_cholesky_num, mo.num, mo.num] (mo.num, mo.num, rdm.2e_updn_cholesky_num) Cholesky decomposition of the two-body RDM (↑↓)
    +
    @@ -3058,13 +3258,16 @@ The parameter \(\mu\) is stored in the ee array, the parameters ++ - + + @@ -3073,6 +3276,7 @@ The parameter \(\mu\) is stored in the ee array, the parameters + @@ -3080,6 +3284,7 @@ The parameter \(\mu\) is stored in the ee array, the parameters + @@ -3087,6 +3292,7 @@ The parameter \(\mu\) is stored in the ee array, the parameters + @@ -3094,12 +3300,14 @@ The parameter \(\mu\) is stored in the ee array, the parameters + + @@ -3107,6 +3315,7 @@ The parameter \(\mu\) is stored in the ee array, the parameters + @@ -3114,6 +3323,7 @@ The parameter \(\mu\) is stored in the ee array, the parameters + @@ -3121,6 +3331,7 @@ The parameter \(\mu\) is stored in the ee array, the parameters + @@ -3128,6 +3339,7 @@ The parameter \(\mu\) is stored in the ee array, the parameters + @@ -3136,12 +3348,14 @@ The parameter \(\mu\) is stored in the ee array, the parameters + + @@ -3152,8 +3366,8 @@ The parameter \(\mu\) is stored in the ee array, the parameters -
    -

    7 Quantum Monte Carlo data (qmc group)

    +
    +

    7 Quantum Monte Carlo data (qmc group)

    In quantum Monte Carlo calculations, the wave function is evaluated @@ -3167,7 +3381,7 @@ By convention, the electron coordinates contain first all the electrons of $↑$-spin and then all the $↓$-spin.

    -
    Variable TypeDimensionsRow-major DimensionsColumn-major Dimensions Description
    type str    Type of Jastrow factor: CHAMP or Mu
    en_num dim    Number of Electron-nucleus parameters
    ee_num dim    Number of Electron-electron parameters
    een_num dim    Number of Electron-electron-nucleus parameters
    en float[jastrow.en_num] (jastrow.en_num) Electron-nucleus parameters
    ee float[jastrow.ee_num] (jastrow.ee_num) Electron-electron parameters
    een float[jastrow.een_num] (jastrow.een_num) Electron-electron-nucleus parameters
    en_nucleus index[jastrow.en_num] (jastrow.en_num) Nucleus relative to the eN parameter
    een_nucleus index[jastrow.een_num] (jastrow.een_num) Nucleus relative to the eeN parameter
    ee_scaling float    \(\kappa\) value in CHAMP Jastrow for electron-electron distances
    en_scaling float[nucleus.num] (nucleus.num) \(\kappa\) value in CHAMP Jastrow for electron-nucleus distances
    +
    @@ -3177,13 +3391,16 @@ of $↑$-spin and then all the $↓$-spin. ++ - + + @@ -3192,12 +3409,14 @@ of $↑$-spin and then all the $↓$-spin. + + @@ -3205,6 +3424,7 @@ of $↑$-spin and then all the $↓$-spin. + @@ -3212,6 +3432,7 @@ of $↑$-spin and then all the $↓$-spin. + @@ -3222,7 +3443,7 @@ of $↑$-spin and then all the $↓$-spin.
    Variable TypeDimensionsRow-major DimensionsColumn-major Dimensions Description
    num dim    Number of 3N-dimensional points
    point float[qmc.num, electron.num, 3] (3, electron.num, qmc.num) 3N-dimensional points
    psi float[qmc.num] (qmc.num) Wave function evaluated at the points
    e_loc float[qmc.num] (qmc.num) Local energy evaluated at the points