From 4703e52b992685cf714d9ea3e261ccfaa1d8c5fc Mon Sep 17 00:00:00 2001 From: scemama Date: Wed, 13 Oct 2021 15:44:31 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20TREX-CoE?= =?UTF-8?q?/trexio@5cf12131f1433f47643041cfbfcd14ffd8f0108b=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.html | 4 +- Sparse.html | 16 +- index.html | 4 +- templator_front.html | 380 +++++++++++++++++++++---------------------- templator_hdf5.html | 52 +++--- templator_text.html | 162 ++++++++++-------- trex.html | 104 ++++++------ 7 files changed, 376 insertions(+), 346 deletions(-) diff --git a/README.html b/README.html index 23a2580..35c2676 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 @@ -343,7 +343,7 @@ and bug reports should be submitted at

Author: TREX-CoE

-

Created: 2021-10-13 Wed 12:26

+

Created: 2021-10-13 Wed 15:44

Validate

diff --git a/Sparse.html b/Sparse.html index cd4e1d9..a819a7e 100644 --- a/Sparse.html +++ b/Sparse.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + @@ -232,8 +232,8 @@ for the JavaScript code in this tag.

Table of Contents

@@ -241,8 +241,8 @@ for the JavaScript code in this tag. See templatorfront.org

-
-

1 Text back end

+
+

1 Text back end

As the size of the dataset should be extensible, the simplest @@ -256,8 +256,8 @@ The offset can be used with fseek(69L*offset, SEEK_SET)

-
-

2 HDF5 Back end

+
+

2 HDF5 Back end

We need to declare the number of rows of the dataset as @@ -278,7 +278,7 @@ If the offset+num > nmax, we need to extend the dataset.

-

Created: 2021-10-13 Wed 12:26

+

Created: 2021-10-13 Wed 15:44

Validate

diff --git a/index.html b/index.html index 23a2580..35c2676 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 @@ -343,7 +343,7 @@ and bug reports should be submitted at

Author: TREX-CoE

-

Created: 2021-10-13 Wed 12:26

+

Created: 2021-10-13 Wed 15:44

Validate

diff --git a/templator_front.html b/templator_front.html index 060dda0..879369b 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 @@ -333,125 +333,125 @@ 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
  • @@ -466,8 +466,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 @@ -502,8 +502,8 @@ The maximum string size for the filenames is 4096 characters.

-
-

2 Front end

+
+

2 Front end

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

-
-

2.1 Error handling

+
+

2.1 Error handling

- +
@@ -736,8 +736,8 @@ TREXIO front end is modular, which simplifies implementation of new back ends. -
-

2.1.1 Decoding errors

+
+

2.1.1 Decoding errors

The trexio_string_of_error converts an exit code into a string. The @@ -760,8 +760,8 @@ The text strings are extracted from the previous table.

-
-
2.1.1.1 C source code
+
+
2.1.1.1 C source code
const char*
@@ -866,8 +866,8 @@ The text strings are extracted from the previous table.
 
-
-
2.1.1.2 Fortran interface
+
+
2.1.1.2 Fortran interface
interface
@@ -883,8 +883,8 @@ The text strings are extracted from the previous table.
 
-
-
2.1.1.3 Python interface
+
+
2.1.1.3 Python interface
class Error(Exception):
@@ -923,8 +923,8 @@ The text strings are extracted from the previous table.
 
-
-

2.2 Back ends

+
+

2.2 Back ends

