1
0
mirror of https://github.com/TREX-CoE/trexio.git synced 2025-04-16 13:49:19 +02:00

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

This commit is contained in:
scemama 2024-11-21 08:47:39 +00:00
parent de08ff9d58
commit a828b01eca
10 changed files with 671 additions and 667 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>
<!-- 2024-11-20 Wed 14:29 -->
<!-- 2024-11-21 Thu 08:47 -->
<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>
@ -411,7 +411,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: 2024-11-20 Wed 14:29</p>
<p class="date">Created: 2024-11-21 Thu 08:47</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>
<!-- 2024-11-20 Wed 14:29 -->
<!-- 2024-11-21 Thu 08:47 -->
<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,61 +346,61 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#org703cbe0">1. Writing nuclear coordinates</a>
<li><a href="#orgfb4675b">1. Writing nuclear coordinates</a>
<ul>
<li><a href="#org2697649">1.1. C</a></li>
<li><a href="#orgdf49152">1.2. Python</a></li>
<li><a href="#org55f1364">1.3. Fortran</a></li>
<li><a href="#org848122d">1.1. C</a></li>
<li><a href="#org2433ad8">1.2. Python</a></li>
<li><a href="#org0143bf7">1.3. Fortran</a></li>
</ul>
</li>
<li><a href="#org018a800">2. Accessing sparse quantities (integrals)</a>
<li><a href="#org2a5bb95">2. Accessing sparse quantities (integrals)</a>
<ul>
<li><a href="#org01cd0f1">2.1. Fortran</a>
<li><a href="#orgaf0d7a9">2.1. Fortran</a>
<ul>
<li><a href="#org28aaae1">2.1.1. Declare Temporary variables</a></li>
<li><a href="#org9957b1c">2.1.2. Obtain the name of the TREXIO file from the command line, and open it for reading</a></li>
<li><a href="#org7b78e2e">2.1.3. Read the nuclear repulsion energy</a></li>
<li><a href="#org040c9c2">2.1.4. Read the number of molecular orbitals</a></li>
<li><a href="#orgcca8755">2.1.5. Allocate memory</a></li>
<li><a href="#org73f4987">2.1.6. Read one-electron quantities</a></li>
<li><a href="#org1f411df">2.1.7. Read two-electron quantities</a>
<li><a href="#org1c4e039">2.1.1. Declare Temporary variables</a></li>
<li><a href="#org10404a3">2.1.2. Obtain the name of the TREXIO file from the command line, and open it for reading</a></li>
<li><a href="#org749ce2f">2.1.3. Read the nuclear repulsion energy</a></li>
<li><a href="#org368b849">2.1.4. Read the number of molecular orbitals</a></li>
<li><a href="#orgeb8a461">2.1.5. Allocate memory</a></li>
<li><a href="#org964bf3d">2.1.6. Read one-electron quantities</a></li>
<li><a href="#orgd4057f1">2.1.7. Read two-electron quantities</a>
<ul>
<li><a href="#orgb6bfe82">2.1.7.1. Electron repulsion integrals</a></li>
<li><a href="#org773fd81">2.1.7.2. Reduced density matrix</a></li>
<li><a href="#org71db9de">2.1.7.1. Electron repulsion integrals</a></li>
<li><a href="#org3ce64c7">2.1.7.2. Reduced density matrix</a></li>
</ul>
</li>
<li><a href="#orgcbda434">2.1.8. Compute the energy</a></li>
<li><a href="#orgdfdf197">2.1.9. Terminate</a></li>
<li><a href="#orgb73d59c">2.1.8. Compute the energy</a></li>
<li><a href="#org2239c2f">2.1.9. Terminate</a></li>
</ul>
</li>
<li><a href="#org7c6fa35">2.2. Python</a>
<li><a href="#orgb6e548f">2.2. Python</a>
<ul>
<li><a href="#orgd2b043b">2.2.1. Obtain the name of the TREXIO file from the command line, and open it for reading</a></li>
<li><a href="#orgdb10521">2.2.2. Read the nuclear repulsion energy</a></li>
<li><a href="#org32e90d8">2.2.3. Read the number of molecular orbitals</a></li>
<li><a href="#org7ebfbcf">2.2.4. Read one-electron quantities</a></li>
<li><a href="#orga45424b">2.2.5. Read two-electron quantities</a>
<li><a href="#org75da077">2.2.1. Obtain the name of the TREXIO file from the command line, and open it for reading</a></li>
<li><a href="#org12ac986">2.2.2. Read the nuclear repulsion energy</a></li>
<li><a href="#org394d706">2.2.3. Read the number of molecular orbitals</a></li>
<li><a href="#org1f93442">2.2.4. Read one-electron quantities</a></li>
<li><a href="#org954a563">2.2.5. Read two-electron quantities</a>
<ul>
<li><a href="#org40fffa0">2.2.5.1. Electron repulsion integrals</a></li>
<li><a href="#org1e6d0d6">2.2.5.2. Reduced density matrix</a></li>
<li><a href="#orgdc6194e">2.2.5.1. Electron repulsion integrals</a></li>
<li><a href="#org2501a5b">2.2.5.2. Reduced density matrix</a></li>
</ul>
</li>
<li><a href="#orgc7e0b6b">2.2.6. Compute the energy</a></li>
<li><a href="#org5cd3f46">2.2.6. Compute the energy</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#org57ffac6">3. Reading determinants</a>
<li><a href="#orgc56a4d6">3. Reading determinants</a>
<ul>
<li><a href="#org0144468">3.1. Fortran</a></li>
<li><a href="#org9aea64f">3.1. Fortran</a></li>
</ul>
</li>
</ul>
</div>
</div>
<div id="outline-container-org703cbe0" class="outline-2">
<h2 id="org703cbe0"><span class="section-number-2">1</span> Writing nuclear coordinates</h2>
<div id="outline-container-orgfb4675b" class="outline-2">
<h2 id="orgfb4675b"><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
@ -410,8 +410,8 @@ as well as the necessary TREXIO functions to perform these actions.
</p>
</div>
<div id="outline-container-org2697649" class="outline-3">
<h3 id="org2697649"><span class="section-number-3">1.1</span> C</h3>
<div id="outline-container-org848122d" class="outline-3">
<h3 id="org848122d"><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>
@ -461,8 +461,8 @@ as well as the necessary TREXIO functions to perform these actions.
</div>
</div>
<div id="outline-container-orgdf49152" class="outline-3">
<h3 id="orgdf49152"><span class="section-number-3">1.2</span> Python</h3>
<div id="outline-container-org2433ad8" class="outline-3">
<h3 id="org2433ad8"><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
@ -509,8 +509,8 @@ coordinates of the system.
</div>
</div>
<div id="outline-container-org55f1364" class="outline-3">
<h3 id="org55f1364"><span class="section-number-3">1.3</span> Fortran</h3>
<div id="outline-container-org0143bf7" class="outline-3">
<h3 id="org0143bf7"><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>
@ -567,12 +567,12 @@ coordinates of the system.
</div>
</div>
<div id="outline-container-org018a800" class="outline-2">
<h2 id="org018a800"><span class="section-number-2">2</span> Accessing sparse quantities (integrals)</h2>
<div id="outline-container-org2a5bb95" class="outline-2">
<h2 id="org2a5bb95"><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-org01cd0f1" class="outline-3">
<h3 id="org01cd0f1"><span class="section-number-3">2.1</span> Fortran</h3>
<div id="outline-container-orgaf0d7a9" class="outline-3">
<h3 id="orgaf0d7a9"><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>
@ -618,8 +618,8 @@ One needs to read from the TREXIO file:
</div>
</div>
<div id="outline-container-org28aaae1" class="outline-4">
<h4 id="org28aaae1"><span class="section-number-4">2.1.1</span> Declare Temporary variables</h4>
<div id="outline-container-org1c4e039" class="outline-4">
<h4 id="org1c4e039"><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>
@ -634,8 +634,8 @@ One needs to read from the TREXIO file:
</div>
</div>
<div id="outline-container-org9957b1c" class="outline-4">
<h4 id="org9957b1c"><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-org10404a3" class="outline-4">
<h4 id="org10404a3"><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)
@ -651,8 +651,8 @@ f = trexio_open (filename, <span style="color: #8b2252;">'r'</span>, TREXIO_AUTO
</div>
</div>
<div id="outline-container-org7b78e2e" class="outline-4">
<h4 id="org7b78e2e"><span class="section-number-4">2.1.3</span> Read the nuclear repulsion energy</h4>
<div id="outline-container-org749ce2f" class="outline-4">
<h4 id="org749ce2f"><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)
@ -666,8 +666,8 @@ f = trexio_open (filename, <span style="color: #8b2252;">'r'</span>, TREXIO_AUTO
</div>
</div>
<div id="outline-container-org040c9c2" class="outline-4">
<h4 id="org040c9c2"><span class="section-number-4">2.1.4</span> Read the number of molecular orbitals</h4>
<div id="outline-container-org368b849" class="outline-4">
<h4 id="org368b849"><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)
@ -681,8 +681,8 @@ f = trexio_open (filename, <span style="color: #8b2252;">'r'</span>, TREXIO_AUTO
</div>
</div>
<div id="outline-container-orgcca8755" class="outline-4">
<h4 id="orgcca8755"><span class="section-number-4">2.1.5</span> Allocate memory</h4>
<div id="outline-container-orgeb8a461" class="outline-4">
<h4 id="orgeb8a461"><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) )
@ -694,8 +694,8 @@ W(:,:,:,:) = 0.d0
</div>
</div>
<div id="outline-container-org73f4987" class="outline-4">
<h4 id="org73f4987"><span class="section-number-4">2.1.6</span> Read one-electron quantities</h4>
<div id="outline-container-org964bf3d" class="outline-4">
<h4 id="org964bf3d"><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)
@ -727,8 +727,8 @@ rc = trexio_read_rdm_1e(f, D)
</div>
</div>
<div id="outline-container-org1f411df" class="outline-4">
<h4 id="org1f411df"><span class="section-number-4">2.1.7</span> Read two-electron quantities</h4>
<div id="outline-container-orgd4057f1" class="outline-4">
<h4 id="orgd4057f1"><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
@ -744,8 +744,8 @@ to be protected in the critical section when modified.
</p>
</div>
<div id="outline-container-orgb6bfe82" class="outline-5">
<h5 id="orgb6bfe82"><span class="section-number-5">2.1.7.1</span> Electron repulsion integrals</h5>
<div id="outline-container-org71db9de" class="outline-5">
<h5 id="org71db9de"><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)
@ -794,8 +794,8 @@ icount = BUFSIZE
</div>
</div>
<div id="outline-container-org773fd81" class="outline-5">
<h5 id="org773fd81"><span class="section-number-5">2.1.7.2</span> Reduced density matrix</h5>
<div id="outline-container-org3ce64c7" class="outline-5">
<h5 id="org3ce64c7"><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)
@ -839,8 +839,8 @@ icount = bufsize
</div>
</div>
<div id="outline-container-orgcbda434" class="outline-4">
<h4 id="orgcbda434"><span class="section-number-4">2.1.8</span> Compute the energy</h4>
<div id="outline-container-orgb73d59c" class="outline-4">
<h4 id="orgb73d59c"><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
@ -886,8 +886,8 @@ E = E + E_nn
</div>
</div>
<div id="outline-container-orgdfdf197" class="outline-4">
<h4 id="orgdfdf197"><span class="section-number-4">2.1.9</span> Terminate</h4>
<div id="outline-container-org2239c2f" class="outline-4">
<h4 id="org2239c2f"><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 )
@ -899,8 +899,8 @@ E = E + E_nn
</div>
</div>
<div id="outline-container-org7c6fa35" class="outline-3">
<h3 id="org7c6fa35"><span class="section-number-3">2.2</span> Python</h3>
<div id="outline-container-orgb6e548f" class="outline-3">
<h3 id="orgb6e548f"><span class="section-number-3">2.2</span> Python</h3>
<div class="outline-text-3" id="text-2-2">
<div class="org-src-container">
<pre class="src src-python"><span style="color: #a020f0;">import</span> sys
@ -934,8 +934,8 @@ One needs to read from the TREXIO file:
</dl>
</div>
<div id="outline-container-orgd2b043b" class="outline-4">
<h4 id="orgd2b043b"><span class="section-number-4">2.2.1</span> Obtain the name of the TREXIO file from the command line, and open it for reading</h4>
<div id="outline-container-org75da077" class="outline-4">
<h4 id="org75da077"><span class="section-number-4">2.2.1</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-2-1">
<div class="org-src-container">
<pre class="src src-python"><span style="color: #a0522d;">filename</span> = sys.argv[1]
@ -945,8 +945,8 @@ One needs to read from the TREXIO file:
</div>
</div>
<div id="outline-container-orgdb10521" class="outline-4">
<h4 id="orgdb10521"><span class="section-number-4">2.2.2</span> Read the nuclear repulsion energy</h4>
<div id="outline-container-org12ac986" class="outline-4">
<h4 id="org12ac986"><span class="section-number-4">2.2.2</span> Read the nuclear repulsion energy</h4>
<div class="outline-text-4" id="text-2-2-2">
<div class="org-src-container">
<pre class="src src-python"><span style="color: #a0522d;">E_nn</span> = trexio.read_nucleus_repulsion(f)
@ -955,8 +955,8 @@ One needs to read from the TREXIO file:
</div>
</div>
<div id="outline-container-org32e90d8" class="outline-4">
<h4 id="org32e90d8"><span class="section-number-4">2.2.3</span> Read the number of molecular orbitals</h4>
<div id="outline-container-org394d706" class="outline-4">
<h4 id="org394d706"><span class="section-number-4">2.2.3</span> Read the number of molecular orbitals</h4>
<div class="outline-text-4" id="text-2-2-3">
<div class="org-src-container">
<pre class="src src-python"><span style="color: #a0522d;">n</span> = trexio.read_mo_num(f)
@ -965,8 +965,8 @@ One needs to read from the TREXIO file:
</div>
</div>
<div id="outline-container-org7ebfbcf" class="outline-4">
<h4 id="org7ebfbcf"><span class="section-number-4">2.2.4</span> Read one-electron quantities</h4>
<div id="outline-container-org1f93442" class="outline-4">
<h4 id="org1f93442"><span class="section-number-4">2.2.4</span> Read one-electron quantities</h4>
<div class="outline-text-4" id="text-2-2-4">
<div class="org-src-container">
<pre class="src src-python"><span style="color: #a020f0;">if</span> <span style="color: #a020f0;">not</span> trexio.has_mo_1e_int_core_hamiltonian(f):
@ -985,12 +985,12 @@ One needs to read from the TREXIO file:
</div>
</div>
<div id="outline-container-orga45424b" class="outline-4">
<h4 id="orga45424b"><span class="section-number-4">2.2.5</span> Read two-electron quantities</h4>
<div id="outline-container-org954a563" class="outline-4">
<h4 id="org954a563"><span class="section-number-4">2.2.5</span> Read two-electron quantities</h4>
<div class="outline-text-4" id="text-2-2-5">
</div>
<div id="outline-container-org40fffa0" class="outline-5">
<h5 id="org40fffa0"><span class="section-number-5">2.2.5.1</span> Electron repulsion integrals</h5>
<div id="outline-container-orgdc6194e" class="outline-5">
<h5 id="orgdc6194e"><span class="section-number-5">2.2.5.1</span> Electron repulsion integrals</h5>
<div class="outline-text-5" id="text-2-2-5-1">
<div class="org-src-container">
<pre class="src src-python"><span style="color: #a020f0;">if</span> <span style="color: #a020f0;">not</span> trexio.has_mo_2e_int_eri(f):
@ -1005,6 +1005,7 @@ One needs to read from the TREXIO file:
<span style="color: #a0522d;">W</span> = np.zeros( (n,n,n,n) )
<span style="color: #a020f0;">while</span> <span style="color: #a020f0;">not</span> feof:
<span style="color: #a0522d;">buffer_index</span>, <span style="color: #a0522d;">buffer_values</span>, <span style="color: #a0522d;">icount</span>, <span style="color: #a0522d;">feof</span> = trexio.read_mo_2e_int_eri(f, offset, icount)
<span style="color: #a0522d;">offset</span> += icount
<span style="color: #a020f0;">for</span> m <span style="color: #a020f0;">in</span> <span style="color: #483d8b;">range</span>(icount):
<span style="color: #a0522d;">i</span>, <span style="color: #a0522d;">j</span>, <span style="color: #a0522d;">k</span>, <span style="color: #a0522d;">l</span> = buffer_index[m]
<span style="color: #a0522d;">W</span>[i,j,k,l] = buffer_values[m]
@ -1020,8 +1021,8 @@ One needs to read from the TREXIO file:
</div>
</div>
<div id="outline-container-org1e6d0d6" class="outline-5">
<h5 id="org1e6d0d6"><span class="section-number-5">2.2.5.2</span> Reduced density matrix</h5>
<div id="outline-container-org2501a5b" class="outline-5">
<h5 id="org2501a5b"><span class="section-number-5">2.2.5.2</span> Reduced density matrix</h5>
<div class="outline-text-5" id="text-2-2-5-2">
<div class="org-src-container">
<pre class="src src-python"><span style="color: #a020f0;">if</span> <span style="color: #a020f0;">not</span> trexio.has_rdm_2e(f):
@ -1033,6 +1034,7 @@ One needs to read from the TREXIO file:
<span style="color: #a0522d;">G</span> = np.zeros( (n,n,n,n) )
<span style="color: #a020f0;">while</span> <span style="color: #a020f0;">not</span> feof:
<span style="color: #a0522d;">buffer_index</span>, <span style="color: #a0522d;">buffer_values</span>, <span style="color: #a0522d;">icount</span>, <span style="color: #a0522d;">feof</span> = trexio.read_rdm_2e(f, offset, icount)
<span style="color: #a0522d;">offset</span> += icount
<span style="color: #a020f0;">for</span> m <span style="color: #a020f0;">in</span> <span style="color: #483d8b;">range</span>(icount):
<span style="color: #a0522d;">i</span>, <span style="color: #a0522d;">j</span>, <span style="color: #a0522d;">k</span>, <span style="color: #a0522d;">l</span> = buffer_index[m]
<span style="color: #a0522d;">G</span>[i,j,k,l] = buffer_values[m]
@ -1043,8 +1045,8 @@ One needs to read from the TREXIO file:
</div>
</div>
<div id="outline-container-orgc7e0b6b" class="outline-4">
<h4 id="orgc7e0b6b"><span class="section-number-4">2.2.6</span> Compute the energy</h4>
<div id="outline-container-org5cd3f46" class="outline-4">
<h4 id="org5cd3f46"><span class="section-number-4">2.2.6</span> Compute the energy</h4>
<div class="outline-text-4" id="text-2-2-6">
<p>
When the orbitals are real, we can use
@ -1073,12 +1075,12 @@ E &=& E_{\text{NN}} + \sum_{ij} \gamma_{ij}\, \langle j | h | i \rangle\,
</div>
</div>
<div id="outline-container-org57ffac6" class="outline-2">
<h2 id="org57ffac6"><span class="section-number-2">3</span> Reading determinants</h2>
<div id="outline-container-orgc56a4d6" class="outline-2">
<h2 id="orgc56a4d6"><span class="section-number-2">3</span> Reading determinants</h2>
<div class="outline-text-2" id="text-3">
</div>
<div id="outline-container-org0144468" class="outline-3">
<h3 id="org0144468"><span class="section-number-3">3.1</span> Fortran</h3>
<div id="outline-container-org9aea64f" class="outline-3">
<h3 id="org9aea64f"><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>
@ -1157,7 +1159,7 @@ end
</div>
<div id="postamble" class="status">
<p class="author">Author: TREX-CoE</p>
<p class="date">Created: 2024-11-20 Wed 14:29</p>
<p class="date">Created: 2024-11-21 Thu 08:47</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>

