1
0
mirror of https://github.com/TREX-CoE/trexio.git synced 2024-10-02 14:31:05 +02:00

Deploying to gh-pages from @ TREX-CoE/trexio@2465293581 🚀

This commit is contained in:
scemama 2023-02-28 08:45:27 +00:00
parent af0ef12eb6
commit 92d207e3a3
9 changed files with 777 additions and 719 deletions

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2023-02-27 Mon 14:49 -->
<!-- 2023-02-28 Tue 08:45 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>TREXIO source code documentation</title>
@ -383,7 +383,7 @@ The TREXIO library is licensed under the open-source 3-clause BSD license.
</div>
<div id="postamble" class="status">
<p class="author">Author: TREX-CoE</p>
<p class="date">Created: 2023-02-27 Mon 14:49</p>
<p class="date">Created: 2023-02-28 Tue 08:45</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2023-02-27 Mon 14:49 -->
<!-- 2023-02-28 Tue 08:45 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Examples</title>
@ -346,46 +346,46 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#orgff97e9f">1. Writing nuclear coordinates</a>
<li><a href="#org158fd0e">1. Writing nuclear coordinates</a>
<ul>
<li><a href="#org6555da7">1.1. C</a></li>
<li><a href="#org4ee2047">1.2. Python</a></li>
<li><a href="#org0a0992f">1.3. Fortran</a></li>
<li><a href="#org197059e">1.1. C</a></li>
<li><a href="#orgf27f32c">1.2. Python</a></li>
<li><a href="#org82f022e">1.3. Fortran</a></li>
</ul>
</li>
<li><a href="#orgdb1b669">2. Accessing sparse quantities (integrals)</a>
<li><a href="#org80760b2">2. Accessing sparse quantities (integrals)</a>
<ul>
<li><a href="#org5c94297">2.1. Fortran</a>
<li><a href="#orge8587b7">2.1. Fortran</a>
<ul>
<li><a href="#org4a9ec58">2.1.1. Declare Temporary variables</a></li>
<li><a href="#org9ed84d9">2.1.2. Obtain the name of the TREXIO file from the command line, and open it for reading</a></li>
<li><a href="#org9d0b038">2.1.3. Read the nuclear repulsion energy</a></li>
<li><a href="#org7103c33">2.1.4. Read the number of molecular orbitals</a></li>
<li><a href="#org6f1df70">2.1.5. Allocate memory</a></li>
<li><a href="#orgaad552c">2.1.6. Read one-electron quantities</a></li>
<li><a href="#org7a12056">2.1.7. Read two-electron quantities</a>
<li><a href="#org3fbd372">2.1.1. Declare Temporary variables</a></li>
<li><a href="#orgadb6e55">2.1.2. Obtain the name of the TREXIO file from the command line, and open it for reading</a></li>
<li><a href="#org66c953a">2.1.3. Read the nuclear repulsion energy</a></li>
<li><a href="#org5b8da9b">2.1.4. Read the number of molecular orbitals</a></li>
<li><a href="#orgbf34ead">2.1.5. Allocate memory</a></li>
<li><a href="#org6675b09">2.1.6. Read one-electron quantities</a></li>
<li><a href="#orgea811ff">2.1.7. Read two-electron quantities</a>
<ul>
<li><a href="#orgd6959a8">2.1.7.1. Electron repulsion integrals</a></li>
<li><a href="#org3f8edd1">2.1.7.2. Reduced density matrix</a></li>
<li><a href="#orgfe3aa73">2.1.7.1. Electron repulsion integrals</a></li>
<li><a href="#org33ee76f">2.1.7.2. Reduced density matrix</a></li>
</ul>
</li>
<li><a href="#org7e9a6a0">2.1.8. Compute the energy</a></li>
<li><a href="#org4fadf5a">2.1.9. Terminate</a></li>
<li><a href="#orgd8b06b6">2.1.8. Compute the energy</a></li>
<li><a href="#orgfeec28b">2.1.9. Terminate</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#org1142ea4">3. Reading determinants</a>
<li><a href="#orgdac014f">3. Reading determinants</a>
<ul>
<li><a href="#org4f40b23">3.1. Fortran</a></li>
<li><a href="#org399a2f0">3.1. Fortran</a></li>
</ul>
</li>
</ul>
</div>
</div>
<div id="outline-container-orgff97e9f" class="outline-2">
<h2 id="orgff97e9f"><span class="section-number-2">1</span> Writing nuclear coordinates</h2>
<div id="outline-container-org158fd0e" class="outline-2">
<h2 id="org158fd0e"><span class="section-number-2">1</span> Writing nuclear coordinates</h2>
<div class="outline-text-2" id="text-1">
<p>
Here is a demonstration of how to use TREXIO to write the nuclear
@ -395,8 +395,8 @@ as well as the necessary TREXIO functions to perform these actions.
</p>
</div>
<div id="outline-container-org6555da7" class="outline-3">
<h3 id="org6555da7"><span class="section-number-3">1.1</span> C</h3>
<div id="outline-container-org197059e" class="outline-3">
<h3 id="org197059e"><span class="section-number-3">1.1</span> C</h3>
<div class="outline-text-3" id="text-1-1">
<div class="org-src-container">
<pre class="src src-c"><span style="color: #483d8b;">#include</span> <span style="color: #8b2252;">&lt;stdio.h&gt;</span>
@ -446,8 +446,8 @@ as well as the necessary TREXIO functions to perform these actions.
</div>
</div>
<div id="outline-container-org4ee2047" class="outline-3">
<h3 id="org4ee2047"><span class="section-number-3">1.2</span> Python</h3>
<div id="outline-container-orgf27f32c" class="outline-3">
<h3 id="orgf27f32c"><span class="section-number-3">1.2</span> Python</h3>
<div class="outline-text-3" id="text-1-2">
<p>
This code uses the TREXIO Python binding to create a new TREXIO file named
@ -494,8 +494,8 @@ coordinates of the system.
</div>
</div>
<div id="outline-container-org0a0992f" class="outline-3">
<h3 id="org0a0992f"><span class="section-number-3">1.3</span> Fortran</h3>
<div id="outline-container-org82f022e" class="outline-3">
<h3 id="org82f022e"><span class="section-number-3">1.3</span> Fortran</h3>
<div class="outline-text-3" id="text-1-3">
<div class="org-src-container">
<pre class="src src-f90"><span style="color: #a020f0;">program</span> <span style="color: #0000ff;">trexio_water</span>
@ -552,12 +552,12 @@ coordinates of the system.
</div>
</div>
<div id="outline-container-orgdb1b669" class="outline-2">
<h2 id="orgdb1b669"><span class="section-number-2">2</span> Accessing sparse quantities (integrals)</h2>
<div id="outline-container-org80760b2" class="outline-2">
<h2 id="org80760b2"><span class="section-number-2">2</span> Accessing sparse quantities (integrals)</h2>
<div class="outline-text-2" id="text-2">
</div>
<div id="outline-container-org5c94297" class="outline-3">
<h3 id="org5c94297"><span class="section-number-3">2.1</span> Fortran</h3>
<div id="outline-container-orge8587b7" class="outline-3">
<h3 id="orge8587b7"><span class="section-number-3">2.1</span> Fortran</h3>
<div class="outline-text-3" id="text-2-1">
<div class="org-src-container">
<pre class="src src-f90"><span style="color: #a020f0;">program</span> <span style="color: #0000ff;">print_energy</span>
@ -603,8 +603,8 @@ One needs to read from the TREXIO file:
</div>
</div>
<div id="outline-container-org4a9ec58" class="outline-4">
<h4 id="org4a9ec58"><span class="section-number-4">2.1.1</span> Declare Temporary variables</h4>
<div id="outline-container-org3fbd372" class="outline-4">
<h4 id="org3fbd372"><span class="section-number-4">2.1.1</span> Declare Temporary variables</h4>
<div class="outline-text-4" id="text-2-1-1">
<div class="org-src-container">
<pre class="src src-f90"><span style="color: #228b22;">integer</span> ::<span style="color: #a0522d;"> i, j, k, l, m</span>
@ -619,8 +619,8 @@ One needs to read from the TREXIO file:
</div>
</div>
<div id="outline-container-org9ed84d9" class="outline-4">
<h4 id="org9ed84d9"><span class="section-number-4">2.1.2</span> Obtain the name of the TREXIO file from the command line, and open it for reading</h4>
<div id="outline-container-orgadb6e55" class="outline-4">
<h4 id="orgadb6e55"><span class="section-number-4">2.1.2</span> Obtain the name of the TREXIO file from the command line, and open it for reading</h4>
<div class="outline-text-4" id="text-2-1-2">
<div class="org-src-container">
<pre class="src src-f90"><span style="color: #a020f0;">call</span> <span style="color: #0000ff;">getarg</span>(1, filename)
@ -636,8 +636,8 @@ f = trexio_open (filename, <span style="color: #8b2252;">'r'</span>, TREXIO_HDF5
</div>
</div>
<div id="outline-container-org9d0b038" class="outline-4">
<h4 id="org9d0b038"><span class="section-number-4">2.1.3</span> Read the nuclear repulsion energy</h4>
<div id="outline-container-org66c953a" class="outline-4">
<h4 id="org66c953a"><span class="section-number-4">2.1.3</span> Read the nuclear repulsion energy</h4>
<div class="outline-text-4" id="text-2-1-3">
<div class="org-src-container">
<pre class="src src-f90">rc = trexio_read_nucleus_repulsion(f, E_nn)
@ -651,8 +651,8 @@ f = trexio_open (filename, <span style="color: #8b2252;">'r'</span>, TREXIO_HDF5
</div>
</div>
<div id="outline-container-org7103c33" class="outline-4">
<h4 id="org7103c33"><span class="section-number-4">2.1.4</span> Read the number of molecular orbitals</h4>
<div id="outline-container-org5b8da9b" class="outline-4">
<h4 id="org5b8da9b"><span class="section-number-4">2.1.4</span> Read the number of molecular orbitals</h4>
<div class="outline-text-4" id="text-2-1-4">
<div class="org-src-container">
<pre class="src src-f90">rc = trexio_read_mo_num(f, n)
@ -666,8 +666,8 @@ f = trexio_open (filename, <span style="color: #8b2252;">'r'</span>, TREXIO_HDF5
</div>
</div>
<div id="outline-container-org6f1df70" class="outline-4">
<h4 id="org6f1df70"><span class="section-number-4">2.1.5</span> Allocate memory</h4>
<div id="outline-container-orgbf34ead" class="outline-4">
<h4 id="orgbf34ead"><span class="section-number-4">2.1.5</span> Allocate memory</h4>
<div class="outline-text-4" id="text-2-1-5">
<div class="org-src-container">
<pre class="src src-f90"><span style="color: #a020f0;">allocate</span>( D(n,n), h0(n,n) )
@ -679,8 +679,8 @@ W(:,:,:,:) = 0.d0
</div>
</div>
<div id="outline-container-orgaad552c" class="outline-4">
<h4 id="orgaad552c"><span class="section-number-4">2.1.6</span> Read one-electron quantities</h4>
<div id="outline-container-org6675b09" class="outline-4">
<h4 id="org6675b09"><span class="section-number-4">2.1.6</span> Read one-electron quantities</h4>
<div class="outline-text-4" id="text-2-1-6">
<div class="org-src-container">
<pre class="src src-f90">rc = trexio_has_mo_1e_int_core_hamiltonian(f)
@ -712,8 +712,8 @@ rc = trexio_read_rdm_1e(f, D)
</div>
</div>
<div id="outline-container-org7a12056" class="outline-4">
<h4 id="org7a12056"><span class="section-number-4">2.1.7</span> Read two-electron quantities</h4>
<div id="outline-container-orgea811ff" class="outline-4">
<h4 id="orgea811ff"><span class="section-number-4">2.1.7</span> Read two-electron quantities</h4>
<div class="outline-text-4" id="text-2-1-7">
<p>
Reading is done with OpenMP. Each thread reads its own buffer, and
@ -729,8 +729,8 @@ to be protected in the critical section when modified.
</p>
</div>
<div id="outline-container-orgd6959a8" class="outline-5">
<h5 id="orgd6959a8"><span class="section-number-5">2.1.7.1</span> Electron repulsion integrals</h5>
<div id="outline-container-orgfe3aa73" class="outline-5">
<h5 id="orgfe3aa73"><span class="section-number-5">2.1.7.1</span> Electron repulsion integrals</h5>
<div class="outline-text-5" id="text-2-1-7-1">
<div class="org-src-container">
<pre class="src src-f90">rc = trexio_has_mo_2e_int_eri(f)
@ -779,8 +779,8 @@ icount = BUFSIZE
</div>
</div>
<div id="outline-container-org3f8edd1" class="outline-5">
<h5 id="org3f8edd1"><span class="section-number-5">2.1.7.2</span> Reduced density matrix</h5>
<div id="outline-container-org33ee76f" class="outline-5">
<h5 id="org33ee76f"><span class="section-number-5">2.1.7.2</span> Reduced density matrix</h5>
<div class="outline-text-5" id="text-2-1-7-2">
<div class="org-src-container">
<pre class="src src-f90">rc = trexio_has_rdm_2e(f)
@ -824,8 +824,8 @@ icount = bufsize
</div>
</div>
<div id="outline-container-org7e9a6a0" class="outline-4">
<h4 id="org7e9a6a0"><span class="section-number-4">2.1.8</span> Compute the energy</h4>
<div id="outline-container-orgd8b06b6" class="outline-4">
<h4 id="orgd8b06b6"><span class="section-number-4">2.1.8</span> Compute the energy</h4>
<div class="outline-text-4" id="text-2-1-8">
<p>
When the orbitals are real, we can use
@ -871,8 +871,8 @@ E = E + E_nn
</div>
</div>
<div id="outline-container-org4fadf5a" class="outline-4">
<h4 id="org4fadf5a"><span class="section-number-4">2.1.9</span> Terminate</h4>
<div id="outline-container-orgfeec28b" class="outline-4">
<h4 id="orgfeec28b"><span class="section-number-4">2.1.9</span> Terminate</h4>
<div class="outline-text-4" id="text-2-1-9">
<div class="org-src-container">
<pre class="src src-f90"> <span style="color: #a020f0;">deallocate</span>( D, h0, G, W )
@ -885,12 +885,12 @@ E = E + E_nn
</div>
</div>
<div id="outline-container-org1142ea4" class="outline-2">
<h2 id="org1142ea4"><span class="section-number-2">3</span> Reading determinants</h2>
<div id="outline-container-orgdac014f" class="outline-2">
<h2 id="orgdac014f"><span class="section-number-2">3</span> Reading determinants</h2>
<div class="outline-text-2" id="text-3">
</div>
<div id="outline-container-org4f40b23" class="outline-3">
<h3 id="org4f40b23"><span class="section-number-3">3.1</span> Fortran</h3>
<div id="outline-container-org399a2f0" class="outline-3">
<h3 id="org399a2f0"><span class="section-number-3">3.1</span> Fortran</h3>
<div class="outline-text-3" id="text-3-1">
<div class="org-src-container">
<pre class="src src-f90"><span style="color: #a020f0;">program</span> <span style="color: #0000ff;">test</span>
@ -969,7 +969,7 @@ end
</div>
<div id="postamble" class="status">
<p class="author">Author: TREX-CoE</p>
<p class="date">Created: 2023-02-27 Mon 14:49</p>
<p class="date">Created: 2023-02-28 Tue 08:45</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2023-02-27 Mon 14:49 -->
<!-- 2023-02-28 Tue 08:45 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>TREXIO source code documentation</title>
@ -383,7 +383,7 @@ The TREXIO library is licensed under the open-source 3-clause BSD license.
</div>
<div id="postamble" class="status">
<p class="author">Author: TREX-CoE</p>
<p class="date">Created: 2023-02-27 Mon 14:49</p>
<p class="date">Created: 2023-02-28 Tue 08:45</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2023-02-27 Mon 14:49 -->
<!-- 2023-02-28 Tue 08:45 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Motivation</title>
@ -384,7 +384,7 @@ still lacking, and the purpose of the TREXIO library is to fill this gap.
</div>
<div id="postamble" class="status">
<p class="author">Author: TREX-CoE</p>
<p class="date">Created: 2023-02-27 Mon 14:49</p>
<p class="date">Created: 2023-02-28 Tue 08:45</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2023-02-27 Mon 14:49 -->
<!-- 2023-02-28 Tue 08:45 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>The TREXIO library</title>
@ -346,19 +346,19 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#orgbcbc1aa">1. Format specification</a>
<li><a href="#orgfe9954b">1. Format specification</a>
<ul>
<li><a href="#org1f6f5cf">1.1. Organization of the data</a></li>
<li><a href="#org1e924c4">1.2. Data types</a></li>
<li><a href="#org6d8933b">1.1. Organization of the data</a></li>
<li><a href="#org7e0e39d">1.2. Data types</a></li>
</ul>
</li>
<li><a href="#org775e425">2. The TREXIO library</a>
<li><a href="#org69a5574">2. The TREXIO library</a>
<ul>
<li><a href="#orgde64155">2.1. The front-end</a></li>
<li><a href="#org9fbf920">2.2. The back-end</a></li>
<li><a href="#orge0784da">2.3. Supported languages</a></li>
<li><a href="#org95bafd1">2.4. Source code generation and documentation</a></li>
<li><a href="#org3727c66">2.5. Availability</a></li>
<li><a href="#orgc8797ec">2.1. The front-end</a></li>
<li><a href="#org81e510a">2.2. The back-end</a></li>
<li><a href="#org49732cc">2.3. Supported languages</a></li>
<li><a href="#orgdcf39b0">2.4. Source code generation and documentation</a></li>
<li><a href="#org3dcfd35">2.5. Availability</a></li>
</ul>
</li>
</ul>
@ -366,8 +366,8 @@ for the JavaScript code in this tag.
</div>
<div id="outline-container-orgbcbc1aa" class="outline-2">
<h2 id="orgbcbc1aa"><span class="section-number-2">1</span> Format specification</h2>
<div id="outline-container-orgfe9954b" class="outline-2">
<h2 id="orgfe9954b"><span class="section-number-2">1</span> Format specification</h2>
<div class="outline-text-2" id="text-1">
</td>
<td>
@ -388,8 +388,8 @@ calculation are stored.
</p>
</div>
<div id="outline-container-org1f6f5cf" class="outline-3">
<h3 id="org1f6f5cf"><span class="section-number-3">1.1</span> Organization of the data</h3>
<div id="outline-container-org6d8933b" class="outline-3">
<h3 id="org6d8933b"><span class="section-number-3">1.1</span> Organization of the data</h3>
<div class="outline-text-3" id="text-1-1">
<p>
The data in TREXIO are organized into <b>groups</b>, each containing
@ -405,8 +405,8 @@ number of nuclei.
</div>
</div>
<div id="outline-container-org1e924c4" class="outline-3">
<h3 id="org1e924c4"><span class="section-number-3">1.2</span> Data types</h3>
<div id="outline-container-org7e0e39d" class="outline-3">
<h3 id="org7e0e39d"><span class="section-number-3">1.2</span> Data types</h3>
<div class="outline-text-3" id="text-1-2">
<p>
So that TREXIO can be used in any language, we use a limited number
@ -473,8 +473,8 @@ with the same name suffixed by <code>_im</code>.
</div>
</div>
<div id="outline-container-org775e425" class="outline-2">
<h2 id="org775e425"><span class="section-number-2">2</span> The TREXIO library</h2>
<div id="outline-container-org69a5574" class="outline-2">
<h2 id="org69a5574"><span class="section-number-2">2</span> The TREXIO library</h2>
<div class="outline-text-2" id="text-2">
</td>
<td>
@ -497,8 +497,8 @@ interface between the library and the physical storage.
</p>
</div>
<div id="outline-container-orgde64155" class="outline-3">
<h3 id="orgde64155"><span class="section-number-3">2.1</span> The front-end</h3>
<div id="outline-container-orgc8797ec" class="outline-3">
<h3 id="orgc8797ec"><span class="section-number-3">2.1</span> The front-end</h3>
<div class="outline-text-3" id="text-2-1">
<p>
By using the TREXIO library, users can store and extract data in a
@ -539,8 +539,8 @@ made are safe.
</div>
</div>
<div id="outline-container-org9fbf920" class="outline-3">
<h3 id="org9fbf920"><span class="section-number-3">2.2</span> The back-end</h3>
<div id="outline-container-org81e510a" class="outline-3">
<h3 id="org81e510a"><span class="section-number-3">2.2</span> The back-end</h3>
<div class="outline-text-3" id="text-2-2">
<p>
At present, TREXIO supports two back-ends: one relying only on the
@ -610,8 +610,8 @@ repositories.
</div>
</div>
<div id="outline-container-orge0784da" class="outline-3">
<h3 id="orge0784da"><span class="section-number-3">2.3</span> Supported languages</h3>
<div id="outline-container-org49732cc" class="outline-3">
<h3 id="org49732cc"><span class="section-number-3">2.3</span> Supported languages</h3>
<div class="outline-text-3" id="text-2-3">
<p>
One of the main benefits of using C as the interface for a library is
@ -668,8 +668,8 @@ via the Binder platform.
</div>
<div id="outline-container-org95bafd1" class="outline-3">
<h3 id="org95bafd1"><span class="section-number-3">2.4</span> Source code generation and documentation</h3>
<div id="outline-container-orgdcf39b0" class="outline-3">
<h3 id="orgdcf39b0"><span class="section-number-3">2.4</span> Source code generation and documentation</h3>
<div class="outline-text-3" id="text-2-4">
<p>
Source code generation is a valuable technique that can significantly
@ -723,8 +723,8 @@ regardless of their programming skills.
</div>
</div>
<div id="outline-container-org3727c66" class="outline-3">
<h3 id="org3727c66"><span class="section-number-3">2.5</span> Availability</h3>
<div id="outline-container-org3dcfd35" class="outline-3">
<h3 id="org3dcfd35"><span class="section-number-3">2.5</span> Availability</h3>
<div class="outline-text-3" id="text-2-5">
<p>
The TREXIO library is designed to be portable and easy to install
@ -754,7 +754,7 @@ are available in Ubuntu 23.04.
</div>
<div id="postamble" class="status">
<p class="author">Author: TREX-CoE</p>
<p class="date">Created: 2023-02-27 Mon 14:49</p>
<p class="date">Created: 2023-02-28 Tue 08:45</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>

File diff suppressed because it is too large Load Diff

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2023-02-27 Mon 14:48 -->
<!-- 2023-02-28 Tue 08:45 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>HDF5 back end</title>
@ -324,25 +324,25 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#orgba90426">1. Template for HDF5 definitions</a></li>
<li><a href="#org3bc739d">2. Template for HDF5 structures</a></li>
<li><a href="#orgea144fd">3. Template for HDF5 init/deinit</a></li>
<li><a href="#org3e61cbc">4. Template for HDF5 has a group</a></li>
<li><a href="#org0033314">5. Template for HDF5 has/read/write a numerical attribute</a></li>
<li><a href="#orgf0253bf">6. Template for HDF5 has/read/write a dataset of numerical data</a></li>
<li><a href="#orgc9a0cf3">7. Template for HDF5 has/read/write a dataset of sparse data</a></li>
<li><a href="#orgbcefcbc">8. Template for HDF5 has/read/write a dataset of buffered vectors</a></li>
<li><a href="#org0b095b1">9. Template for HDF5 has/read/write a dataset of strings</a></li>
<li><a href="#orgc3f42f8">10. Template for HDF5 has/read/write a string attribute</a></li>
<li><a href="#org474df78">11. Template for HDF5 delete a group (UNSAFE mode)</a></li>
<li><a href="#org30a483f">12. Source code for the determinant part</a></li>
<li><a href="#orga4e525f">13. Helper functions</a></li>
<li><a href="#orgedbba63">1. Template for HDF5 definitions</a></li>
<li><a href="#org06bbfba">2. Template for HDF5 structures</a></li>
<li><a href="#org14f135f">3. Template for HDF5 init/deinit</a></li>
<li><a href="#org77739b6">4. Template for HDF5 has a group</a></li>
<li><a href="#org50f025f">5. Template for HDF5 has/read/write a numerical attribute</a></li>
<li><a href="#org08eea6d">6. Template for HDF5 has/read/write a dataset of numerical data</a></li>
<li><a href="#org96165b0">7. Template for HDF5 has/read/write a dataset of sparse data</a></li>
<li><a href="#org2e64815">8. Template for HDF5 has/read/write a dataset of buffered vectors</a></li>
<li><a href="#org31fda33">9. Template for HDF5 has/read/write a dataset of strings</a></li>
<li><a href="#org733e923">10. Template for HDF5 has/read/write a string attribute</a></li>
<li><a href="#org1c150e2">11. Template for HDF5 delete a group (UNSAFE mode)</a></li>
<li><a href="#org54e36e0">12. Source code for the determinant part</a></li>
<li><a href="#org2049b57">13. Helper functions</a></li>
</ul>
</div>
</div>
<div id="outline-container-orgba90426" class="outline-2">
<h2 id="orgba90426"><span class="section-number-2">1</span> Template for HDF5 definitions</h2>
<div id="outline-container-orgedbba63" class="outline-2">
<h2 id="orgedbba63"><span class="section-number-2">1</span> Template for HDF5 definitions</h2>
<div class="outline-text-2" id="text-1">
<div class="org-src-container">
<pre class="src src-c"><span style="color: #483d8b;">#define</span> $GROUP$_GROUP_NAME <span style="color: #8b2252;">"$group$"</span>
@ -354,8 +354,8 @@ for the JavaScript code in this tag.
</div>
</div>
<div id="outline-container-org3bc739d" class="outline-2">
<h2 id="org3bc739d"><span class="section-number-2">2</span> Template for HDF5 structures</h2>
<div id="outline-container-org06bbfba" class="outline-2">
<h2 id="org06bbfba"><span class="section-number-2">2</span> Template for HDF5 structures</h2>
<div class="outline-text-2" id="text-2">
<p>
Polymorphism of the <code>trexio_t</code> type is handled by ensuring that the
@ -375,8 +375,8 @@ corresponding types for all back ends can be safely casted to
</div>
</div>
<div id="outline-container-orgea144fd" class="outline-2">
<h2 id="orgea144fd"><span class="section-number-2">3</span> Template for HDF5 init/deinit</h2>
<div id="outline-container-org14f135f" class="outline-2">
<h2 id="org14f135f"><span class="section-number-2">3</span> Template for HDF5 init/deinit</h2>
<div class="outline-text-2" id="text-3">
<div class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
@ -496,8 +496,8 @@ corresponding types for all back ends can be safely casted to
</div>
</div>
<div id="outline-container-org3e61cbc" class="outline-2">
<h2 id="org3e61cbc"><span class="section-number-2">4</span> Template for HDF5 has a group</h2>
<div id="outline-container-org77739b6" class="outline-2">
<h2 id="org77739b6"><span class="section-number-2">4</span> Template for HDF5 has a group</h2>
<div class="outline-text-2" id="text-4">
<div class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
@ -527,8 +527,8 @@ corresponding types for all back ends can be safely casted to
</div>
</div>
<div id="outline-container-org0033314" class="outline-2">
<h2 id="org0033314"><span class="section-number-2">5</span> Template for HDF5 has/read/write a numerical attribute</h2>
<div id="outline-container-org50f025f" class="outline-2">
<h2 id="org50f025f"><span class="section-number-2">5</span> Template for HDF5 has/read/write a numerical attribute</h2>
<div class="outline-text-2" id="text-5">
<div class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
@ -632,8 +632,8 @@ corresponding types for all back ends can be safely casted to
</div>
</div>
<div id="outline-container-orgf0253bf" class="outline-2">
<h2 id="orgf0253bf"><span class="section-number-2">6</span> Template for HDF5 has/read/write a dataset of numerical data</h2>
<div id="outline-container-org08eea6d" class="outline-2">
<h2 id="org08eea6d"><span class="section-number-2">6</span> Template for HDF5 has/read/write a dataset of numerical data</h2>
<div class="outline-text-2" id="text-6">
<div class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
@ -770,8 +770,8 @@ corresponding types for all back ends can be safely casted to
</div>
</div>
<div id="outline-container-orgc9a0cf3" class="outline-2">
<h2 id="orgc9a0cf3"><span class="section-number-2">7</span> Template for HDF5 has/read/write a dataset of sparse data</h2>
<div id="outline-container-org96165b0" class="outline-2">
<h2 id="org96165b0"><span class="section-number-2">7</span> Template for HDF5 has/read/write a dataset of sparse data</h2>
<div class="outline-text-2" id="text-7">
<p>
Sparse data is stored using extensible datasets of HDF5. Extensibility is required
@ -973,8 +973,8 @@ due to the fact that the sparse data will be written in chunks of user-defined s
</div>
</div>
<div id="outline-container-orgbcefcbc" class="outline-2">
<h2 id="orgbcefcbc"><span class="section-number-2">8</span> Template for HDF5 has/read/write a dataset of buffered vectors</h2>
<div id="outline-container-org2e64815" class="outline-2">
<h2 id="org2e64815"><span class="section-number-2">8</span> Template for HDF5 has/read/write a dataset of buffered vectors</h2>
<div class="outline-text-2" id="text-8">
<p>
Chunked I/O in HDF5 for <code>buffered</code> data.
@ -1108,8 +1108,8 @@ Chunked I/O in HDF5 for <code>buffered</code> data.
</div>
</div>
<div id="outline-container-org0b095b1" class="outline-2">
<h2 id="org0b095b1"><span class="section-number-2">9</span> Template for HDF5 has/read/write a dataset of strings</h2>
<div id="outline-container-org31fda33" class="outline-2">
<h2 id="org31fda33"><span class="section-number-2">9</span> Template for HDF5 has/read/write a dataset of strings</h2>
<div class="outline-text-2" id="text-9">
<div class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
@ -1306,8 +1306,8 @@ Chunked I/O in HDF5 for <code>buffered</code> data.
</div>
</div>
<div id="outline-container-orgc3f42f8" class="outline-2">
<h2 id="orgc3f42f8"><span class="section-number-2">10</span> Template for HDF5 has/read/write a string attribute</h2>
<div id="outline-container-org733e923" class="outline-2">
<h2 id="org733e923"><span class="section-number-2">10</span> Template for HDF5 has/read/write a string attribute</h2>
<div class="outline-text-2" id="text-10">
<div class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
@ -1434,8 +1434,8 @@ Chunked I/O in HDF5 for <code>buffered</code> data.
</div>
</div>
</div>
<div id="outline-container-org474df78" class="outline-2">
<h2 id="org474df78"><span class="section-number-2">11</span> Template for HDF5 delete a group (UNSAFE mode)</h2>
<div id="outline-container-org1c150e2" class="outline-2">
<h2 id="org1c150e2"><span class="section-number-2">11</span> Template for HDF5 delete a group (UNSAFE mode)</h2>
<div class="outline-text-2" id="text-11">
<p>
<b><b>Note:</b></b> in early versions of the HDF5 library (v &lt; 1.10) unlinking an object was not working as expected
@ -1475,8 +1475,8 @@ Thus, any corrupted/lost file space will remain in the first file. The use of <c
</div>
</div>
<div id="outline-container-org30a483f" class="outline-2">
<h2 id="org30a483f"><span class="section-number-2">12</span> Source code for the determinant part</h2>
<div id="outline-container-org54e36e0" class="outline-2">
<h2 id="org54e36e0"><span class="section-number-2">12</span> Source code for the determinant part</h2>
<div class="outline-text-2" id="text-12">
<p>
Each array is stored in a separate HDF5 dataset due to the fact that determinant I/O has to be decoupled.
@ -1578,8 +1578,8 @@ Size specifies the number of data items (e.g. determinants) to process.
</div>
</div>
<div id="outline-container-orga4e525f" class="outline-2">
<h2 id="orga4e525f"><span class="section-number-2">13</span> Helper functions</h2>
<div id="outline-container-org2049b57" class="outline-2">
<h2 id="org2049b57"><span class="section-number-2">13</span> Helper functions</h2>
<div class="outline-text-2" id="text-13">
<div class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
@ -1842,7 +1842,7 @@ Size specifies the number of data items (e.g. determinants) to process.
</div>
<div id="postamble" class="status">
<p class="author">Author: TREX-CoE</p>
<p class="date">Created: 2023-02-27 Mon 14:48</p>
<p class="date">Created: 2023-02-28 Tue 08:45</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2023-02-27 Mon 14:48 -->
<!-- 2023-02-28 Tue 08:45 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>TEXT back end</title>
@ -324,23 +324,23 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#org44e53b2">1. Template for group-related structures in text back end</a></li>
<li><a href="#org8a7f785">2. Template for general structure in text back end</a></li>
<li><a href="#org0869b1b">3. Initialize function (constant part)</a></li>
<li><a href="#org11d40f5">4. Deinitialize function (templated part)</a></li>
<li><a href="#org5cbf9c8">5. Flush function (templated part)</a></li>
<li><a href="#org6e978dd">6. Template for text read a group</a></li>
<li><a href="#orgaa06684">7. Template for text has a group</a></li>
<li><a href="#org9671160">8. Template for text flush a group</a></li>
<li><a href="#org037649d">9. Template for text free memory</a></li>
<li><a href="#orgd150245">10. Template for has/read/write a numerical attribute</a></li>
<li><a href="#org3e05051">11. Template for has/read/write a dataset of numerical data</a></li>
<li><a href="#org136c4a5">12. Template for has/read/write a dataset of strings</a></li>
<li><a href="#orgd6106c4">13. Template for has/read/write a string attribute</a></li>
<li><a href="#org0c14566">14. Template for has/read/write the dataset of sparse data</a></li>
<li><a href="#org76668c6">15. Template for has/read/write a buffered vector</a></li>
<li><a href="#org116764b">16. Template for text delete a group (UNSAFE mode)</a></li>
<li><a href="#orgf67e727">17. Source code for the determinant part</a></li>
<li><a href="#org70a8416">1. Template for group-related structures in text back end</a></li>
<li><a href="#org4dbd8dd">2. Template for general structure in text back end</a></li>
<li><a href="#orgc7e48fb">3. Initialize function (constant part)</a></li>
<li><a href="#org4331733">4. Deinitialize function (templated part)</a></li>
<li><a href="#orgb138f63">5. Flush function (templated part)</a></li>
<li><a href="#orgfe9c43b">6. Template for text read a group</a></li>
<li><a href="#org59be732">7. Template for text has a group</a></li>
<li><a href="#org8582fd4">8. Template for text flush a group</a></li>
<li><a href="#org2d07e1c">9. Template for text free memory</a></li>
<li><a href="#org3aef64a">10. Template for has/read/write a numerical attribute</a></li>
<li><a href="#orgcc400a2">11. Template for has/read/write a dataset of numerical data</a></li>
<li><a href="#org407d05f">12. Template for has/read/write a dataset of strings</a></li>
<li><a href="#org66eacab">13. Template for has/read/write a string attribute</a></li>
<li><a href="#org73de620">14. Template for has/read/write the dataset of sparse data</a></li>
<li><a href="#orgd05aa78">15. Template for has/read/write a buffered vector</a></li>
<li><a href="#org0b1a6c4">16. Template for text delete a group (UNSAFE mode)</a></li>
<li><a href="#org9d6e5fe">17. Source code for the determinant part</a></li>
</ul>
</div>
</div>
@ -362,8 +362,8 @@ directory.
The file is written when closed, or when the flush function is called.
</p>
<div id="outline-container-org44e53b2" class="outline-2">
<h2 id="org44e53b2"><span class="section-number-2">1</span> Template for group-related structures in text back end</h2>
<div id="outline-container-org70a8416" class="outline-2">
<h2 id="org70a8416"><span class="section-number-2">1</span> Template for group-related structures in text back end</h2>
<div class="outline-text-2" id="text-1">
<div class="org-src-container">
<pre class="src src-c"><span style="color: #a020f0;">typedef</span> <span style="color: #a020f0;">struct</span> $group$_s {
@ -382,8 +382,8 @@ The file is written when closed, or when the flush function is called.
</div>
</div>
<div id="outline-container-org8a7f785" class="outline-2">
<h2 id="org8a7f785"><span class="section-number-2">2</span> Template for general structure in text back end</h2>
<div id="outline-container-org4dbd8dd" class="outline-2">
<h2 id="org4dbd8dd"><span class="section-number-2">2</span> Template for general structure in text back end</h2>
<div class="outline-text-2" id="text-2">
<p>
Polymorphism of the <code>trexio_t</code> type is handled by ensuring that the
@ -403,8 +403,8 @@ corresponding types for all back ends can be safely casted to
</div>
</div>
<div id="outline-container-org0869b1b" class="outline-2">
<h2 id="org0869b1b"><span class="section-number-2">3</span> Initialize function (constant part)</h2>
<div id="outline-container-orgc7e48fb" class="outline-2">
<h2 id="orgc7e48fb"><span class="section-number-2">3</span> Initialize function (constant part)</h2>
<div class="outline-text-2" id="text-3">
<div class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">bool</span>
@ -571,8 +571,8 @@ corresponding types for all back ends can be safely casted to
</div>
</div>
<div id="outline-container-org11d40f5" class="outline-2">
<h2 id="org11d40f5"><span class="section-number-2">4</span> Deinitialize function (templated part)</h2>
<div id="outline-container-org4331733" class="outline-2">
<h2 id="org4331733"><span class="section-number-2">4</span> Deinitialize function (templated part)</h2>
<div class="outline-text-2" id="text-4">
<div class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
@ -594,8 +594,8 @@ corresponding types for all back ends can be safely casted to
</div>
</div>
<div id="outline-container-org5cbf9c8" class="outline-2">
<h2 id="org5cbf9c8"><span class="section-number-2">5</span> Flush function (templated part)</h2>
<div id="outline-container-orgb138f63" class="outline-2">
<h2 id="orgb138f63"><span class="section-number-2">5</span> Flush function (templated part)</h2>
<div class="outline-text-2" id="text-5">
<div class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
@ -618,8 +618,8 @@ corresponding types for all back ends can be safely casted to
</div>
</div>
<div id="outline-container-org6e978dd" class="outline-2">
<h2 id="org6e978dd"><span class="section-number-2">6</span> Template for text read a group</h2>
<div id="outline-container-orgfe9c43b" class="outline-2">
<h2 id="orgfe9c43b"><span class="section-number-2">6</span> Template for text read a group</h2>
<div class="outline-text-2" id="text-6">
<div class="org-src-container">
<pre class="src src-c">$group$_t*
@ -845,8 +845,8 @@ trexio_text_read_$group$ (<span style="color: #228b22;">trexio_text_t</span>* <s
</div>
</div>
<div id="outline-container-orgaa06684" class="outline-2">
<h2 id="orgaa06684"><span class="section-number-2">7</span> Template for text has a group</h2>
<div id="outline-container-org59be732" class="outline-2">
<h2 id="org59be732"><span class="section-number-2">7</span> Template for text has a group</h2>
<div class="outline-text-2" id="text-7">
<div class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
@ -886,8 +886,8 @@ trexio_text_read_$group$ (<span style="color: #228b22;">trexio_text_t</span>* <s
</div>
</div>
<div id="outline-container-org9671160" class="outline-2">
<h2 id="org9671160"><span class="section-number-2">8</span> Template for text flush a group</h2>
<div id="outline-container-org8582fd4" class="outline-2">
<h2 id="org8582fd4"><span class="section-number-2">8</span> Template for text flush a group</h2>
<div class="outline-text-2" id="text-8">
<div class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
@ -951,8 +951,8 @@ trexio_text_read_$group$ (<span style="color: #228b22;">trexio_text_t</span>* <s
</div>
</div>
<div id="outline-container-org037649d" class="outline-2">
<h2 id="org037649d"><span class="section-number-2">9</span> Template for text free memory</h2>
<div id="outline-container-org2d07e1c" class="outline-2">
<h2 id="org2d07e1c"><span class="section-number-2">9</span> Template for text free memory</h2>
<div class="outline-text-2" id="text-9">
<p>
Memory is allocated when reading. The following function frees memory.
@ -1021,8 +1021,8 @@ This function is called upon the non-successful exit from the <code>trexio_text_
</div>
</div>
<div id="outline-container-orgd150245" class="outline-2">
<h2 id="orgd150245"><span class="section-number-2">10</span> Template for has/read/write a numerical attribute</h2>
<div id="outline-container-org3aef64a" class="outline-2">
<h2 id="org3aef64a"><span class="section-number-2">10</span> Template for has/read/write a numerical attribute</h2>
<div class="outline-text-2" id="text-10">
<div class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
@ -1085,8 +1085,8 @@ This function is called upon the non-successful exit from the <code>trexio_text_
</div>
</div>
<div id="outline-container-org3e05051" class="outline-2">
<h2 id="org3e05051"><span class="section-number-2">11</span> Template for has/read/write a dataset of numerical data</h2>
<div id="outline-container-orgcc400a2" class="outline-2">
<h2 id="orgcc400a2"><span class="section-number-2">11</span> Template for has/read/write a dataset of numerical data</h2>
<div class="outline-text-2" id="text-11">
<p>
The <code>group_dset</code> array is assumed allocated with the appropriate size.
@ -1182,8 +1182,8 @@ The <code>group_dset</code> array is assumed allocated with the appropriate size
</div>
</div>
</div>
<div id="outline-container-org136c4a5" class="outline-2">
<h2 id="org136c4a5"><span class="section-number-2">12</span> Template for has/read/write a dataset of strings</h2>
<div id="outline-container-org407d05f" class="outline-2">
<h2 id="org407d05f"><span class="section-number-2">12</span> Template for has/read/write a dataset of strings</h2>
<div class="outline-text-2" id="text-12">
<p>
The <code>group_dset</code> array is assumed allocated with the appropriate size.
@ -1284,8 +1284,8 @@ The <code>group_dset</code> array is assumed allocated with the appropriate size
</div>
</div>
</div>
<div id="outline-container-orgd6106c4" class="outline-2">
<h2 id="orgd6106c4"><span class="section-number-2">13</span> Template for has/read/write a string attribute</h2>
<div id="outline-container-org66eacab" class="outline-2">
<h2 id="org66eacab"><span class="section-number-2">13</span> Template for has/read/write a string attribute</h2>
<div class="outline-text-2" id="text-13">
<div class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
@ -1359,8 +1359,8 @@ The <code>group_dset</code> array is assumed allocated with the appropriate size
</div>
</div>
</div>
<div id="outline-container-org0c14566" class="outline-2">
<h2 id="org0c14566"><span class="section-number-2">14</span> Template for has/read/write the dataset of sparse data</h2>
<div id="outline-container-org73de620" class="outline-2">
<h2 id="org73de620"><span class="section-number-2">14</span> Template for has/read/write the dataset of sparse data</h2>
<div class="outline-text-2" id="text-14">
<p>
Each sparse array is stored in a separate <code>.txt</code> file due to the fact that sparse I/O has to be decoupled
@ -1650,8 +1650,8 @@ User provides indices and values of the sparse array as two separate variables.
</div>
</div>
<div id="outline-container-org76668c6" class="outline-2">
<h2 id="org76668c6"><span class="section-number-2">15</span> Template for has/read/write a buffered vector</h2>
<div id="outline-container-orgd05aa78" class="outline-2">
<h2 id="orgd05aa78"><span class="section-number-2">15</span> Template for has/read/write a buffered vector</h2>
<div class="outline-text-2" id="text-15">
<p>
Each array is stored in a separate <code>.txt</code> file due to the fact that buffered I/O has to be decoupled
@ -1881,8 +1881,8 @@ Size specifies the number of vector elements to be written.
</div>
</div>
</div>
<div id="outline-container-org116764b" class="outline-2">
<h2 id="org116764b"><span class="section-number-2">16</span> Template for text delete a group (UNSAFE mode)</h2>
<div id="outline-container-org0b1a6c4" class="outline-2">
<h2 id="org0b1a6c4"><span class="section-number-2">16</span> Template for text delete a group (UNSAFE mode)</h2>
<div class="outline-text-2" id="text-16">
<div class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
@ -1910,8 +1910,8 @@ Size specifies the number of vector elements to be written.
</div>
</div>
<div id="outline-container-orgf67e727" class="outline-2">
<h2 id="orgf67e727"><span class="section-number-2">17</span> Source code for the determinant part</h2>
<div id="outline-container-org9d6e5fe" class="outline-2">
<h2 id="org9d6e5fe"><span class="section-number-2">17</span> Source code for the determinant part</h2>
<div class="outline-text-2" id="text-17">
<p>
Each array is stored in a separate <code>.txt</code> file due to the fact that determinant I/O has to be decoupled
@ -2103,7 +2103,7 @@ Size specifies the number of data items, e.g. determinants.
</div>
<div id="postamble" class="status">
<p class="author">Author: TREX-CoE</p>
<p class="date">Created: 2023-02-27 Mon 14:48</p>
<p class="date">Created: 2023-02-28 Tue 08:45</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>

470
trex.html
View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2023-02-27 Mon 14:49 -->
<!-- 2023-02-28 Tue 08:45 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Data stored in TREXIO</title>
@ -346,70 +346,70 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#org96741d5">1. Metadata (metadata group)</a></li>
<li><a href="#org8ec9421">2. System</a>
<li><a href="#org2ebddf5">1. Metadata (metadata group)</a></li>
<li><a href="#org173f3cd">2. System</a>
<ul>
<li><a href="#org32f95a5">2.1. Nucleus (nucleus group)</a></li>
<li><a href="#orgd37510d">2.2. Cell (cell group)</a></li>
<li><a href="#orgf07f5f7">2.3. Periodic boundary calculations (pbc group)</a></li>
<li><a href="#orgd8da273">2.4. Electron (electron group)</a></li>
<li><a href="#org0c07138">2.5. Ground or excited states (state group)</a></li>
<li><a href="#orgc8a8bd1">2.1. Nucleus (nucleus group)</a></li>
<li><a href="#org1224ba2">2.2. Cell (cell group)</a></li>
<li><a href="#orgb6f75c7">2.3. Periodic boundary calculations (pbc group)</a></li>
<li><a href="#org2cf3459">2.4. Electron (electron group)</a></li>
<li><a href="#org6f2a3bf">2.5. Ground or excited states (state group)</a></li>
</ul>
</li>
<li><a href="#org9b4fd7a">3. Basis functions</a>
<li><a href="#org109fbe5">3. Basis functions</a>
<ul>
<li><a href="#org1b1beec">3.1. Basis set (basis group)</a>
<li><a href="#org8c3f1f0">3.1. Basis set (basis group)</a>
<ul>
<li><a href="#orga2197ff">3.1.1. Gaussian and Slater-type orbitals</a></li>
<li><a href="#org0c68bad">3.1.2. Plane waves</a></li>
<li><a href="#org5ebd679">3.1.3. Data definitions</a></li>
<li><a href="#org5497dbf">3.1.4. Example</a></li>
<li><a href="#org4641ebe">3.1.1. Gaussian and Slater-type orbitals</a></li>
<li><a href="#orgd005813">3.1.2. Plane waves</a></li>
<li><a href="#org9729e77">3.1.3. Data definitions</a></li>
<li><a href="#org56e4bd0">3.1.4. Example</a></li>
</ul>
</li>
<li><a href="#orgd9418cd">3.2. Effective core potentials (ecp group)</a>
<li><a href="#orgd6d9644">3.2. Effective core potentials (ecp group)</a>
<ul>
<li><a href="#org6bd429e">3.2.1. Example</a></li>
<li><a href="#org36dc5a6">3.2.1. Example</a></li>
</ul>
</li>
<li><a href="#orga99c9c0">3.3. Numerical integration grid (grid group)</a></li>
<li><a href="#org4c5de58">3.3. Numerical integration grid (grid group)</a></li>
</ul>
</li>
<li><a href="#orga5b10a6">4. Orbitals</a>
<li><a href="#orgebe58ff">4. Orbitals</a>
<ul>
<li><a href="#orgd323161">4.1. Atomic orbitals (ao group)</a>
<li><a href="#org54aab01">4.1. Atomic orbitals (ao group)</a>
<ul>
<li><a href="#ao_one_e">4.1.1. One-electron integrals (<code>ao_1e_int</code> group)</a></li>
<li><a href="#ao_two_e">4.1.2. Two-electron integrals (<code>ao_2e_int</code> group)</a></li>
</ul>
</li>
<li><a href="#orgb005ca3">4.2. Molecular orbitals (mo group)</a>
<li><a href="#org40c725d">4.2. Molecular orbitals (mo group)</a>
<ul>
<li><a href="#org4d54fb9">4.2.1. One-electron integrals (<code>mo_1e_int</code> group)</a></li>
<li><a href="#orgebf8764">4.2.2. Two-electron integrals (<code>mo_2e_int</code> group)</a></li>
<li><a href="#org7e0442b">4.2.1. One-electron integrals (<code>mo_1e_int</code> group)</a></li>
<li><a href="#orgf09167a">4.2.2. Two-electron integrals (<code>mo_2e_int</code> group)</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#orgccc826f">5. Multi-determinant information</a>
<li><a href="#orgc37ab7a">5. Multi-determinant information</a>
<ul>
<li><a href="#orgacdf8b5">5.1. Slater determinants (determinant group)</a></li>
<li><a href="#org3ba4366">5.2. Configuration state functions (csf group)</a></li>
<li><a href="#orge5bf65d">5.3. Amplitudes (amplitude group)</a></li>
<li><a href="#orgba8fd10">5.4. Reduced density matrices (rdm group)</a></li>
<li><a href="#org93fc46f">5.1. Slater determinants (determinant group)</a></li>
<li><a href="#org4d08f66">5.2. Configuration state functions (csf group)</a></li>
<li><a href="#orge0c7d9f">5.3. Amplitudes (amplitude group)</a></li>
<li><a href="#org2f63f7c">5.4. Reduced density matrices (rdm group)</a></li>
</ul>
</li>
<li><a href="#orge999bd7">6. Correlation factors</a>
<li><a href="#org8a1c9e5">6. Correlation factors</a>
<ul>
<li><a href="#orgce559e0">6.1. Jastrow factor (jastrow group)</a>
<li><a href="#org1cee547">6.1. Jastrow factor (jastrow group)</a>
<ul>
<li><a href="#org4bf32ce">6.1.1. CHAMP</a></li>
<li><a href="#orgc5bd558">6.1.2. Mu</a></li>
<li><a href="#orgd9c89a3">6.1.3. Table of values</a></li>
<li><a href="#org18e234c">6.1.1. CHAMP</a></li>
<li><a href="#orgb0325e6">6.1.2. Mu</a></li>
<li><a href="#org1af10ad">6.1.3. Table of values</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#org706769b">7. Quantum Monte Carlo data (qmc group)</a></li>
<li><a href="#orga545421">7. Quantum Monte Carlo data (qmc group)</a></li>
</ul>
</div>
</div>
@ -422,8 +422,8 @@ is reversed in the produced <code>trex.json</code> configuration file as the
library is written in C.
</p>
<div id="outline-container-org96741d5" class="outline-2">
<h2 id="org96741d5"><span class="section-number-2">1</span> Metadata (metadata group)</h2>
<div id="outline-container-org2ebddf5" class="outline-2">
<h2 id="org2ebddf5"><span class="section-number-2">1</span> Metadata (metadata group)</h2>
<div class="outline-text-2" id="text-1">
<p>
As we expect TREXIO files to be archived in open-data repositories,
@ -433,7 +433,7 @@ have participated to the creation of the file, a list of authors of
the file, and a textual description.
</p>
<table id="org26d1938" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org8f220f1" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -516,19 +516,19 @@ value can be manually overwritten (in unsafe mode) from <code>1</code> to <code>
</div>
</div>
<div id="outline-container-org8ec9421" class="outline-2">
<h2 id="org8ec9421"><span class="section-number-2">2</span> System</h2>
<div id="outline-container-org173f3cd" class="outline-2">
<h2 id="org173f3cd"><span class="section-number-2">2</span> System</h2>
<div class="outline-text-2" id="text-2">
</div>
<div id="outline-container-org32f95a5" class="outline-3">
<h3 id="org32f95a5"><span class="section-number-3">2.1</span> Nucleus (nucleus group)</h3>
<div id="outline-container-orgc8a8bd1" class="outline-3">
<h3 id="orgc8a8bd1"><span class="section-number-3">2.1</span> Nucleus (nucleus group)</h3>
<div class="outline-text-3" id="text-2-1">
<p>
The nuclei are considered as fixed point charges. Coordinates are
given in Cartesian \((x,y,z)\) format.
</p>
<table id="org0bfecaa" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org04ff911" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -595,15 +595,15 @@ given in Cartesian \((x,y,z)\) format.
</div>
</div>
<div id="outline-container-orgd37510d" class="outline-3">
<h3 id="orgd37510d"><span class="section-number-3">2.2</span> Cell (cell group)</h3>
<div id="outline-container-org1224ba2" class="outline-3">
<h3 id="org1224ba2"><span class="section-number-3">2.2</span> Cell (cell group)</h3>
<div class="outline-text-3" id="text-2-2">
<p>
3 Lattice vectors to define a box containing the system, for example
used in periodic calculations.
</p>
<table id="org3da6328" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org7bca4af" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -677,15 +677,15 @@ used in periodic calculations.
</div>
</div>
<div id="outline-container-orgf07f5f7" class="outline-3">
<h3 id="orgf07f5f7"><span class="section-number-3">2.3</span> Periodic boundary calculations (pbc group)</h3>
<div id="outline-container-orgb6f75c7" class="outline-3">
<h3 id="orgb6f75c7"><span class="section-number-3">2.3</span> Periodic boundary calculations (pbc group)</h3>
<div class="outline-text-3" id="text-2-3">
<p>
A single $k$-point per TREXIO file can be stored. The $k$-point is
defined in this group.
</p>
<table id="org2c8250e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgf1604d0" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -724,15 +724,27 @@ defined in this group.
</div>
</div>
<div id="outline-container-orgd8da273" class="outline-3">
<h3 id="orgd8da273"><span class="section-number-3">2.4</span> Electron (electron group)</h3>
<div id="outline-container-org2cf3459" class="outline-3">
<h3 id="org2cf3459"><span class="section-number-3">2.4</span> Electron (electron group)</h3>
<div class="outline-text-3" id="text-2-4">
<p>
The chemical system consists of nuclei and electrons, where the
nuclei are considered as fixed point charges with Cartesian
coordinates. The wave function is stored in the spin-free
formalism, and therefore, it is necessary for the user to
explicitly store the number of electrons with spin up
(\(N_\uparrow\)) and spin down (\(N_\downarrow\)). These numbers
correspond to the normalization of the spin-up and spin-down
single-particle reduced density matrices.
</p>
<p>
We consider wave functions expressed in the spin-free formalism, where
the number of &uarr; and &darr; electrons is fixed.
</p>
<table id="org4750fa8" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org439ab59" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -778,8 +790,8 @@ the number of &uarr; and &darr; electrons is fixed.
</div>
</div>
<div id="outline-container-org0c07138" class="outline-3">
<h3 id="org0c07138"><span class="section-number-3">2.5</span> Ground or excited states (state group)</h3>
<div id="outline-container-org6f2a3bf" class="outline-3">
<h3 id="org6f2a3bf"><span class="section-number-3">2.5</span> Ground or excited states (state group)</h3>
<div class="outline-text-3" id="text-2-5">
<p>
This group contains information about excited states. Since only a
@ -796,7 +808,7 @@ integrals, etc.
The <code>id</code> and <code>current_label</code> attributes need to be specified for each file.
</p>
<table id="orgb1f968d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org9b6798f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -857,21 +869,21 @@ The <code>id</code> and <code>current_label</code> attributes need to be specifi
</div>
</div>
<div id="outline-container-org9b4fd7a" class="outline-2">
<h2 id="org9b4fd7a"><span class="section-number-2">3</span> Basis functions</h2>
<div id="outline-container-org109fbe5" class="outline-2">
<h2 id="org109fbe5"><span class="section-number-2">3</span> Basis functions</h2>
<div class="outline-text-2" id="text-3">
</div>
<div id="outline-container-org1b1beec" class="outline-3">
<h3 id="org1b1beec"><span class="section-number-3">3.1</span> Basis set (basis group)</h3>
<div id="outline-container-org8c3f1f0" class="outline-3">
<h3 id="org8c3f1f0"><span class="section-number-3">3.1</span> Basis set (basis group)</h3>
<div class="outline-text-3" id="text-3-1">
</div>
<div id="outline-container-orga2197ff" class="outline-4">
<h4 id="orga2197ff"><span class="section-number-4">3.1.1</span> Gaussian and Slater-type orbitals</h4>
<div id="outline-container-org4641ebe" class="outline-4">
<h4 id="org4641ebe"><span class="section-number-4">3.1.1</span> Gaussian and Slater-type orbitals</h4>
<div class="outline-text-4" id="text-3-1-1">
<p>
We consider here basis functions centered on nuclei. Hence, we enable
the possibility to define <i>dummy atoms</i> to place basis functions in
random positions.
We consider here basis functions centered on nuclei. Hence, it is
possibile to define <i>dummy atoms</i> to place basis functions in
arbitrary positions.
</p>
<p>
@ -920,8 +932,8 @@ All the basis set parameters are stored in one-dimensional arrays.
</div>
</div>
<div id="outline-container-org0c68bad" class="outline-4">
<h4 id="org0c68bad"><span class="section-number-4">3.1.2</span> Plane waves</h4>
<div id="outline-container-orgd005813" class="outline-4">
<h4 id="orgd005813"><span class="section-number-4">3.1.2</span> Plane waves</h4>
<div class="outline-text-4" id="text-3-1-2">
<p>
A plane wave is defined as
@ -942,10 +954,10 @@ plane waves.
</div>
</div>
<div id="outline-container-org5ebd679" class="outline-4">
<h4 id="org5ebd679"><span class="section-number-4">3.1.3</span> Data definitions</h4>
<div id="outline-container-org9729e77" class="outline-4">
<h4 id="org9729e77"><span class="section-number-4">3.1.3</span> Data definitions</h4>
<div class="outline-text-4" id="text-3-1-3">
<table id="orge12ec11" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org3db7ec2" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1054,8 +1066,8 @@ plane waves.
</div>
</div>
<div id="outline-container-org5497dbf" class="outline-4">
<h4 id="org5497dbf"><span class="section-number-4">3.1.4</span> Example</h4>
<div id="outline-container-org56e4bd0" class="outline-4">
<h4 id="org56e4bd0"><span class="section-number-4">3.1.4</span> Example</h4>
<div class="outline-text-4" id="text-3-1-4">
<p>
For example, consider H<sub>2</sub> with the following basis set (in GAMESS
@ -1133,8 +1145,8 @@ prim_factor =
</div>
</div>
<div id="outline-container-orgd9418cd" class="outline-3">
<h3 id="orgd9418cd"><span class="section-number-3">3.2</span> Effective core potentials (ecp group)</h3>
<div id="outline-container-orgd6d9644" class="outline-3">
<h3 id="orgd6d9644"><span class="section-number-3">3.2</span> Effective core potentials (ecp group)</h3>
<div class="outline-text-3" id="text-3-2">
<p>
An effective core potential (ECP) \(V_A^{\text{ECP}}\) replacing the
@ -1166,7 +1178,7 @@ All the functions \(V_{A\ell}\) are parameterized as:
See <a href="http://dx.doi.org/10.1063/1.4984046">http://dx.doi.org/10.1063/1.4984046</a> or <a href="https://doi.org/10.1063/1.5121006">https://doi.org/10.1063/1.5121006</a> for more info.
</p>
<table id="org7b72d04" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgbe1da35" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1270,8 +1282,8 @@ If you encounter the aforementioned issue, please report it to our
</p>
</div>
<div id="outline-container-org6bd429e" class="outline-4">
<h4 id="org6bd429e"><span class="section-number-4">3.2.1</span> Example</h4>
<div id="outline-container-org36dc5a6" class="outline-4">
<h4 id="org36dc5a6"><span class="section-number-4">3.2.1</span> Example</h4>
<div class="outline-text-4" id="text-3-2-1">
<p>
For example, consider H<sub>2</sub> molecule with the following
@ -1334,8 +1346,8 @@ power = [
</div>
</div>
<div id="outline-container-orga99c9c0" class="outline-3">
<h3 id="orga99c9c0"><span class="section-number-3">3.3</span> Numerical integration grid (grid group)</h3>
<div id="outline-container-org4c5de58" class="outline-3">
<h3 id="org4c5de58"><span class="section-number-3">3.3</span> Numerical integration grid (grid group)</h3>
<div class="outline-text-3" id="text-3-3">
<p>
In some applications, such as DFT calculations, integrals have to
@ -1350,7 +1362,7 @@ The structure of this group is adapted for the <a href="https://github.com/dftli
Feel free to submit a PR if you find missing options/functionalities.
</p>
<table id="org10405cb" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgc9162b6" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1467,71 +1479,93 @@ Feel free to submit a PR if you find missing options/functionalities.
</div>
</div>
<div id="outline-container-orga5b10a6" class="outline-2">
<h2 id="orga5b10a6"><span class="section-number-2">4</span> Orbitals</h2>
<div id="outline-container-orgebe58ff" class="outline-2">
<h2 id="orgebe58ff"><span class="section-number-2">4</span> Orbitals</h2>
<div class="outline-text-2" id="text-4">
</div>
<div id="outline-container-orgd323161" class="outline-3">
<h3 id="orgd323161"><span class="section-number-3">4.1</span> Atomic orbitals (ao group)</h3>
<div id="outline-container-org54aab01" class="outline-3">
<h3 id="org54aab01"><span class="section-number-3">4.1</span> Atomic orbitals (ao group)</h3>
<div class="outline-text-3" id="text-4-1">
<p>
Going from the atomic basis set to AOs implies a systematic
construction of all the angular functions of each shell. We
consider two cases for the angular functions: the real-valued
spherical harmonics, and the polynomials in Cartesian coordinates.
In the case of real spherical harmonics, the AOs are ordered as
\(0, +1, -1, +2, -2, \dots, +m, -m\) (see <a href="https://en.wikipedia.org/wiki/Table_of_spherical_harmonics#Real_spherical_harmonics">Wikipedia</a>).
In the case of polynomials we
impose the canonical (or alphabetical) ordering), i.e
</p>
\begin{eqnarray}
p & : & p_x, p_y, p_z \nonumber \\
d & : & d_{xx}, d_{xy}, d_{xz}, d_{yy}, d_{yz}, d_{zz} \nonumber \\
f & : & f_{xxx}, f_{xxy}, f_{xxz}, f_{xyy}, f_{xyz}, f_{xzz}, f_{yyy}, f_{yyz}, f_{yzz}, …f_{zzz} \nonumber \\
{\rm etc.} \nonumber
\end{eqnarray}
<p>
Note that there is no exception for \(p\) orbitals in spherical
coordinates: the ordering is \(0,+1,-1\) which corresponds \(p_z, p_x, p_y\).
</p>
<p>
AOs are defined as
</p>
<p>
\[
\chi_i (\mathbf{r}) = \mathcal{N}_i\, P_{\eta(i)}(\mathbf{r})\, R_{s(i)} (\mathbf{r})
\chi_i (\mathbf{r}) = \mathcal{N}_i'\, P_{\eta(i)}(\mathbf{r})\, R_{s(i)} (\mathbf{r})
\]
</p>
<p>
where \(i\) is the atomic orbital index,
\(P\) encodes for either the
polynomials or the spherical harmonics, \(s(i)\) returns the
shell on which the AO is expanded, and \(\eta(i)\) denotes which
angular function is chosen.
\(\mathcal{N}_i\) is a normalization factor that enables the
possibility to have different normalization coefficients within a
shell, as in the GAMESS convention where
\(\mathcal{N}_{x^2} \ne \mathcal{N}_{xy}\) because
\[ \left[ \iiint \left(x-X_A \right)^2 R_{s(i)}
(\mathbf{r}) dx\, dy\, dz \right]^{-1/2} \ne
\left[ \iiint \left( x-X_A \right) \left( y-Y_A \right) R_{s(i)}
(\mathbf{r}) dx\, dy\, dz \right]^{-1/2}. \]
where \(i\) is the atomic orbital index, \(P\) refers to either
polynomials or spherical harmonics, and \(s(i)\) specifies the shell
on which the AO is expanded.
</p>
<p>
In such a case, one should set the normalization of the shell (in
the <a href="#org1b1beec">Basis set</a> 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}}\).
\(\eta(i)\) denotes the chosen angular function. The AOs can be
expressed using real spherical harmonics or polynomials in Cartesian
coordinates. In the case of real spherical harmonics, the AOs are
ordered as \(0, +1, -1, +2, -2, \dots, + m, -m\) (see <a href="https://en.wikipedia.org/wiki/Table_of_spherical_harmonics#Real_spherical_harmonics">Wikipedia</a>). In
the case of polynomials, the canonical (or alphabetical) ordering is
used,
</p>
<table id="orgc65e4e3" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
<col class="org-left" />
<col class="org-left" />
</colgroup>
<tbody>
<tr>
<td class="org-left">\(p\)</td>
<td class="org-left">\(p_x, p_y, p_z\)</td>
</tr>
<tr>
<td class="org-left">\(d\)</td>
<td class="org-left">\(d_{xx}, d_{xy}, d_{xz}, d_{yy}, d_{yz}, d_{zz}\)</td>
</tr>
<tr>
<td class="org-left">\(f\)</td>
<td class="org-left">\(f_{xxx}, f_{xxy}, f_{xxz}, f_{xyy}, f_{xyz}\),</td>
</tr>
<tr>
<td class="org-left">&#xa0;</td>
<td class="org-left">\(f_{xzz}, f_{yyy}, f_{yyz}, f_{yzz}, f_{zzz}\)</td>
</tr>
<tr>
<td class="org-left">\(\vdots\)</td>
<td class="org-left">&#xa0;</td>
</tr>
</tbody>
</table>
<p>
Note that for \(p\) orbitals in spherical coordinates, the ordering
is \(0,+1,-1\) which corresponds to \(p_z, p_x, p_y\).
</p>
<p>
\(\mathcal{N}_i'\) is a normalization factor that allows for different
normalization coefficients within a single shell, as in the GAMESS
convention where each individual function is unit-normalized.
Using GAMESS convention, the normalization factor of the shell
\(\mathcal{N}_d\) in the <code>basis</code> group is appropriate for instance
for the \(d_z^2\) function (i.e.
\(\mathcal{N}_{d}\equiv\mathcal{N}_{z^2}\)) but not for the \(d_{xy}\)
AO, so the correction factor \(\mathcal{N}_i'\) for \(d_{xy}\) in the
<code>ao</code> groups is the ratio \(\frac{\mathcal{N}_{xy}}{\mathcal{N}_{z^2}}\).
</p>
<table id="org2f77206" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1583,7 +1617,7 @@ introduced here should be \(\frac{\mathcal{N}_{xy}}{\mathcal{N}_{z^2}}\).
</table>
</div>
<div id="outline-container-org7d095cd" class="outline-4">
<div id="outline-container-org70483d5" class="outline-4">
<h4 id="ao_one_e"><span class="section-number-4">4.1.1</span> One-electron integrals (<code>ao_1e_int</code> group)</h4>
<div class="outline-text-4" id="text-ao_one_e">
<ul class="org-ul">
@ -1601,7 +1635,7 @@ The one-electron integrals for a one-electron operator \(\hat{O}\) are
over atomic orbitals.
</p>
<table id="orgb407944" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgc71b2cf" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1696,7 +1730,7 @@ over atomic orbitals.
</div>
</div>
<div id="outline-container-org8374a1f" class="outline-4">
<div id="outline-container-orgc6853a9" class="outline-4">
<h4 id="ao_two_e"><span class="section-number-4">4.1.2</span> Two-electron integrals (<code>ao_2e_int</code> group)</h4>
<div class="outline-text-4" id="text-ao_two_e">
<p>
@ -1722,7 +1756,7 @@ The Cholesky decomposition of the integrals can also be stored:
\]
</p>
<table id="orgcf9c303" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgc08c82c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1790,10 +1824,10 @@ The Cholesky decomposition of the integrals can also be stored:
</div>
</div>
<div id="outline-container-orgb005ca3" class="outline-3">
<h3 id="orgb005ca3"><span class="section-number-3">4.2</span> Molecular orbitals (mo group)</h3>
<div id="outline-container-org40c725d" class="outline-3">
<h3 id="org40c725d"><span class="section-number-3">4.2</span> Molecular orbitals (mo group)</h3>
<div class="outline-text-3" id="text-4-2">
<table id="orgabf2b40" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgd8e9950" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1880,8 +1914,8 @@ The Cholesky decomposition of the integrals can also be stored:
</table>
</div>
<div id="outline-container-org4d54fb9" class="outline-4">
<h4 id="org4d54fb9"><span class="section-number-4">4.2.1</span> One-electron integrals (<code>mo_1e_int</code> group)</h4>
<div id="outline-container-org7e0442b" class="outline-4">
<h4 id="org7e0442b"><span class="section-number-4">4.2.1</span> One-electron integrals (<code>mo_1e_int</code> group)</h4>
<div class="outline-text-4" id="text-4-2-1">
<p>
The operators as the same as those defined in the
@ -1889,7 +1923,7 @@ The operators as the same as those defined in the
the basis of molecular orbitals.
</p>
<table id="org5d8414e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org1388bb2" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1984,8 +2018,8 @@ the basis of molecular orbitals.
</div>
</div>
<div id="outline-container-orgebf8764" class="outline-4">
<h4 id="orgebf8764"><span class="section-number-4">4.2.2</span> Two-electron integrals (<code>mo_2e_int</code> group)</h4>
<div id="outline-container-orgf09167a" class="outline-4">
<h4 id="orgf09167a"><span class="section-number-4">4.2.2</span> Two-electron integrals (<code>mo_2e_int</code> group)</h4>
<div class="outline-text-4" id="text-4-2-2">
<p>
The operators are the same as those defined in the
@ -1993,7 +2027,7 @@ The operators are the same as those defined in the
the basis of molecular orbitals.
</p>
<table id="org358baf6" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org670a283" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -2062,12 +2096,12 @@ the basis of molecular orbitals.
</div>
</div>
<div id="outline-container-orgccc826f" class="outline-2">
<h2 id="orgccc826f"><span class="section-number-2">5</span> Multi-determinant information</h2>
<div id="outline-container-orgc37ab7a" class="outline-2">
<h2 id="orgc37ab7a"><span class="section-number-2">5</span> Multi-determinant information</h2>
<div class="outline-text-2" id="text-5">
</div>
<div id="outline-container-orgacdf8b5" class="outline-3">
<h3 id="orgacdf8b5"><span class="section-number-3">5.1</span> Slater determinants (determinant group)</h3>
<div id="outline-container-org93fc46f" class="outline-3">
<h3 id="org93fc46f"><span class="section-number-3">5.1</span> Slater determinants (determinant group)</h3>
<div class="outline-text-3" id="text-5-1">
<p>
The configuration interaction (CI) wave function \(\Psi\)
@ -2109,7 +2143,7 @@ produced by the code generator.
An illustration on how to read determinants is presented in the <a href="./examples.html">examples</a>.
</p>
<table id="org8a50606" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgf19a120" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -2155,8 +2189,8 @@ An illustration on how to read determinants is presented in the <a href="./examp
</div>
</div>
<div id="outline-container-org3ba4366" class="outline-3">
<h3 id="org3ba4366"><span class="section-number-3">5.2</span> Configuration state functions (csf group)</h3>
<div id="outline-container-org4d08f66" class="outline-3">
<h3 id="org4d08f66"><span class="section-number-3">5.2</span> Configuration state functions (csf group)</h3>
<div class="outline-text-3" id="text-5-2">
<p>
The configuration interaction (CI) wave function \(\Psi\) can be
@ -2178,7 +2212,7 @@ matrix \(\langle D_I | \psi_J \rangle\) needed to project the CSFs in
the basis of Slater determinants.
</p>
<table id="org881cdae" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgd63e362" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -2224,8 +2258,8 @@ the basis of Slater determinants.
</div>
</div>
<div id="outline-container-orge5bf65d" class="outline-3">
<h3 id="orge5bf65d"><span class="section-number-3">5.3</span> Amplitudes (amplitude group)</h3>
<div id="outline-container-orge0c7d9f" class="outline-3">
<h3 id="orge0c7d9f"><span class="section-number-3">5.3</span> Amplitudes (amplitude group)</h3>
<div class="outline-text-3" id="text-5-3">
<p>
The wave function may be expressed in terms of action of the cluster
@ -2296,7 +2330,7 @@ The order of the indices is chosen such that
<li>\(\dots\)</li>
</ul>
<table id="orgf4547df" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org4bdc702" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -2377,8 +2411,8 @@ The order of the indices is chosen such that
</div>
</div>
<div id="outline-container-orgba8fd10" class="outline-3">
<h3 id="orgba8fd10"><span class="section-number-3">5.4</span> Reduced density matrices (rdm group)</h3>
<div id="outline-container-org2f63f7c" class="outline-3">
<h3 id="org2f63f7c"><span class="section-number-3">5.4</span> Reduced density matrices (rdm group)</h3>
<div class="outline-text-3" id="text-5-4">
<p>
The reduced density matrices are defined in the basis of molecular
@ -2450,7 +2484,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)\).
</p>
<table id="org6576724" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org1a595e1" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -2581,22 +2615,22 @@ expressed in a basis of a one-electron function
</div>
</div>
<div id="outline-container-orge999bd7" class="outline-2">
<h2 id="orge999bd7"><span class="section-number-2">6</span> Correlation factors</h2>
<div id="outline-container-org8a1c9e5" class="outline-2">
<h2 id="org8a1c9e5"><span class="section-number-2">6</span> Correlation factors</h2>
<div class="outline-text-2" id="text-6">
</div>
<div id="outline-container-orgce559e0" class="outline-3">
<h3 id="orgce559e0"><span class="section-number-3">6.1</span> Jastrow factor (jastrow group)</h3>
<div id="outline-container-org1cee547" class="outline-3">
<h3 id="org1cee547"><span class="section-number-3">6.1</span> Jastrow factor (jastrow group)</h3>
<div class="outline-text-3" id="text-6-1">
<p>
The Jastrow factor is an $N$-electron function to which the CI
expansion is multiplied: \(\Psi = \Phi \times \exp(J)\),
The Jastrow factor is an $N$-electron function which multiplies the CI
expansion: \(\Psi = \Phi \times \exp(J)\),
</p>
<p>
In the following, we use the notations \(r_{ij} = |\mathbf{r}_i - \mathbf{r}_j|\) and
\(R_{i\alpha} = |\mathbf{r}_i - \mathbf{R}_\alpha|\), where indices
\(i\) and \(j\) correspond to electrons and \(\alpha\) to nuclei.
\(i\) and \(j\) refer to electrons and \(\alpha\) to nuclei.
</p>
<p>
@ -2611,8 +2645,8 @@ following:
</ul>
</div>
<div id="outline-container-org4bf32ce" class="outline-4">
<h4 id="org4bf32ce"><span class="section-number-4">6.1.1</span> CHAMP</h4>
<div id="outline-container-org18e234c" class="outline-4">
<h4 id="org18e234c"><span class="section-number-4">6.1.1</span> CHAMP</h4>
<div class="outline-text-4" id="text-6-1-1">
<p>
The first form of Jastrow factor is the one used in
@ -2627,53 +2661,76 @@ the <a href="https://trex-coe.eu/trex-quantum-chemistry-codes/champ">CHAMP</a> p
<p>
\(J_{\text{eN}}\) contains electron-nucleus terms:
\(J_{\text{eN}}\) contains electron-nucleus terms:
</p>
<p>
\[
J_{\text{eN}}(\mathbf{r},\mathbf{R}) = \sum_{i=1}^{N_\text{elec}} \sum_{\alpha=1}^{N_\text{nucl}}
\frac{a_{1,\alpha}\, g_\alpha(R_{i\alpha})}{1+a_{2,\alpha}\, g_\alpha(R_{i\alpha})} +
\sum_{p=2}^{N_\text{ord}^a} a_{p+1,\alpha}\, [g_\alpha(R_{i\alpha})]^p - J_{eN}^\infty
J_{\text{eN}}(\mathbf{r},\mathbf{R}) = \sum_{i=1}^{N_\text{elec}} \sum_{\alpha=1}^{N_\text{nucl}}\left[
\frac{a_{1,\alpha}\, f_\alpha(R_{i\alpha})}{1+a_{2,\alpha}\,
f_\alpha(R_{i\alpha})} + \sum_{p=2}^{N_\text{ord}^a} a_{p+1,\alpha}\, [f_\alpha(R_{i\alpha})]^p - J_{\text{eN}}^\infty
\right]
\]
</p>
<p>
\(J_{\text{ee}}\) contains electron-electron terms:
</p>
<p>
\[
J_{\text{ee}}(\mathbf{r}) =
\sum_{i=1}^{N_\text{elec}} \sum_{j=1}^{i-1}
\frac{b_1\, f(r_{ij})}{1+b_2\, f(r_{ij})} +
\sum_{p=2}^{N_\text{ord}^b} a_{p+1}\, [f(r_{ij})]^p - J_{ee}^\infty
\left[
\frac{\frac{1}{2}\big(1 + \delta^{\uparrow\downarrow}_{ij}\big)\,b_1\, f_{\text{ee}}(r_{ij})}{1+b_2\, f_{\text{ee}}(r_{ij})} +
\sum_{p=2}^{N_\text{ord}^b} b_{p+1}\, [f_{\text{ee}}(r_{ij})]^p - J_{\text{ee},ij}^\infty
\right]
\]
</p>
<p>
and \(J_{\text{eeN}}\) contains electron-electron-Nucleus terms:
\(\delta^{\uparrow\downarrow}_{ij}\) is zero when the electrons \(i\) and
\(j\) have the same spin, and one otherwise.
</p>
<p>
\(J_{\text{eeN}}\) contains electron-electron-Nucleus terms:
</p>
<p>
\[
J_{\text{eeN}}(\mathbf{r},\mathbf{R}) =
J_{\text{eeN}}(\mathbf{r},\mathbf{R}) =
\sum_{\alpha=1}^{N_{\text{nucl}}}
\sum_{i=1}^{N_{\text{elec}}}
\sum_{j=1}^{i-1}
\sum_{p=2}^{N_{\text{ord}}}
\sum_{k=0}^{p-1}
\sum_{l=0}^{p-k-2\delta_{k,0}}
c_{lkp\alpha} \left[ f({r}_{ij}) \right]^k
\left[ \left[ g_\alpha({R}_{i\alpha}) \right]^l + \left[ g_\alpha({R}_{j\alpha}) \right]^l \right]
\left[ g_\alpha({R}_{i\,\alpha}) \, g_\alpha({R}_{j\alpha}) \right]^{(p-k-l)/2}
c_{lkp\alpha} \left[ g_{\text{ee}}({r}_{ij}) \right]^k \nonumber \\
\left[ \left[ g_\alpha({R}_{i\alpha}) \right]^l + \left[ g_\alpha({R}_{j\alpha}) \right]^l \right]
\left[ g_\alpha({R}_{i\,\alpha}) \,
g_\alpha({R}_{j\alpha}) \right]^{(p-k-l)/2}
\]
</p>
<p>
\(c_{lkp\alpha}\) are non-zero only when \(p-k-l\) is even.
</p>
<p>
The terms \(J_{\text{ee}}^\infty\) and \(J_{\text{eN}}^\infty\) are shifts to ensure that
\(J_{\text{ee}}\) and \(J_{\text{eN}}\) have an asymptotic value of zero.
The terms \(J_{\text{ee},ij}^\infty\) and \(J_{\text{eN}}^\infty\) are shifts to ensure that
\(J_{\text{eN}}\) and \(J_{\text{ee}}\) have an asymptotic value of zero:
</p>
<p>
\[
J_{\text{eN}}^{\infty} =
\frac{a_{1,\alpha}\, \kappa_\alpha^{-1}}{1+a_{2,\alpha}\,
\kappa_\alpha^{-1}} + \sum_{p=2}^{N_\text{ord}^a} a_{p+1,\alpha}\, \kappa_\alpha^{-p}
\]
\[
J_{\text{ee},ij}^{\infty} =
\frac{\frac{1}{2}\big(1 + \delta^{\uparrow\downarrow}_{ij}\big)\,b_1\,
\kappa_{\text{ee}}^{-1}}{1+b_2\, \kappa_{\text{ee}}^{-1}} +
\sum_{p=2}^{N_\text{ord}^b} b_{p+1}\, \kappa_{\text{ee}}^{-p}
\]
</p>
<p>
@ -2682,20 +2739,21 @@ The terms \(J_{\text{ee}}^\infty\) and \(J_{\text{eN}}^\infty\) are shifts to en
<p>
\[
f(r) = \frac{1-e^{-\kappa\, r}}{\kappa} \text{ and }
g_\alpha(r) = e^{-\kappa_\alpha\, r}.
f_\alpha(r) = \frac{1-e^{-\kappa_\alpha\, r}}{\kappa_\alpha} \text{ and }
g_\alpha(r) = e^{-\kappa_\alpha\, r},
\]
</p>
</div>
</div>
<div id="outline-container-orgc5bd558" class="outline-4">
<h4 id="orgc5bd558"><span class="section-number-4">6.1.2</span> Mu</h4>
<div id="outline-container-orgb0325e6" class="outline-4">
<h4 id="orgb0325e6"><span class="section-number-4">6.1.2</span> Mu</h4>
<div class="outline-text-4" id="text-6-1-2">
<p>
<a href="https://aip.scitation.org/doi/10.1063/5.0044683">Mu-Jastrow</a> is based on a one-parameter correlation factor that has
been introduced in the context of transcorrelated methods. This
correlation factor imposes the electron-electron cusp and it is
correlation factor imposes the electron-electron cusp, and it is
built such that the leading order in \(1/r_{12}\) of the effective
two-electron potential reproduces the long-range interaction of the
range-separated density functional theory. Its analytical
@ -2710,19 +2768,19 @@ expression reads
</p>
<p>
The electron-electron cusp is incorporated in the three-body term.
The electron-electron cusp is incorporated in the three-body term
</p>
<p>
\[
J_\text{eeN} (\mathbf{r}, \mathbf{R}) =
\sum_{i=1}^{N_\text{elec}} \sum_{j=1}^{i-1} \, u\left(\mu, r_{ij}\right) \,
\Pi_{\alpha=1}^{N_{\text{nucl}}} \, E_\alpha({R}_{i\alpha}) \, E_\alpha({R}_{j\alpha})
\Pi_{\alpha=1}^{N_{\text{nucl}}} \, E_\alpha({R}_{i\alpha}) \, E_\alpha({R}_{j\alpha}),
\]
</p>
<p>
\(u\) is an electron-electron function given by the symmetric function
where ww\(u\) is an electron-electron function
</p>
<p>
@ -2739,7 +2797,7 @@ electrons.
<p>
An envelope function has been introduced to cancel out the Jastrow
effects between two-electrons when they are both close to a nucleus
effects between two-electrons when at least one is close to a nucleus
(to perform a frozen-core calculation). The envelope function is
given by
</p>
@ -2787,10 +2845,10 @@ The parameter \(\mu\) is stored in the <code>ee</code> array, the parameters
</div>
</div>
<div id="outline-container-orgd9c89a3" class="outline-4">
<h4 id="orgd9c89a3"><span class="section-number-4">6.1.3</span> Table of values</h4>
<div id="outline-container-org1af10ad" class="outline-4">
<h4 id="org1af10ad"><span class="section-number-4">6.1.3</span> Table of values</h4>
<div class="outline-text-4" id="text-6-1-3">
<table id="orgc668fc1" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org7ed591d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -2818,13 +2876,6 @@ The parameter \(\mu\) is stored in the <code>ee</code> array, the parameters
<td class="org-left">Type of Jastrow factor: <code>CHAMP</code> or <code>Mu</code></td>
</tr>
<tr>
<td class="org-left"><code>ee_num</code></td>
<td class="org-left"><code>dim</code></td>
<td class="org-left">&#xa0;</td>
<td class="org-left">Number of Electron-electron parameters</td>
</tr>
<tr>
<td class="org-left"><code>en_num</code></td>
<td class="org-left"><code>dim</code></td>
@ -2832,6 +2883,13 @@ The parameter \(\mu\) is stored in the <code>ee</code> array, the parameters
<td class="org-left">Number of Electron-nucleus parameters</td>
</tr>
<tr>
<td class="org-left"><code>ee_num</code></td>
<td class="org-left"><code>dim</code></td>
<td class="org-left">&#xa0;</td>
<td class="org-left">Number of Electron-electron parameters</td>
</tr>
<tr>
<td class="org-left"><code>een_num</code></td>
<td class="org-left"><code>dim</code></td>
@ -2839,13 +2897,6 @@ The parameter \(\mu\) is stored in the <code>ee</code> array, the parameters
<td class="org-left">Number of Electron-electron-nucleus parameters</td>
</tr>
<tr>
<td class="org-left"><code>ee</code></td>
<td class="org-left"><code>float</code></td>
<td class="org-left"><code>(jastrow.ee_num)</code></td>
<td class="org-left">Electron-electron parameters</td>
</tr>
<tr>
<td class="org-left"><code>en</code></td>
<td class="org-left"><code>float</code></td>
@ -2853,6 +2904,13 @@ The parameter \(\mu\) is stored in the <code>ee</code> array, the parameters
<td class="org-left">Electron-nucleus parameters</td>
</tr>
<tr>
<td class="org-left"><code>ee</code></td>
<td class="org-left"><code>float</code></td>
<td class="org-left"><code>(jastrow.ee_num)</code></td>
<td class="org-left">Electron-electron parameters</td>
</tr>
<tr>
<td class="org-left"><code>een</code></td>
<td class="org-left"><code>float</code></td>
@ -2894,8 +2952,8 @@ The parameter \(\mu\) is stored in the <code>ee</code> array, the parameters
</div>
</div>
<div id="outline-container-org706769b" class="outline-2">
<h2 id="org706769b"><span class="section-number-2">7</span> Quantum Monte Carlo data (qmc group)</h2>
<div id="outline-container-orga545421" class="outline-2">
<h2 id="orga545421"><span class="section-number-2">7</span> Quantum Monte Carlo data (qmc group)</h2>
<div class="outline-text-2" id="text-7">
<p>
In quantum Monte Carlo calculations, the wave function is evaluated
@ -2909,7 +2967,7 @@ By convention, the electron coordinates contain first all the electrons
of $&uarr;$-spin and then all the $&darr;$-spin.
</p>
<table id="orgdb9752e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgee4daac" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -2964,7 +3022,7 @@ of $&uarr;$-spin and then all the $&darr;$-spin.
</div>
<div id="postamble" class="status">
<p class="author">Author: TREX-CoE</p>
<p class="date">Created: 2023-02-27 Mon 14:49</p>
<p class="date">Created: 2023-02-28 Tue 08:45</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>