TREXIO has several back ends: @@ -948,8 +948,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;
@@ -965,8 +965,8 @@ lines that correspond to the TREXIO_JSON back end (not implemented
 
-
-

2.2.2 Fortran

+
+

2.2.2 Fortran

  integer(trexio_backend), parameter :: TREXIO_HDF5 = 0
@@ -978,8 +978,8 @@ lines that correspond to the TREXIO_JSON back end (not implemented
 
-
-

2.2.3 Python

+
+

2.2.3 Python

# define TREXIO back ends
@@ -993,8 +993,8 @@ lines that correspond to the TREXIO_JSON back end (not implemented
 
-
-

2.3 Read/write behavior

+
+

2.3 Read/write behavior

Every time a reading function is called, the data is read from the @@ -1022,8 +1022,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 @@ -1057,8 +1057,8 @@ TREXIO files will have as a first argument the TREXIO file handle.

-
-

2.4.1 TREXIOFile Python class

+
+

2.4.1 TREXIOFile Python class

class File:
@@ -1131,8 +1131,8 @@ TREXIO files will have as a first argument the TREXIO file handle.
 
-
-

2.5 Polymorphism of the file handle

+
+

2.5 Polymorphism of the file handle

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

-
-

2.6 File opening

+
+

2.6 File opening

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

-
-

2.6.1 C

+
+

2.6.1 C

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

2.6.2 Fortran

+
+

2.6.2 Fortran

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

2.6.3 Python

+
+

2.6.3 Python

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

2.6.4 Zero-based versus one-based arrays of indices

+
+

2.6.4 Zero-based versus one-based arrays of indices

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

-
-

2.7 File closing

+
+

2.7 File closing

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

-
-

2.7.1 C

+
+

2.7.1 C

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

2.7.2 Fortran

+
+

2.7.2 Fortran

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

2.7.3 Python

+
+

2.7.3 Python

def close(trexio_file):
@@ -1589,12 +1589,12 @@ output:
 
-
-

3 Templates for front end

+
+

3 Templates for front end

-
-

3.1 Description

+
+

3.1 Description

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

-
-

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

+
+

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

-
-

3.2.1 Introduction

+
+

3.2.1 Introduction

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

-
-

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 @@ -1906,12 +1906,12 @@ precision (see Table above).

-
-
3.2.2.1 Function declarations
+
+
3.2.2.1 Function declarations
-
-
3.2.2.2 Source code for double precision functions
+
+
3.2.2.2 Source code for double precision functions
trexio_exit_code
@@ -1972,8 +1972,8 @@ precision (see Table above).
 
-
-
3.2.2.3 Source code for single precision functions
+
+
3.2.2.3 Source code for single precision functions
trexio_exit_code
@@ -2041,8 +2041,8 @@ precision (see Table above).
 
-
-
3.2.2.4 Source code for default functions
+
+
3.2.2.4 Source code for default functions
trexio_exit_code
@@ -2095,8 +2095,8 @@ precision (see Table above).
 
-
-

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. @@ -2181,8 +2181,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 write_$group_num$(trexio_file, num_w: $group_num_py_dtype$) -> None: 
@@ -2267,12 +2267,12 @@ These templates are based on the use of iso_c_binding. Pointers hav
 
-
-

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

+
+

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

-
-

3.3.1 Introduction

+
+

3.3.1 Introduction

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

-
-

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 functions can be found below. @@ -2366,13 +2366,13 @@ The basic (non-suffixed) API call on datasets deals with double precision (see T

-
-
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
@@ -2500,8 +2500,8 @@ The basic (non-suffixed) API call on datasets deals with double precision (see T
 
-
-
3.3.2.3 Source code for single precision functions
+
+
3.3.2.3 Source code for single precision functions
trexio_exit_code
@@ -2642,11 +2642,11 @@ The basic (non-suffixed) API call on datasets deals with double precision (see T
 
-
-
3.3.2.4 Source code for memory-safe functions
+
+
3.3.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 */
@@ -2802,8 +2802,8 @@ rc = trexio_read_$group_dset_dim$_64(file, &($group_dset_dim$));
 
-
-
3.3.2.5 Source code for default functions
+
+
3.3.2.5 Source code for default functions
trexio_exit_code
@@ -2877,8 +2877,8 @@ rc = trexio_read_$group_dset_dim$_64(file, &($group_dset_dim$));
 
-
-

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. @@ -2963,8 +2963,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_dset$(trexio_file, dset_w) -> None: 
@@ -3159,8 +3159,8 @@ These templates are based on the use of iso_c_binding. Pointers hav
 
-
-

3.4 Sparse data structures

+
+

3.4 Sparse data structures

Sparse data structures are used typically for large tensors such as @@ -3301,12 +3301,12 @@ For the values,

-
-

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

+
+

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

-
-

3.5.1 Introduction

+
+

3.5.1 Introduction

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

-
-

3.5.2 C templates for front end

+
+

3.5.2 C templates for front end

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

-
-
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
@@ -3602,8 +3602,8 @@ to/from the TREXIO file (except for trexio_has_ functi
 
-
-

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. @@ -3699,8 +3699,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, dset_w: list) -> None: 
@@ -3816,12 +3816,12 @@ These templates are based on the use of iso_c_binding. Pointers hav
 
-
-

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

+
+

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

-
-

3.6.1 Introduction

+
+

3.6.1 Introduction

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

-
-

3.6.2 C templates for front end

+
+

3.6.2 C templates for front end

-
-
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
@@ -3970,8 +3970,8 @@ This section concerns API calls related to string attributes.
 
-
-

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. @@ -4048,8 +4048,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_str$(trexio_file, str_w: str) -> None: 
@@ -4139,8 +4139,8 @@ These templates are based on the use of iso_c_binding. Pointers hav
 
-
-

4 Fortran helper/wrapper functions

+
+

4 Fortran helper/wrapper functions

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

Author: TREX-CoE

-

Created: 2021-10-13 Wed 12:26

+

Created: 2021-10-13 Wed 15:44

Validate

diff --git a/templator_hdf5.html b/templator_hdf5.html index 13242d8..e439648 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 @@ -311,27 +311,27 @@ for the JavaScript code in this tag.

Table of Contents

-
-

1 HDF5 back end

+
+

1 HDF5 back end

-
-

1.1 Template for HDF5 definitions

+
+

1.1 Template for HDF5 definitions

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

1.2 Template for HDF5 structures

+
+

1.2 Template for HDF5 structures

typedef struct trexio_hdf5_s {
@@ -358,8 +358,8 @@ for the JavaScript code in this tag.
 
-
-

1.3 Template for HDF5 init/deinit

+
+

1.3 Template for HDF5 init/deinit

trexio_exit_code
@@ -439,8 +439,8 @@ for the JavaScript code in this tag.
 
-
-

1.4 Template for HDF5 has/read/write the numerical attribute

+
+

1.4 Template for HDF5 has/read/write the numerical attribute

trexio_exit_code
@@ -534,8 +534,8 @@ for the JavaScript code in this tag.
 
-
-

1.5 Template for HDF5 has/read/write the dataset of numerical data

+
+

1.5 Template for HDF5 has/read/write the dataset of numerical data

trexio_exit_code
@@ -658,8 +658,8 @@ for the JavaScript code in this tag.
 
-
-

1.6 Template for HDF5 has/read/write the dataset of strings

+
+

1.6 Template for HDF5 has/read/write the dataset of strings

trexio_exit_code
@@ -864,8 +864,8 @@ for the JavaScript code in this tag.
 
-
-

1.7 Template for HDF5 has/read/write the string attribute

+
+

1.7 Template for HDF5 has/read/write the string attribute

trexio_exit_code
@@ -992,7 +992,7 @@ for the JavaScript code in this tag.
 

Author: TREX-CoE

-

Created: 2021-10-13 Wed 12:26

+

Created: 2021-10-13 Wed 15:44

Validate

diff --git a/templator_text.html b/templator_text.html index 867efca..db64dd9 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 @@ -311,26 +311,26 @@ for the JavaScript code in this tag.

Table of Contents

-
-

1 TEXT back end

+
+

1 TEXT back end

The "file" produced by the text back end is a directory with one @@ -361,8 +361,8 @@ The file is written when closed, or when the flush function is called.

-
-

1.1 Template for group-related structures in text back end

+
+

1.1 Template for group-related structures in text back end

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

1.2 Template for general structure in text back end

+
+

1.2 Template for general structure in text back end

typedef struct rdm_s {
@@ -408,8 +408,8 @@ The file is written when closed, or when the flush function is called.
 
-
-

1.3 Initialize function (constant part)

+
+

1.3 Initialize function (constant part)

trexio_exit_code
@@ -426,13 +426,26 @@ The file is written when closed, or when the flush function is called.
   /* If directory doesn't exist, create it in write mode */
   struct stat st;
 
-  if (stat(file->file_name, &st) == 0 && S_ISDIR(st.st_mode)) {
-    /* Do nothing */
-  } else {
-    if (file->mode == 'r') return TREXIO_READONLY;
+  int rc = stat(file->file_name, &st);
 
-    if (mkdir(file->file_name, 0777) != 0) {
-      return TREXIO_FAILURE;
+  bool file_exists = rc == 0;
+
+  if (file_exists) {
+
+    bool is_a_directory = st.st_mode & S_IFDIR;
+    if (!is_a_directory) {
+      return TREXIO_FILE_ERROR;
+    }
+
+  } else {
+
+    if (file->mode == 'r') {
+      return TREXIO_READONLY;
+    }
+
+    rc = mkdir(file->file_name, 0777);
+    if (rc != 0) {
+      return TREXIO_ERRNO;
     }
   }
 
@@ -451,7 +464,24 @@ The file is written when closed, or when the flush function is called.
   f->lock_file = open(file_name,O_WRONLY|O_CREAT|O_TRUNC, 0644);
 
   if (f->lock_file <= 0) {
-    return TREXIO_FAILURE;
+    if (file->mode != 'r') {
+      return TREXIO_ERRNO;
+    } else {
+      if (errno == EACCES) {
+        /* The directory is read-only and the lock file can't be written.
+          Create a dummy temporary file for dummy locking.
+        */
+        char dirname[TREXIO_MAX_FILENAME_LENGTH] = "/tmp/trexio.XXXXXX";
+        mkdtemp(dirname);
+        strncpy (file_name, dirname, TREXIO_MAX_FILENAME_LENGTH);
+        strncat (file_name, lock_file_name, TREXIO_MAX_FILENAME_LENGTH-strlen(lock_file_name));
+        f->lock_file = open(file_name,O_WRONLY|O_CREAT|O_TRUNC, 0644);
+        remove(file_name);
+        rmdir(dirname);
+      } else {
+        return TREXIO_ERRNO;
+      }
+    }
   }
 
   return TREXIO_SUCCESS;
@@ -510,8 +540,8 @@ The file is written when closed, or when the flush function is called.
 
-
-

1.4 Deinitialize function (templated part)

+
+

1.4 Deinitialize function (templated part)

trexio_exit_code
@@ -536,8 +566,8 @@ The file is written when closed, or when the flush function is called.
 
-
-

1.5 Template for text read struct

+
+

1.5 Template for text read struct

$group$_t*
@@ -657,7 +687,7 @@ trexio_text_read_$group$ (trexio_text_t* return NULL;
     }
 
-    if ($group$->$group_num$_isSet == true) { 
+    if ($group$->$group_num$_isSet == true) {
       rc = fscanf(f, "%1023s", buffer);
       assert(!((rc != 1) || (strcmp(buffer, "$group_num$") != 0)));
       if ((rc != 1) || (strcmp(buffer, "$group_num$") != 0)) {
@@ -798,7 +828,7 @@ trexio_text_read_$group$ (trexio_text_t* for (uint64_t i=0 ; i<size_$group_dset$ ; ++i) {
         $group$->$group_dset$[i] = tmp_$group_dset$;
-        /* conventional fcanf with "%s" only return the string before the first space character 
+        /* conventional fcanf with "%s" only return the string before the first space character
          * to read string with spaces use "%[^\n]" possible with space before or after, i.e. " %[^\n]"
          * Q: depending on what ? */
         rc = fscanf(f, " %1023[^\n]", tmp_$group_dset$);
@@ -831,8 +861,8 @@ trexio_text_read_$group$ (trexio_text_t* 
 
-
-

1.6 Template for text flush struct

+
+

1.6 Template for text flush struct

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

1.7 Template for text free memory

+
+

1.7 Template for text free memory

Memory is allocated when reading. The following function frees memory. @@ -943,8 +973,8 @@ Memory is allocated when reading. The following function frees memory.

-
-

1.8 Template for has/read/write the numerical attribute

+
+

1.8 Template for has/read/write the numerical attribute

trexio_exit_code
@@ -1007,8 +1037,8 @@ Memory is allocated when reading. The following function frees memory.
 
-
-

1.9 Template for has/read/write the dataset of numerical data

+
+

1.9 Template for has/read/write the dataset of numerical data

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

-
-

1.10 Template for has/read/write the dataset of strings

+
+

1.10 Template for has/read/write the dataset of strings

The group_dset array is assumed allocated with the appropriate size. @@ -1174,7 +1204,7 @@ The group_dset array is assumed allocated with the appropriate size size_t tmp_len = strlen(dset[i]); $group$->$group_dset$[i] = tmp_str; strncpy(tmp_str, dset[i], tmp_len); - tmp_str += tmp_len + 1; + tmp_str += tmp_len + 1; } $group$->to_flush = 1; @@ -1206,8 +1236,8 @@ The group_dset array is assumed allocated with the appropriate size

-
-

1.11 Template for has/read/write the string attribute

+
+

1.11 Template for has/read/write the string attribute

trexio_exit_code
@@ -1281,12 +1311,12 @@ The group_dset array is assumed allocated with the appropriate size
 
-
-

1.12 RDM struct (hard-coded)

+
+

1.12 RDM struct (hard-coded)

-
-

1.12.1 Read the complete struct

+
+

1.12.1 Read the complete struct

rdm_t* trexio_text_read_rdm(trexio_text_t* const file);
@@ -1381,8 +1411,8 @@ The group_dset array is assumed allocated with the appropriate size
 
-
-

1.12.2 Flush the complete struct

+
+

1.12.2 Flush the complete struct

trexio_exit_code trexio_text_flush_rdm(trexio_text_t* const file);
@@ -1424,8 +1454,8 @@ The group_dset array is assumed allocated with the appropriate size
 
-
-

1.12.3 Free memory

+
+

1.12.3 Free memory

Memory is allocated when reading. The followig function frees memory. @@ -1461,8 +1491,8 @@ Memory is allocated when reading. The followig function frees memory.

-
-

1.12.4 Read/Write the onee attribute

+
+

1.12.4 Read/Write the onee attribute

The one_e array is assumed allocated with the appropriate size. @@ -1528,8 +1558,8 @@ The one_e array is assumed allocated with the appropriate size.

-
-

1.12.5 Read/Write the twoe attribute

+
+

1.12.5 Read/Write the twoe attribute

two_e is a sparse data structure, which can be too large to fit @@ -1637,7 +1667,7 @@ file for each sparse float structure.

Author: TREX-CoE

-

Created: 2021-10-13 Wed 12:26

+

Created: 2021-10-13 Wed 15:44

Validate

diff --git a/trex.html b/trex.html index 02c4404..64bea3a 100644 --- a/trex.html +++ b/trex.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + TREX Configuration file @@ -333,25 +333,25 @@ for the JavaScript code in this tag.

Table of Contents

@@ -391,8 +391,8 @@ arrays are 0-based. Hence, we introduce the index type which is an 1-based int in the Fortran interface and 0-based otherwise.

-
-

1 Metadata (metadata group)

+
+

1 Metadata (metadata group)

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

-
+
@@ -469,15 +469,15 @@ authors of the file, and a textual description. -
-

2 Electron (electron group)

+
+

2 Electron (electron group)

We consider wave functions expressed in the spin-free formalism, where the number of ↑ and ↓ electrons is fixed.

-
+
@@ -516,15 +516,15 @@ the number of ↑ and ↓ electrons is fixed. -
-

3 Nucleus (nucleus group)

+
+

3 Nucleus (nucleus group)

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

-
+
@@ -584,8 +584,8 @@ given in Cartesian \((x,y,z)\) format. -
-

4 Effective core potentials (ecp group)

+
+

4 Effective core potentials (ecp group)

An effective core potential (ECP) \(V_A^{\text{ECP}}\) replacing the @@ -613,7 +613,7 @@ The functions \(V_{A\ell}\) are parameterized as: See http://dx.doi.org/10.1063/1.4984046 for more info.

-
+
@@ -722,8 +722,8 @@ See http://dx.doi.org/10.1063/1.49 -
-

5 Basis set (basis group)

+
+

5 Basis set (basis group)

We consider here basis functions centered on nuclei. Hence, we enable @@ -776,7 +776,7 @@ If the the basis function is not considered normalized, \(\mathcal{N}_s=1\). All the basis set parameters are stored in one-dimensional arrays:

-
+
@@ -945,8 +945,8 @@ prim_factor = -
-

6 Atomic orbitals (ao group)

+
+

6 Atomic orbitals (ao group)

Going from the atomic basis set to AOs implies a systematic @@ -994,13 +994,13 @@ shell, as in the GAMESS convention where

In such a case, one should set the normalization of the shell (in -the Basis set section) to \(\mathcal{N}_{z^2}\), which is the +the Basis set section) to \(\mathcal{N}_{z^2}\), which is the normalization factor of the atomic orbitals in spherical coordinates. The normalization factor of the \(xy\) function which should be introduced here should be \(\frac{\mathcal{N}_{xy}}{\mathcal{N}_{z^2}}\).

-
+
@@ -1052,8 +1052,8 @@ introduced here should be \(\frac{\mathcal{N}_{xy}}{\mathcal{N}_{z^2}}\).
-
-

6.1 One-electron integrals (ao_1e_int group)

+
+

6.1 One-electron integrals (ao_1e_int group)

  • \[ \hat{V}_{\text{ne}} = \sum_{A=1}^{N_\text{nucl}} @@ -1071,7 +1071,7 @@ The one-electron integrals for a one-electron operator \(\hat{O}\) are over atomic orbitals.

    - +
    @@ -1138,8 +1138,8 @@ over atomic orbitals. -
    -

    6.2 Two-electron integrals (ao_2e_int group)

    +
    +

    6.2 Two-electron integrals (ao_2e_int group)

    The two-electron integrals for a two-electron operator \(\hat{O}\) are @@ -1160,7 +1160,7 @@ notation. \mathbf{r}_j \vert)}{\vert \mathbf{r}_i - \mathbf{r}_j \vert} \] : electron-electron long range potential -

    +
    @@ -1200,10 +1200,10 @@ notation. -
    -

    7 Molecular orbitals (mo group)

    +
    +

    7 Molecular orbitals (mo group)

    -
    +
    @@ -1269,8 +1269,8 @@ notation.
-
-

7.1 One-electron integrals (mo_1e_int group)

+
+

7.1 One-electron integrals (mo_1e_int group)

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

- +
@@ -1345,8 +1345,8 @@ the basis of molecular orbitals. -
-

7.2 Two-electron integrals (mo_2e_int group)

+
+

7.2 Two-electron integrals (mo_2e_int group)

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

-
+
@@ -1394,13 +1394,13 @@ the basis of molecular orbitals. -
-

8 TODO Slater determinants

+
+

8 TODO Slater determinants

-
-

9 TODO Reduced density matrices (rdm group)

+
+

9 TODO Reduced density matrices (rdm group)

-
+
@@ -1455,7 +1455,7 @@ the basis of molecular orbitals.

Author: TREX-CoE

-

Created: 2021-10-13 Wed 12:26

+

Created: 2021-10-13 Wed 15:44

Validate