View File

@ -491,6 +491,7 @@ feof = False
W = np.zeros( (n,n,n,n) )
while not feof:
buffer_index, buffer_values, icount, feof = trexio.read_mo_2e_int_eri(f, offset, icount)
offset += icount
for m in range(icount):
i, j, k, l = buffer_index[m]
W[i,j,k,l] = buffer_values[m]
@ -515,6 +516,7 @@ feof = False
G = np.zeros( (n,n,n,n) )
while not feof:
buffer_index, buffer_values, icount, feof = trexio.read_rdm_2e(f, offset, icount)
offset += icount
for m in range(icount):
i, j, k, l = buffer_index[m]
G[i,j,k,l] = buffer_values[m]

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>
<!-- 2024-11-20 Wed 14:29 -->
<!-- 2024-11-21 Thu 08:47 -->
<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>
@ -411,7 +411,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: 2024-11-20 Wed 14:29</p>
<p class="date">Created: 2024-11-21 Thu 08:47</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>
<!-- 2024-11-20 Wed 14:29 -->
<!-- 2024-11-21 Thu 08:47 -->
<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: 2024-11-20 Wed 14:29</p>
<p class="date">Created: 2024-11-21 Thu 08:47</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>
<!-- 2024-11-20 Wed 14:29 -->
<!-- 2024-11-21 Thu 08:47 -->
<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="#org2526fb6">1. Format specification</a>
<li><a href="#org291a2bc">1. Format specification</a>
<ul>
<li><a href="#org011f86a">1.1. Organization of the data</a></li>
<li><a href="#orgd68db31">1.2. Data types</a></li>
<li><a href="#org88cd259">1.1. Organization of the data</a></li>
<li><a href="#org532726a">1.2. Data types</a></li>
</ul>
</li>
<li><a href="#org2920936">2. The TREXIO library</a>
<li><a href="#orga94c654">2. The TREXIO library</a>
<ul>
<li><a href="#orgbd6217a">2.1. The front-end</a></li>
<li><a href="#orgb19e73f">2.2. The back-end</a></li>
<li><a href="#orgae51329">2.3. Supported languages</a></li>
<li><a href="#org51afeed">2.4. Source code generation and documentation</a></li>
<li><a href="#org4a6c2f5">2.5. Availability</a></li>
<li><a href="#orgf3757e9">2.1. The front-end</a></li>
<li><a href="#org79ce7d2">2.2. The back-end</a></li>
<li><a href="#orga6fd334">2.3. Supported languages</a></li>
<li><a href="#orgfb6b021">2.4. Source code generation and documentation</a></li>
<li><a href="#orgbfa375c">2.5. Availability</a></li>
</ul>
</li>
</ul>
@ -366,8 +366,8 @@ for the JavaScript code in this tag.
</div>
<div id="outline-container-org2526fb6" class="outline-2">
<h2 id="org2526fb6"><span class="section-number-2">1</span> Format specification</h2>
<div id="outline-container-org291a2bc" class="outline-2">
<h2 id="org291a2bc"><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-org011f86a" class="outline-3">
<h3 id="org011f86a"><span class="section-number-3">1.1</span> Organization of the data</h3>
<div id="outline-container-org88cd259" class="outline-3">
<h3 id="org88cd259"><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-orgd68db31" class="outline-3">
<h3 id="orgd68db31"><span class="section-number-3">1.2</span> Data types</h3>
<div id="outline-container-org532726a" class="outline-3">
<h3 id="org532726a"><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-org2920936" class="outline-2">
<h2 id="org2920936"><span class="section-number-2">2</span> The TREXIO library</h2>
<div id="outline-container-orga94c654" class="outline-2">
<h2 id="orga94c654"><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-orgbd6217a" class="outline-3">
<h3 id="orgbd6217a"><span class="section-number-3">2.1</span> The front-end</h3>
<div id="outline-container-orgf3757e9" class="outline-3">
<h3 id="orgf3757e9"><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-orgb19e73f" class="outline-3">
<h3 id="orgb19e73f"><span class="section-number-3">2.2</span> The back-end</h3>
<div id="outline-container-org79ce7d2" class="outline-3">
<h3 id="org79ce7d2"><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-orgae51329" class="outline-3">
<h3 id="orgae51329"><span class="section-number-3">2.3</span> Supported languages</h3>
<div id="outline-container-orga6fd334" class="outline-3">
<h3 id="orga6fd334"><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-org51afeed" class="outline-3">
<h3 id="org51afeed"><span class="section-number-3">2.4</span> Source code generation and documentation</h3>
<div id="outline-container-orgfb6b021" class="outline-3">
<h3 id="orgfb6b021"><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-org4a6c2f5" class="outline-3">
<h3 id="org4a6c2f5"><span class="section-number-3">2.5</span> Availability</h3>
<div id="outline-container-orgbfa375c" class="outline-3">
<h3 id="orgbfa375c"><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: 2024-11-20 Wed 14:29</p>
<p class="date">Created: 2024-11-21 Thu 08:47</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>
<!-- 2024-11-20 Wed 14:29 -->
<!-- 2024-11-21 Thu 08:47 -->
<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="#orga61cecb">1. Template for HDF5 definitions</a></li>
<li><a href="#org823852b">2. Template for HDF5 structures</a></li>
<li><a href="#org913e832">3. Template for HDF5 init/deinit</a></li>
<li><a href="#org170345a">4. Template for HDF5 has a group</a></li>
<li><a href="#org4ba4f3f">5. Template for HDF5 has/read/write a numerical attribute</a></li>
<li><a href="#orgd2da42f">6. Template for HDF5 has/read/write a dataset of numerical data</a></li>
<li><a href="#orgc06b605">7. Template for HDF5 has/read/write a dataset of sparse data</a></li>
<li><a href="#orgd3a80e4">8. Template for HDF5 has/read/write a dataset of buffered vectors</a></li>
<li><a href="#org8a2719c">9. Template for HDF5 has/read/write a dataset of strings</a></li>
<li><a href="#orga5cc59e">10. Template for HDF5 has/read/write a string attribute</a></li>
<li><a href="#orge417b11">11. Template for HDF5 delete a group (UNSAFE mode)</a></li>
<li><a href="#orgfb701b1">12. Source code for the determinant part</a></li>
<li><a href="#org4b71194">13. Helper functions</a></li>
<li><a href="#org0309da4">1. Template for HDF5 definitions</a></li>
<li><a href="#orgeb3e78e">2. Template for HDF5 structures</a></li>
<li><a href="#orgbf2f539">3. Template for HDF5 init/deinit</a></li>
<li><a href="#orge64b782">4. Template for HDF5 has a group</a></li>
<li><a href="#orgbc5b8f0">5. Template for HDF5 has/read/write a numerical attribute</a></li>
<li><a href="#org13aab36">6. Template for HDF5 has/read/write a dataset of numerical data</a></li>
<li><a href="#org69a1676">7. Template for HDF5 has/read/write a dataset of sparse data</a></li>
<li><a href="#org8e25d7b">8. Template for HDF5 has/read/write a dataset of buffered vectors</a></li>
<li><a href="#org38200a9">9. Template for HDF5 has/read/write a dataset of strings</a></li>
<li><a href="#org38708da">10. Template for HDF5 has/read/write a string attribute</a></li>
<li><a href="#orge5aae38">11. Template for HDF5 delete a group (UNSAFE mode)</a></li>
<li><a href="#org7fdd9f6">12. Source code for the determinant part</a></li>
<li><a href="#org329b010">13. Helper functions</a></li>
</ul>
</div>
</div>
<div id="outline-container-orga61cecb" class="outline-2">
<h2 id="orga61cecb"><span class="section-number-2">1</span> Template for HDF5 definitions</h2>
<div id="outline-container-org0309da4" class="outline-2">
<h2 id="org0309da4"><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-org823852b" class="outline-2">
<h2 id="org823852b"><span class="section-number-2">2</span> Template for HDF5 structures</h2>
<div id="outline-container-orgeb3e78e" class="outline-2">
<h2 id="orgeb3e78e"><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-org913e832" class="outline-2">
<h2 id="org913e832"><span class="section-number-2">3</span> Template for HDF5 init/deinit</h2>
<div id="outline-container-orgbf2f539" class="outline-2">
<h2 id="orgbf2f539"><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-org170345a" class="outline-2">
<h2 id="org170345a"><span class="section-number-2">4</span> Template for HDF5 has a group</h2>
<div id="outline-container-orge64b782" class="outline-2">
<h2 id="orge64b782"><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-org4ba4f3f" class="outline-2">
<h2 id="org4ba4f3f"><span class="section-number-2">5</span> Template for HDF5 has/read/write a numerical attribute</h2>
<div id="outline-container-orgbc5b8f0" class="outline-2">
<h2 id="orgbc5b8f0"><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-orgd2da42f" class="outline-2">
<h2 id="orgd2da42f"><span class="section-number-2">6</span> Template for HDF5 has/read/write a dataset of numerical data</h2>
<div id="outline-container-org13aab36" class="outline-2">
<h2 id="org13aab36"><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-orgc06b605" class="outline-2">
<h2 id="orgc06b605"><span class="section-number-2">7</span> Template for HDF5 has/read/write a dataset of sparse data</h2>
<div id="outline-container-org69a1676" class="outline-2">
<h2 id="org69a1676"><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
@ -976,8 +976,8 @@ due to the fact that the sparse data will be written in chunks of user-defined s
</div>
</div>
<div id="outline-container-orgd3a80e4" class="outline-2">
<h2 id="orgd3a80e4"><span class="section-number-2">8</span> Template for HDF5 has/read/write a dataset of buffered vectors</h2>
<div id="outline-container-org8e25d7b" class="outline-2">
<h2 id="org8e25d7b"><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.
@ -1111,8 +1111,8 @@ Chunked I/O in HDF5 for <code>buffered</code> data.
</div>
</div>
<div id="outline-container-org8a2719c" class="outline-2">
<h2 id="org8a2719c"><span class="section-number-2">9</span> Template for HDF5 has/read/write a dataset of strings</h2>
<div id="outline-container-org38200a9" class="outline-2">
<h2 id="org38200a9"><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>
@ -1309,8 +1309,8 @@ Chunked I/O in HDF5 for <code>buffered</code> data.
</div>
</div>
<div id="outline-container-orga5cc59e" class="outline-2">
<h2 id="orga5cc59e"><span class="section-number-2">10</span> Template for HDF5 has/read/write a string attribute</h2>
<div id="outline-container-org38708da" class="outline-2">
<h2 id="org38708da"><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>
@ -1437,8 +1437,8 @@ Chunked I/O in HDF5 for <code>buffered</code> data.
</div>
</div>
</div>
<div id="outline-container-orge417b11" class="outline-2">
<h2 id="orge417b11"><span class="section-number-2">11</span> Template for HDF5 delete a group (UNSAFE mode)</h2>
<div id="outline-container-orge5aae38" class="outline-2">
<h2 id="orge5aae38"><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
@ -1478,8 +1478,8 @@ Thus, any corrupted/lost file space will remain in the first file. The use of <c
</div>
</div>
<div id="outline-container-orgfb701b1" class="outline-2">
<h2 id="orgfb701b1"><span class="section-number-2">12</span> Source code for the determinant part</h2>
<div id="outline-container-org7fdd9f6" class="outline-2">
<h2 id="org7fdd9f6"><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.
@ -1581,8 +1581,8 @@ Size specifies the number of data items (e.g. determinants) to process.
</div>
</div>
<div id="outline-container-org4b71194" class="outline-2">
<h2 id="org4b71194"><span class="section-number-2">13</span> Helper functions</h2>
<div id="outline-container-org329b010" class="outline-2">
<h2 id="org329b010"><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>
@ -1850,7 +1850,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: 2024-11-20 Wed 14:29</p>
<p class="date">Created: 2024-11-21 Thu 08:47</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>
<!-- 2024-11-20 Wed 14:29 -->
<!-- 2024-11-21 Thu 08:47 -->
<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="#org25be0d6">1. Template for group-related structures in text back end</a></li>
<li><a href="#org0b28003">2. Template for general structure in text back end</a></li>
<li><a href="#org1ab52a5">3. Initialize function (constant part)</a></li>
<li><a href="#org18c6599">4. Deinitialize function (templated part)</a></li>
<li><a href="#orgdcd5de7">5. Flush function (templated part)</a></li>
<li><a href="#org1f92bcc">6. Template for text read a group</a></li>
<li><a href="#org92a0df2">7. Template for text has a group</a></li>
<li><a href="#org7ddae7a">8. Template for text flush a group</a></li>
<li><a href="#org4ddd40f">9. Template for text free memory</a></li>
<li><a href="#org0349813">10. Template for has/read/write a numerical attribute</a></li>
<li><a href="#org96a15a3">11. Template for has/read/write a dataset of numerical data</a></li>
<li><a href="#orge24957b">12. Template for has/read/write a dataset of strings</a></li>
<li><a href="#org6cd9c37">13. Template for has/read/write a string attribute</a></li>
<li><a href="#orgfe5e297">14. Template for has/read/write the dataset of sparse data</a></li>
<li><a href="#org7028212">15. Template for has/read/write a buffered vector</a></li>
<li><a href="#org23b8298">16. Template for text delete a group (UNSAFE mode)</a></li>
<li><a href="#org9e91c12">17. Source code for the determinant part</a></li>
<li><a href="#org6970e60">1. Template for group-related structures in text back end</a></li>
<li><a href="#orgc931d91">2. Template for general structure in text back end</a></li>
<li><a href="#orgdff3ba2">3. Initialize function (constant part)</a></li>
<li><a href="#org48c52b4">4. Deinitialize function (templated part)</a></li>
<li><a href="#orgb03ca75">5. Flush function (templated part)</a></li>
<li><a href="#org2820fe3">6. Template for text read a group</a></li>
<li><a href="#org04b2b72">7. Template for text has a group</a></li>
<li><a href="#orgba9ddac">8. Template for text flush a group</a></li>
<li><a href="#org1b84f9f">9. Template for text free memory</a></li>
<li><a href="#org1546e01">10. Template for has/read/write a numerical attribute</a></li>
<li><a href="#orgb22d019">11. Template for has/read/write a dataset of numerical data</a></li>
<li><a href="#orgd05c745">12. Template for has/read/write a dataset of strings</a></li>
<li><a href="#org1870409">13. Template for has/read/write a string attribute</a></li>
<li><a href="#org67da71e">14. Template for has/read/write the dataset of sparse data</a></li>
<li><a href="#org751fe07">15. Template for has/read/write a buffered vector</a></li>
<li><a href="#org3ef4f96">16. Template for text delete a group (UNSAFE mode)</a></li>
<li><a href="#org8094c6f">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-org25be0d6" class="outline-2">
<h2 id="org25be0d6"><span class="section-number-2">1</span> Template for group-related structures in text back end</h2>
<div id="outline-container-org6970e60" class="outline-2">
<h2 id="org6970e60"><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-org0b28003" class="outline-2">
<h2 id="org0b28003"><span class="section-number-2">2</span> Template for general structure in text back end</h2>
<div id="outline-container-orgc931d91" class="outline-2">
<h2 id="orgc931d91"><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-org1ab52a5" class="outline-2">
<h2 id="org1ab52a5"><span class="section-number-2">3</span> Initialize function (constant part)</h2>
<div id="outline-container-orgdff3ba2" class="outline-2">
<h2 id="orgdff3ba2"><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>
@ -601,8 +601,8 @@ In that case, we define an alternate one, which is not as safe as the original o
</div>
</div>
<div id="outline-container-org18c6599" class="outline-2">
<h2 id="org18c6599"><span class="section-number-2">4</span> Deinitialize function (templated part)</h2>
<div id="outline-container-org48c52b4" class="outline-2">
<h2 id="org48c52b4"><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>
@ -624,8 +624,8 @@ In that case, we define an alternate one, which is not as safe as the original o
</div>
</div>
<div id="outline-container-orgdcd5de7" class="outline-2">
<h2 id="orgdcd5de7"><span class="section-number-2">5</span> Flush function (templated part)</h2>
<div id="outline-container-orgb03ca75" class="outline-2">
<h2 id="orgb03ca75"><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>
@ -648,8 +648,8 @@ In that case, we define an alternate one, which is not as safe as the original o
</div>
</div>
<div id="outline-container-org1f92bcc" class="outline-2">
<h2 id="org1f92bcc"><span class="section-number-2">6</span> Template for text read a group</h2>
<div id="outline-container-org2820fe3" class="outline-2">
<h2 id="org2820fe3"><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*
@ -875,8 +875,8 @@ trexio_text_read_$group$ (<span style="color: #228b22;">trexio_text_t</span>* <s
</div>
</div>
<div id="outline-container-org92a0df2" class="outline-2">
<h2 id="org92a0df2"><span class="section-number-2">7</span> Template for text has a group</h2>
<div id="outline-container-org04b2b72" class="outline-2">
<h2 id="org04b2b72"><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>
@ -916,8 +916,8 @@ trexio_text_read_$group$ (<span style="color: #228b22;">trexio_text_t</span>* <s
</div>
</div>
<div id="outline-container-org7ddae7a" class="outline-2">
<h2 id="org7ddae7a"><span class="section-number-2">8</span> Template for text flush a group</h2>
<div id="outline-container-orgba9ddac" class="outline-2">
<h2 id="orgba9ddac"><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>
@ -981,8 +981,8 @@ trexio_text_read_$group$ (<span style="color: #228b22;">trexio_text_t</span>* <s
</div>
</div>
<div id="outline-container-org4ddd40f" class="outline-2">
<h2 id="org4ddd40f"><span class="section-number-2">9</span> Template for text free memory</h2>
<div id="outline-container-org1b84f9f" class="outline-2">
<h2 id="org1b84f9f"><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.
@ -1051,8 +1051,8 @@ This function is called upon the non-successful exit from the <code>trexio_text_
</div>
</div>
<div id="outline-container-org0349813" class="outline-2">
<h2 id="org0349813"><span class="section-number-2">10</span> Template for has/read/write a numerical attribute</h2>
<div id="outline-container-org1546e01" class="outline-2">
<h2 id="org1546e01"><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>
@ -1115,8 +1115,8 @@ This function is called upon the non-successful exit from the <code>trexio_text_
</div>
</div>
<div id="outline-container-org96a15a3" class="outline-2">
<h2 id="org96a15a3"><span class="section-number-2">11</span> Template for has/read/write a dataset of numerical data</h2>
<div id="outline-container-orgb22d019" class="outline-2">
<h2 id="orgb22d019"><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.
@ -1212,8 +1212,8 @@ The <code>group_dset</code> array is assumed allocated with the appropriate size
</div>
</div>
</div>
<div id="outline-container-orge24957b" class="outline-2">
<h2 id="orge24957b"><span class="section-number-2">12</span> Template for has/read/write a dataset of strings</h2>
<div id="outline-container-orgd05c745" class="outline-2">
<h2 id="orgd05c745"><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.
@ -1314,8 +1314,8 @@ The <code>group_dset</code> array is assumed allocated with the appropriate size
</div>
</div>
</div>
<div id="outline-container-org6cd9c37" class="outline-2">
<h2 id="org6cd9c37"><span class="section-number-2">13</span> Template for has/read/write a string attribute</h2>
<div id="outline-container-org1870409" class="outline-2">
<h2 id="org1870409"><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>
@ -1389,8 +1389,8 @@ The <code>group_dset</code> array is assumed allocated with the appropriate size
</div>
</div>
</div>
<div id="outline-container-orgfe5e297" class="outline-2">
<h2 id="orgfe5e297"><span class="section-number-2">14</span> Template for has/read/write the dataset of sparse data</h2>
<div id="outline-container-org67da71e" class="outline-2">
<h2 id="org67da71e"><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
@ -1680,8 +1680,8 @@ User provides indices and values of the sparse array as two separate variables.
</div>
</div>
<div id="outline-container-org7028212" class="outline-2">
<h2 id="org7028212"><span class="section-number-2">15</span> Template for has/read/write a buffered vector</h2>
<div id="outline-container-org751fe07" class="outline-2">
<h2 id="org751fe07"><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
@ -1911,8 +1911,8 @@ Size specifies the number of vector elements to be written.
</div>
</div>
</div>
<div id="outline-container-org23b8298" class="outline-2">
<h2 id="org23b8298"><span class="section-number-2">16</span> Template for text delete a group (UNSAFE mode)</h2>
<div id="outline-container-org3ef4f96" class="outline-2">
<h2 id="org3ef4f96"><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>
@ -1940,8 +1940,8 @@ Size specifies the number of vector elements to be written.
</div>
</div>
<div id="outline-container-org9e91c12" class="outline-2">
<h2 id="org9e91c12"><span class="section-number-2">17</span> Source code for the determinant part</h2>
<div id="outline-container-org8094c6f" class="outline-2">
<h2 id="org8094c6f"><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
@ -2133,7 +2133,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: 2024-11-20 Wed 14:29</p>
<p class="date">Created: 2024-11-21 Thu 08:47</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>

254
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>
<!-- 2024-11-20 Wed 14:29 -->
<!-- 2024-11-21 Thu 08:47 -->
<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,72 +346,72 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#orgf8d8d25">1. Metadata (metadata group)</a></li>
<li><a href="#org14a605e">2. System</a>
<li><a href="#org9d052f8">1. Metadata (metadata group)</a></li>
<li><a href="#org3778376">2. System</a>
<ul>
<li><a href="#org3827e71">2.1. Nucleus (nucleus group)</a></li>
<li><a href="#org8cfe6ae">2.2. Cell (cell group)</a></li>
<li><a href="#org52e7020">2.3. Periodic boundary calculations (pbc group)</a></li>
<li><a href="#org52396a0">2.4. Electron (electron group)</a></li>
<li><a href="#orgdae2c52">2.5. Ground or excited states (state group)</a></li>
<li><a href="#org6c51e34">2.1. Nucleus (nucleus group)</a></li>
<li><a href="#org9befda3">2.2. Cell (cell group)</a></li>
<li><a href="#org8ca40ea">2.3. Periodic boundary calculations (pbc group)</a></li>
<li><a href="#orgb44fe1f">2.4. Electron (electron group)</a></li>
<li><a href="#orgee10801">2.5. Ground or excited states (state group)</a></li>
</ul>
</li>
<li><a href="#org5ee8a70">3. Basis functions</a>
<li><a href="#org0c49b20">3. Basis functions</a>
<ul>
<li><a href="#org1df5cc4">3.1. Basis set (basis group)</a>
<li><a href="#org0caa5ec">3.1. Basis set (basis group)</a>
<ul>
<li><a href="#orge1cb872">3.1.1. Gaussian and Slater-type orbitals</a></li>
<li><a href="#orgd109008">3.1.2. Numerical orbitals</a></li>
<li><a href="#orgb6781c0">3.1.3. Plane waves</a></li>
<li><a href="#org2af12ab">3.1.4. Oscillating orbitals</a></li>
<li><a href="#orgc341023">3.1.5. Data definitions</a></li>
<li><a href="#org919948a">3.1.6. Example</a></li>
<li><a href="#orgba3a857">3.1.1. Gaussian and Slater-type orbitals</a></li>
<li><a href="#orgdd3fa54">3.1.2. Numerical orbitals</a></li>
<li><a href="#org3c8681b">3.1.3. Plane waves</a></li>
<li><a href="#org59e700d">3.1.4. Oscillating orbitals</a></li>
<li><a href="#orgf2f3c40">3.1.5. Data definitions</a></li>
<li><a href="#org2cdda89">3.1.6. Example</a></li>
</ul>
</li>
<li><a href="#org9d79234">3.2. Effective core potentials (ecp group)</a>
<li><a href="#orgb06fa76">3.2. Effective core potentials (ecp group)</a>
<ul>
<li><a href="#org3670ac7">3.2.1. Example</a></li>
<li><a href="#orgce16a2b">3.2.1. Example</a></li>
</ul>
</li>
<li><a href="#org83e9fd6">3.3. Numerical integration grid (grid group)</a></li>
<li><a href="#org8a41f0c">3.3. Numerical integration grid (grid group)</a></li>
</ul>
</li>
<li><a href="#org7f7894a">4. Orbitals</a>
<li><a href="#org5729ac3">4. Orbitals</a>
<ul>
<li><a href="#orgca4ef9d">4.1. Atomic orbitals (ao group)</a>
<li><a href="#orgb328b1e">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="#org23e7c1f">4.2. Molecular orbitals (mo group)</a>
<li><a href="#orge720cc1">4.2. Molecular orbitals (mo group)</a>
<ul>
<li><a href="#orgbc59f2e">4.2.1. One-electron integrals (<code>mo_1e_int</code> group)</a></li>
<li><a href="#org1016bb8">4.2.2. Two-electron integrals (<code>mo_2e_int</code> group)</a></li>
<li><a href="#org818eb93">4.2.1. One-electron integrals (<code>mo_1e_int</code> group)</a></li>
<li><a href="#org6d0bd96">4.2.2. Two-electron integrals (<code>mo_2e_int</code> group)</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#org4532d32">5. Multi-determinant information</a>
<li><a href="#orgfbda512">5. Multi-determinant information</a>
<ul>
<li><a href="#org4f1fe06">5.1. Slater determinants (determinant group)</a></li>
<li><a href="#org81f8f3b">5.2. Configuration state functions (csf group)</a></li>
<li><a href="#orgd2bc3f5">5.3. Amplitudes (amplitude group)</a></li>
<li><a href="#org490e538">5.4. Reduced density matrices (rdm group)</a></li>
<li><a href="#orgc94c7e4">5.1. Slater determinants (determinant group)</a></li>
<li><a href="#org08c974a">5.2. Configuration state functions (csf group)</a></li>
<li><a href="#org65245d8">5.3. Amplitudes (amplitude group)</a></li>
<li><a href="#org46cd5ca">5.4. Reduced density matrices (rdm group)</a></li>
</ul>
</li>
<li><a href="#org04a685b">6. Correlation factors</a>
<li><a href="#org1b3725e">6. Correlation factors</a>
<ul>
<li><a href="#org24b6615">6.1. Jastrow factor (jastrow group)</a>
<li><a href="#org50d3c0a">6.1. Jastrow factor (jastrow group)</a>
<ul>
<li><a href="#org9c3bf5e">6.1.1. CHAMP</a></li>
<li><a href="#org9ea0da8">6.1.2. Mu</a></li>
<li><a href="#org8a19129">6.1.3. Table of values</a></li>
<li><a href="#org3bce731">6.1.1. CHAMP</a></li>
<li><a href="#org89e522c">6.1.2. Mu</a></li>
<li><a href="#org834422e">6.1.3. Table of values</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#org03a46d4">7. Quantum Monte Carlo data (qmc group)</a></li>
<li><a href="#orgdcc10f3">7. Quantum Monte Carlo data (qmc group)</a></li>
</ul>
</div>
</div>
@ -433,8 +433,8 @@ contiguous in memory. In the row-major representation, <code>A[i,j]</code> and
<code>A[i,j+1]</code> are contiguous.
</p>
<div id="outline-container-orgf8d8d25" class="outline-2">
<h2 id="orgf8d8d25"><span class="section-number-2">1</span> Metadata (metadata group)</h2>
<div id="outline-container-org9d052f8" class="outline-2">
<h2 id="org9d052f8"><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,
@ -444,7 +444,7 @@ have participated to the creation of the file, a list of authors of
the file, and a textual description.
</p>
<table id="orge2021d3" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orge810aa6" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -537,19 +537,19 @@ value can be manually overwritten (in unsafe mode) from <code>1</code> to <code>
</div>
</div>
<div id="outline-container-org14a605e" class="outline-2">
<h2 id="org14a605e"><span class="section-number-2">2</span> System</h2>
<div id="outline-container-org3778376" class="outline-2">
<h2 id="org3778376"><span class="section-number-2">2</span> System</h2>
<div class="outline-text-2" id="text-2">
</div>
<div id="outline-container-org3827e71" class="outline-3">
<h3 id="org3827e71"><span class="section-number-3">2.1</span> Nucleus (nucleus group)</h3>
<div id="outline-container-org6c51e34" class="outline-3">
<h3 id="org6c51e34"><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="org441d99b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org790184c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -634,15 +634,15 @@ given in Cartesian \((x,y,z)\) format.
</div>
</div>
<div id="outline-container-org8cfe6ae" class="outline-3">
<h3 id="org8cfe6ae"><span class="section-number-3">2.2</span> Cell (cell group)</h3>
<div id="outline-container-org9befda3" class="outline-3">
<h3 id="org9befda3"><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="orgfd1f0e9" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org3a0ca76" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -726,10 +726,10 @@ used in periodic calculations.
</div>
</div>
<div id="outline-container-org52e7020" class="outline-3">
<h3 id="org52e7020"><span class="section-number-3">2.3</span> Periodic boundary calculations (pbc group)</h3>
<div id="outline-container-org8ca40ea" class="outline-3">
<h3 id="org8ca40ea"><span class="section-number-3">2.3</span> Periodic boundary calculations (pbc group)</h3>
<div class="outline-text-3" id="text-2-3">
<table id="org70b4351" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orge7d089b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -789,8 +789,8 @@ used in periodic calculations.
</div>
</div>
<div id="outline-container-org52396a0" class="outline-3">
<h3 id="org52396a0"><span class="section-number-3">2.4</span> Electron (electron group)</h3>
<div id="outline-container-orgb44fe1f" class="outline-3">
<h3 id="orgb44fe1f"><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
@ -809,7 +809,7 @@ the number of &uarr; and &darr; electrons is fixed.
</p>
<table id="org33c70ed" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org947283c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -861,8 +861,8 @@ the number of &uarr; and &darr; electrons is fixed.
</div>
</div>
<div id="outline-container-orgdae2c52" class="outline-3">
<h3 id="orgdae2c52"><span class="section-number-3">2.5</span> Ground or excited states (state group)</h3>
<div id="outline-container-orgee10801" class="outline-3">
<h3 id="orgee10801"><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
@ -879,7 +879,7 @@ integrals, etc.
The <code>id</code> and <code>current_label</code> attributes need to be specified for each file.
</p>
<table id="org077f9eb" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgc4280db" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -956,16 +956,16 @@ The <code>id</code> and <code>current_label</code> attributes need to be specifi
</div>
</div>
<div id="outline-container-org5ee8a70" class="outline-2">
<h2 id="org5ee8a70"><span class="section-number-2">3</span> Basis functions</h2>
<div id="outline-container-org0c49b20" class="outline-2">
<h2 id="org0c49b20"><span class="section-number-2">3</span> Basis functions</h2>
<div class="outline-text-2" id="text-3">
</div>
<div id="outline-container-org1df5cc4" class="outline-3">
<h3 id="org1df5cc4"><span class="section-number-3">3.1</span> Basis set (basis group)</h3>
<div id="outline-container-org0caa5ec" class="outline-3">
<h3 id="org0caa5ec"><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-orge1cb872" class="outline-4">
<h4 id="orge1cb872"><span class="section-number-4">3.1.1</span> Gaussian and Slater-type orbitals</h4>
<div id="outline-container-orgba3a857" class="outline-4">
<h4 id="orgba3a857"><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, it is
@ -1019,8 +1019,8 @@ All the basis set parameters are stored in one-dimensional arrays.
</div>
</div>
<div id="outline-container-orgd109008" class="outline-4">
<h4 id="orgd109008"><span class="section-number-4">3.1.2</span> Numerical orbitals</h4>
<div id="outline-container-orgdd3fa54" class="outline-4">
<h4 id="orgdd3fa54"><span class="section-number-4">3.1.2</span> Numerical orbitals</h4>
<div class="outline-text-4" id="text-3-1-2">
<p>
Trexio supports numerical atom centered orbitals. The implementation is
@ -1084,8 +1084,8 @@ reimplement them with consideration for its specific needs.
</div>
</div>
<div id="outline-container-orgb6781c0" class="outline-4">
<h4 id="orgb6781c0"><span class="section-number-4">3.1.3</span> Plane waves</h4>
<div id="outline-container-org3c8681b" class="outline-4">
<h4 id="org3c8681b"><span class="section-number-4">3.1.3</span> Plane waves</h4>
<div class="outline-text-4" id="text-3-1-3">
<p>
A plane wave is defined as
@ -1106,8 +1106,8 @@ plane waves.
</div>
</div>
<div id="outline-container-org2af12ab" class="outline-4">
<h4 id="org2af12ab"><span class="section-number-4">3.1.4</span> Oscillating orbitals</h4>
<div id="outline-container-org59e700d" class="outline-4">
<h4 id="org59e700d"><span class="section-number-4">3.1.4</span> Oscillating orbitals</h4>
<div class="outline-text-4" id="text-3-1-4">
<p>
Basis functions can be made oscillating as
@ -1129,10 +1129,10 @@ Oscillation kind can be:
</div>
</div>
<div id="outline-container-orgc341023" class="outline-4">
<h4 id="orgc341023"><span class="section-number-4">3.1.5</span> Data definitions</h4>
<div id="outline-container-orgf2f3c40" class="outline-4">
<h4 id="orgf2f3c40"><span class="section-number-4">3.1.5</span> Data definitions</h4>
<div class="outline-text-4" id="text-3-1-5">
<table id="org332525a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org5d5dff0" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1384,8 +1384,8 @@ Oscillation kind can be:
</div>
</div>
<div id="outline-container-org919948a" class="outline-4">
<h4 id="org919948a"><span class="section-number-4">3.1.6</span> Example</h4>
<div id="outline-container-org2cdda89" class="outline-4">
<h4 id="org2cdda89"><span class="section-number-4">3.1.6</span> Example</h4>
<div class="outline-text-4" id="text-3-1-6">
<p>
For example, consider H<sub>2</sub> with the following basis set (in GAMESS
@ -1463,8 +1463,8 @@ prim_factor =
</div>
</div>
<div id="outline-container-org9d79234" class="outline-3">
<h3 id="org9d79234"><span class="section-number-3">3.2</span> Effective core potentials (ecp group)</h3>
<div id="outline-container-orgb06fa76" class="outline-3">
<h3 id="orgb06fa76"><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
@ -1498,7 +1498,7 @@ where \(Z_\text{eff}\) is the effective nuclear charge of the center.
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="orgd66178e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgdd0522d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1613,8 +1613,8 @@ If you encounter the aforementioned issue, please report it to our
</p>
</div>
<div id="outline-container-org3670ac7" class="outline-4">
<h4 id="org3670ac7"><span class="section-number-4">3.2.1</span> Example</h4>
<div id="outline-container-orgce16a2b" class="outline-4">
<h4 id="orgce16a2b"><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
@ -1677,8 +1677,8 @@ power = [
</div>
</div>
<div id="outline-container-org83e9fd6" class="outline-3">
<h3 id="org83e9fd6"><span class="section-number-3">3.3</span> Numerical integration grid (grid group)</h3>
<div id="outline-container-org8a41f0c" class="outline-3">
<h3 id="org8a41f0c"><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
@ -1693,7 +1693,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="orgb183f51" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org7f665f6" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1826,12 +1826,12 @@ Feel free to submit a PR if you find missing options/functionalities.
</div>
</div>
<div id="outline-container-org7f7894a" class="outline-2">
<h2 id="org7f7894a"><span class="section-number-2">4</span> Orbitals</h2>
<div id="outline-container-org5729ac3" class="outline-2">
<h2 id="org5729ac3"><span class="section-number-2">4</span> Orbitals</h2>
<div class="outline-text-2" id="text-4">
</div>
<div id="outline-container-orgca4ef9d" class="outline-3">
<h3 id="orgca4ef9d"><span class="section-number-3">4.1</span> Atomic orbitals (ao group)</h3>
<div id="outline-container-orgb328b1e" class="outline-3">
<h3 id="orgb328b1e"><span class="section-number-3">4.1</span> Atomic orbitals (ao group)</h3>
<div class="outline-text-3" id="text-4-1">
<p>
AOs are defined as
@ -1918,7 +1918,7 @@ AO, so the correction factor \(\mathcal{N}_i'\) for \(d_{xy}\) in the
</p>
<table id="org3765ceb" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org6f32b27" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1977,7 +1977,7 @@ AO, so the correction factor \(\mathcal{N}_i'\) for \(d_{xy}\) in the
</table>
</div>
<div id="outline-container-org53bb93f" class="outline-4">
<div id="outline-container-org0b706ed" 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">
@ -1995,7 +1995,7 @@ The one-electron integrals for a one-electron operator \(\hat{O}\) are
over atomic orbitals.
</p>
<table id="orgfb31c91" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org13e9dbd" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -2103,7 +2103,7 @@ over atomic orbitals.
</div>
</div>
<div id="outline-container-orgd1c5d1c" class="outline-4">
<div id="outline-container-org7030a5d" 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>
@ -2129,7 +2129,7 @@ The Cholesky decomposition of the integrals can also be stored:
\]
</p>
<table id="orgba68d2f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org72b1e1c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -2206,10 +2206,10 @@ The Cholesky decomposition of the integrals can also be stored:
</div>
</div>
<div id="outline-container-org23e7c1f" class="outline-3">
<h3 id="org23e7c1f"><span class="section-number-3">4.2</span> Molecular orbitals (mo group)</h3>
<div id="outline-container-orge720cc1" class="outline-3">
<h3 id="orge720cc1"><span class="section-number-3">4.2</span> Molecular orbitals (mo group)</h3>
<div class="outline-text-3" id="text-4-2">
<table id="org9e9772e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org2b0aeb2" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -2325,8 +2325,8 @@ is the number of spin-orbitals, twice the number of spatial orbitals.
</div>
<div id="outline-container-orgbc59f2e" class="outline-4">
<h4 id="orgbc59f2e"><span class="section-number-4">4.2.1</span> One-electron integrals (<code>mo_1e_int</code> group)</h4>
<div id="outline-container-org818eb93" class="outline-4">
<h4 id="org818eb93"><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
@ -2334,7 +2334,7 @@ The operators as the same as those defined in the
the basis of molecular orbitals.
</p>
<table id="orge9e6171" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgc68d589" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -2442,8 +2442,8 @@ the basis of molecular orbitals.
</div>
</div>
<div id="outline-container-org1016bb8" class="outline-4">
<h4 id="org1016bb8"><span class="section-number-4">4.2.2</span> Two-electron integrals (<code>mo_2e_int</code> group)</h4>
<div id="outline-container-org6d0bd96" class="outline-4">
<h4 id="org6d0bd96"><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
@ -2451,7 +2451,7 @@ The operators are the same as those defined in the
the basis of molecular orbitals.
</p>
<table id="org3e54d94" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgd2df203" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -2529,12 +2529,12 @@ the basis of molecular orbitals.
</div>
</div>
<div id="outline-container-org4532d32" class="outline-2">
<h2 id="org4532d32"><span class="section-number-2">5</span> Multi-determinant information</h2>
<div id="outline-container-orgfbda512" class="outline-2">
<h2 id="orgfbda512"><span class="section-number-2">5</span> Multi-determinant information</h2>
<div class="outline-text-2" id="text-5">
</div>
<div id="outline-container-org4f1fe06" class="outline-3">
<h3 id="org4f1fe06"><span class="section-number-3">5.1</span> Slater determinants (determinant group)</h3>
<div id="outline-container-orgc94c7e4" class="outline-3">
<h3 id="orgc94c7e4"><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\)
@ -2576,7 +2576,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="org2883770" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgf382254" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -2628,8 +2628,8 @@ An illustration on how to read determinants is presented in the <a href="./examp
</div>
</div>
<div id="outline-container-org81f8f3b" class="outline-3">
<h3 id="org81f8f3b"><span class="section-number-3">5.2</span> Configuration state functions (csf group)</h3>
<div id="outline-container-org08c974a" class="outline-3">
<h3 id="org08c974a"><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
@ -2651,7 +2651,7 @@ matrix \(\langle D_I | \psi_J \rangle\) needed to project the CSFs in
the basis of Slater determinants.
</p>
<table id="orgf86b809" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org83bacee" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -2703,8 +2703,8 @@ the basis of Slater determinants.
</div>
</div>
<div id="outline-container-orgd2bc3f5" class="outline-3">
<h3 id="orgd2bc3f5"><span class="section-number-3">5.3</span> Amplitudes (amplitude group)</h3>
<div id="outline-container-org65245d8" class="outline-3">
<h3 id="org65245d8"><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
@ -2775,7 +2775,7 @@ The order of the indices is chosen such that
<li>\(\dots\)</li>
</ul>
<table id="orgc1848e3" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org174e0bc" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -2867,8 +2867,8 @@ The order of the indices is chosen such that
</div>
</div>
<div id="outline-container-org490e538" class="outline-3">
<h3 id="org490e538"><span class="section-number-3">5.4</span> Reduced density matrices (rdm group)</h3>
<div id="outline-container-org46cd5ca" class="outline-3">
<h3 id="org46cd5ca"><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
@ -2940,7 +2940,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="orgcbfce0c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org17241bc" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -3105,12 +3105,12 @@ expressed in a basis of a one-electron function
</div>
</div>
<div id="outline-container-org04a685b" class="outline-2">
<h2 id="org04a685b"><span class="section-number-2">6</span> Correlation factors</h2>
<div id="outline-container-org1b3725e" class="outline-2">
<h2 id="org1b3725e"><span class="section-number-2">6</span> Correlation factors</h2>
<div class="outline-text-2" id="text-6">
</div>
<div id="outline-container-org24b6615" class="outline-3">
<h3 id="org24b6615"><span class="section-number-3">6.1</span> Jastrow factor (jastrow group)</h3>
<div id="outline-container-org50d3c0a" class="outline-3">
<h3 id="org50d3c0a"><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 which multiplies the CI
@ -3135,8 +3135,8 @@ following:
</ul>
</div>
<div id="outline-container-org9c3bf5e" class="outline-4">
<h4 id="org9c3bf5e"><span class="section-number-4">6.1.1</span> CHAMP</h4>
<div id="outline-container-org3bce731" class="outline-4">
<h4 id="org3bce731"><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
@ -3237,8 +3237,8 @@ The terms \(J_{\text{ee},ij}^\infty\) and \(J_{\text{eN}}^\infty\) are shifts to
</div>
<div id="outline-container-org9ea0da8" class="outline-4">
<h4 id="org9ea0da8"><span class="section-number-4">6.1.2</span> Mu</h4>
<div id="outline-container-org89e522c" class="outline-4">
<h4 id="org89e522c"><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
@ -3335,10 +3335,10 @@ The parameter \(\mu\) is stored in the <code>ee</code> array, the parameters
</div>
</div>
<div id="outline-container-org8a19129" class="outline-4">
<h4 id="org8a19129"><span class="section-number-4">6.1.3</span> Table of values</h4>
<div id="outline-container-org834422e" class="outline-4">
<h4 id="org834422e"><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="org8b59b1c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org175e3ec" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -3456,8 +3456,8 @@ The parameter \(\mu\) is stored in the <code>ee</code> array, the parameters
</div>
</div>
<div id="outline-container-org03a46d4" class="outline-2">
<h2 id="org03a46d4"><span class="section-number-2">7</span> Quantum Monte Carlo data (qmc group)</h2>
<div id="outline-container-orgdcc10f3" class="outline-2">
<h2 id="orgdcc10f3"><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
@ -3471,7 +3471,7 @@ By convention, the electron coordinates contain first all the electrons
of $&uarr;$-spin and then all the $&darr;$-spin.
</p>
<table id="org1a62217" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org93aa996" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -3533,7 +3533,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: 2024-11-20 Wed 14:29</p>
<p class="date">Created: 2024-11-21 Thu 08:47</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>