1
0
mirror of https://github.com/TREX-CoE/trexio.git synced 2025-04-30 04:14:54 +02:00

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

This commit is contained in:
scemama 2023-01-02 15:08:32 +00:00
parent b2a7ef0236
commit fbed1f637d
7 changed files with 708 additions and 554 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>
<!-- 2022-12-27 Tue 16:09 -->
<!-- 2023-01-02 Mon 15:08 -->
<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>
@ -360,7 +360,7 @@ and bug reports should be submitted at
</div>
<div id="postamble" class="status">
<p class="author">Author: TREX-CoE</p>
<p class="date">Created: 2022-12-27 Tue 16:09</p>
<p class="date">Created: 2023-01-02 Mon 15:08</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>
<!-- 2022-12-27 Tue 16:09 -->
<!-- 2023-01-02 Mon 15:08 -->
<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,31 +346,31 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#org3e539ff">1. Accessing sparse quantities (integrals)</a>
<li><a href="#org9ca1a8f">1. Accessing sparse quantities (integrals)</a>
<ul>
<li><a href="#org6c6893b">1.1. Fortran</a>
<li><a href="#orgcf91e4f">1.1. Fortran</a>
<ul>
<li><a href="#org17a32b2">1.1.1. Declare Temporary variables</a></li>
<li><a href="#org7b6515d">1.1.2. Obtain the name of the TREXIO file from the command line, and open it for reading</a></li>
<li><a href="#org68d4564">1.1.3. Read the nuclear repulsion energy</a></li>
<li><a href="#org8e9af98">1.1.4. Read the number of molecular orbitals</a></li>
<li><a href="#org827b5ce">1.1.5. Allocate memory</a></li>
<li><a href="#org6c9efc8">1.1.6. Read one-electron quantities</a></li>
<li><a href="#org15f3ac5">1.1.7. Read two-electron quantities</a>
<li><a href="#org36097df">1.1.1. Declare Temporary variables</a></li>
<li><a href="#org8b873d1">1.1.2. Obtain the name of the TREXIO file from the command line, and open it for reading</a></li>
<li><a href="#org01e9761">1.1.3. Read the nuclear repulsion energy</a></li>
<li><a href="#orge5f8cd1">1.1.4. Read the number of molecular orbitals</a></li>
<li><a href="#org7269f46">1.1.5. Allocate memory</a></li>
<li><a href="#org3f30613">1.1.6. Read one-electron quantities</a></li>
<li><a href="#orgcdfb977">1.1.7. Read two-electron quantities</a>
<ul>
<li><a href="#org5a1b228">1.1.7.1. Electron repulsion integrals</a></li>
<li><a href="#org940d3bc">1.1.7.2. Reduced density matrix</a></li>
<li><a href="#orgd9d9b3e">1.1.7.1. Electron repulsion integrals</a></li>
<li><a href="#org7c967d7">1.1.7.2. Reduced density matrix</a></li>
</ul>
</li>
<li><a href="#org12a3205">1.1.8. Compute the energy</a></li>
<li><a href="#orgf271abc">1.1.9. Terminate</a></li>
<li><a href="#orgd09d6b4">1.1.8. Compute the energy</a></li>
<li><a href="#orgde89e26">1.1.9. Terminate</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#orge5dba12">2. Reading determinants</a>
<li><a href="#org69f1abc">2. Reading determinants</a>
<ul>
<li><a href="#org46ea76d">2.1. Fortran</a></li>
<li><a href="#org0be05a6">2.1. Fortran</a></li>
</ul>
</li>
</ul>
@ -378,12 +378,12 @@ for the JavaScript code in this tag.
</div>
<div id="outline-container-org3e539ff" class="outline-2">
<h2 id="org3e539ff"><span class="section-number-2">1</span> Accessing sparse quantities (integrals)</h2>
<div id="outline-container-org9ca1a8f" class="outline-2">
<h2 id="org9ca1a8f"><span class="section-number-2">1</span> Accessing sparse quantities (integrals)</h2>
<div class="outline-text-2" id="text-1">
</div>
<div id="outline-container-org6c6893b" class="outline-3">
<h3 id="org6c6893b"><span class="section-number-3">1.1</span> Fortran</h3>
<div id="outline-container-orgcf91e4f" class="outline-3">
<h3 id="orgcf91e4f"><span class="section-number-3">1.1</span> Fortran</h3>
<div class="outline-text-3" id="text-1-1">
<div class="org-src-container">
<pre class="src src-f90"><span style="color: #a020f0;">program</span> <span style="color: #0000ff;">print_energy</span>
@ -429,8 +429,8 @@ One needs to read from the TREXIO file:
</div>
</div>
<div id="outline-container-org17a32b2" class="outline-4">
<h4 id="org17a32b2"><span class="section-number-4">1.1.1</span> Declare Temporary variables</h4>
<div id="outline-container-org36097df" class="outline-4">
<h4 id="org36097df"><span class="section-number-4">1.1.1</span> Declare Temporary variables</h4>
<div class="outline-text-4" id="text-1-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>
@ -445,8 +445,8 @@ One needs to read from the TREXIO file:
</div>
</div>
<div id="outline-container-org7b6515d" class="outline-4">
<h4 id="org7b6515d"><span class="section-number-4">1.1.2</span> Obtain the name of the TREXIO file from the command line, and open it for reading</h4>
<div id="outline-container-org8b873d1" class="outline-4">
<h4 id="org8b873d1"><span class="section-number-4">1.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-1-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)
@ -462,8 +462,8 @@ f = trexio_open (filename, <span style="color: #8b2252;">'r'</span>, TREXIO_HDF5
</div>
</div>
<div id="outline-container-org68d4564" class="outline-4">
<h4 id="org68d4564"><span class="section-number-4">1.1.3</span> Read the nuclear repulsion energy</h4>
<div id="outline-container-org01e9761" class="outline-4">
<h4 id="org01e9761"><span class="section-number-4">1.1.3</span> Read the nuclear repulsion energy</h4>
<div class="outline-text-4" id="text-1-1-3">
<div class="org-src-container">
<pre class="src src-f90">rc = trexio_read_nucleus_repulsion(f, E_nn)
@ -477,8 +477,8 @@ f = trexio_open (filename, <span style="color: #8b2252;">'r'</span>, TREXIO_HDF5
</div>
</div>
<div id="outline-container-org8e9af98" class="outline-4">
<h4 id="org8e9af98"><span class="section-number-4">1.1.4</span> Read the number of molecular orbitals</h4>
<div id="outline-container-orge5f8cd1" class="outline-4">
<h4 id="orge5f8cd1"><span class="section-number-4">1.1.4</span> Read the number of molecular orbitals</h4>
<div class="outline-text-4" id="text-1-1-4">
<div class="org-src-container">
<pre class="src src-f90">rc = trexio_read_mo_num(f, n)
@ -492,8 +492,8 @@ f = trexio_open (filename, <span style="color: #8b2252;">'r'</span>, TREXIO_HDF5
</div>
</div>
<div id="outline-container-org827b5ce" class="outline-4">
<h4 id="org827b5ce"><span class="section-number-4">1.1.5</span> Allocate memory</h4>
<div id="outline-container-org7269f46" class="outline-4">
<h4 id="org7269f46"><span class="section-number-4">1.1.5</span> Allocate memory</h4>
<div class="outline-text-4" id="text-1-1-5">
<div class="org-src-container">
<pre class="src src-f90"><span style="color: #a020f0;">allocate</span>( D(n,n), h0(n,n) )
@ -505,8 +505,8 @@ W(:,:,:,:) = 0.d0
</div>
</div>
<div id="outline-container-org6c9efc8" class="outline-4">
<h4 id="org6c9efc8"><span class="section-number-4">1.1.6</span> Read one-electron quantities</h4>
<div id="outline-container-org3f30613" class="outline-4">
<h4 id="org3f30613"><span class="section-number-4">1.1.6</span> Read one-electron quantities</h4>
<div class="outline-text-4" id="text-1-1-6">
<div class="org-src-container">
<pre class="src src-f90">rc = trexio_has_mo_1e_int_core_hamiltonian(f)
@ -538,8 +538,8 @@ rc = trexio_read_rdm_1e(f, D)
</div>
</div>
<div id="outline-container-org15f3ac5" class="outline-4">
<h4 id="org15f3ac5"><span class="section-number-4">1.1.7</span> Read two-electron quantities</h4>
<div id="outline-container-orgcdfb977" class="outline-4">
<h4 id="orgcdfb977"><span class="section-number-4">1.1.7</span> Read two-electron quantities</h4>
<div class="outline-text-4" id="text-1-1-7">
<p>
Reading is done with OpenMP. Each thread reads its own buffer, and
@ -555,8 +555,8 @@ to be protected in the critical section when modified.
</p>
</div>
<div id="outline-container-org5a1b228" class="outline-5">
<h5 id="org5a1b228"><span class="section-number-5">1.1.7.1</span> Electron repulsion integrals</h5>
<div id="outline-container-orgd9d9b3e" class="outline-5">
<h5 id="orgd9d9b3e"><span class="section-number-5">1.1.7.1</span> Electron repulsion integrals</h5>
<div class="outline-text-5" id="text-1-1-7-1">
<div class="org-src-container">
<pre class="src src-f90">rc = trexio_has_mo_2e_int_eri(f)
@ -605,8 +605,8 @@ icount = BUFSIZE
</div>
</div>
<div id="outline-container-org940d3bc" class="outline-5">
<h5 id="org940d3bc"><span class="section-number-5">1.1.7.2</span> Reduced density matrix</h5>
<div id="outline-container-org7c967d7" class="outline-5">
<h5 id="org7c967d7"><span class="section-number-5">1.1.7.2</span> Reduced density matrix</h5>
<div class="outline-text-5" id="text-1-1-7-2">
<div class="org-src-container">
<pre class="src src-f90">rc = trexio_has_rdm_2e(f)
@ -650,8 +650,8 @@ icount = bufsize
</div>
</div>
<div id="outline-container-org12a3205" class="outline-4">
<h4 id="org12a3205"><span class="section-number-4">1.1.8</span> Compute the energy</h4>
<div id="outline-container-orgd09d6b4" class="outline-4">
<h4 id="orgd09d6b4"><span class="section-number-4">1.1.8</span> Compute the energy</h4>
<div class="outline-text-4" id="text-1-1-8">
<p>
When the orbitals are real, we can use
@ -697,8 +697,8 @@ E = E + E_nn
</div>
</div>
<div id="outline-container-orgf271abc" class="outline-4">
<h4 id="orgf271abc"><span class="section-number-4">1.1.9</span> Terminate</h4>
<div id="outline-container-orgde89e26" class="outline-4">
<h4 id="orgde89e26"><span class="section-number-4">1.1.9</span> Terminate</h4>
<div class="outline-text-4" id="text-1-1-9">
<div class="org-src-container">
<pre class="src src-f90"> <span style="color: #a020f0;">deallocate</span>( D, h0, G, W )
@ -712,12 +712,12 @@ E = E + E_nn
</div>
<div id="outline-container-orge5dba12" class="outline-2">
<h2 id="orge5dba12"><span class="section-number-2">2</span> Reading determinants</h2>
<div id="outline-container-org69f1abc" class="outline-2">
<h2 id="org69f1abc"><span class="section-number-2">2</span> Reading determinants</h2>
<div class="outline-text-2" id="text-2">
</div>
<div id="outline-container-org46ea76d" class="outline-3">
<h3 id="org46ea76d"><span class="section-number-3">2.1</span> Fortran</h3>
<div id="outline-container-org0be05a6" class="outline-3">
<h3 id="org0be05a6"><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;">test</span>
@ -796,7 +796,7 @@ end
</div>
<div id="postamble" class="status">
<p class="author">Author: TREX-CoE</p>
<p class="date">Created: 2022-12-27 Tue 16:09</p>
<p class="date">Created: 2023-01-02 Mon 15:08</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>
<!-- 2022-12-27 Tue 16:09 -->
<!-- 2023-01-02 Mon 15:08 -->
<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>
@ -360,7 +360,7 @@ and bug reports should be submitted at
</div>
<div id="postamble" class="status">
<p class="author">Author: TREX-CoE</p>
<p class="date">Created: 2022-12-27 Tue 16:09</p>
<p class="date">Created: 2023-01-02 Mon 15:08</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>
<!-- 2022-12-27 Tue 16:08 -->
<!-- 2023-01-02 Mon 15:08 -->
<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="#org336aa5c">1. Template for HDF5 definitions</a></li>
<li><a href="#org3afd2f5">2. Template for HDF5 structures</a></li>
<li><a href="#org029e8e2">3. Template for HDF5 init/deinit</a></li>
<li><a href="#org9d3e986">4. Template for HDF5 has a group</a></li>
<li><a href="#org67a58b4">5. Template for HDF5 has/read/write a numerical attribute</a></li>
<li><a href="#org50d4aaf">6. Template for HDF5 has/read/write a dataset of numerical data</a></li>
<li><a href="#org5b10e24">7. Template for HDF5 has/read/write a dataset of sparse data</a></li>
<li><a href="#org105f9f5">8. Template for HDF5 has/read/write a dataset of buffered vectors</a></li>
<li><a href="#org11f25f6">9. Template for HDF5 has/read/write a dataset of strings</a></li>
<li><a href="#orgbf7b501">10. Template for HDF5 has/read/write a string attribute</a></li>
<li><a href="#org429dd49">11. Template for HDF5 delete a group (UNSAFE mode)</a></li>
<li><a href="#orgbe08380">12. Source code for the determinant part</a></li>
<li><a href="#orgc6e4d68">13. Helper functions</a></li>
<li><a href="#orgb5fcc4f">1. Template for HDF5 definitions</a></li>
<li><a href="#org5dd17e9">2. Template for HDF5 structures</a></li>
<li><a href="#org955a848">3. Template for HDF5 init/deinit</a></li>
<li><a href="#orge6dcf2b">4. Template for HDF5 has a group</a></li>
<li><a href="#org37047c2">5. Template for HDF5 has/read/write a numerical attribute</a></li>
<li><a href="#orge430c0c">6. Template for HDF5 has/read/write a dataset of numerical data</a></li>
<li><a href="#org2bd2a43">7. Template for HDF5 has/read/write a dataset of sparse data</a></li>
<li><a href="#orgdae39f4">8. Template for HDF5 has/read/write a dataset of buffered vectors</a></li>
<li><a href="#orga4d5b07">9. Template for HDF5 has/read/write a dataset of strings</a></li>
<li><a href="#org936d766">10. Template for HDF5 has/read/write a string attribute</a></li>
<li><a href="#org1967515">11. Template for HDF5 delete a group (UNSAFE mode)</a></li>
<li><a href="#org92b8d4f">12. Source code for the determinant part</a></li>
<li><a href="#orgbd2d4d9">13. Helper functions</a></li>
</ul>
</div>
</div>
<div id="outline-container-org336aa5c" class="outline-2">
<h2 id="org336aa5c"><span class="section-number-2">1</span> Template for HDF5 definitions</h2>
<div id="outline-container-orgb5fcc4f" class="outline-2">
<h2 id="orgb5fcc4f"><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-org3afd2f5" class="outline-2">
<h2 id="org3afd2f5"><span class="section-number-2">2</span> Template for HDF5 structures</h2>
<div id="outline-container-org5dd17e9" class="outline-2">
<h2 id="org5dd17e9"><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-org029e8e2" class="outline-2">
<h2 id="org029e8e2"><span class="section-number-2">3</span> Template for HDF5 init/deinit</h2>
<div id="outline-container-org955a848" class="outline-2">
<h2 id="org955a848"><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-org9d3e986" class="outline-2">
<h2 id="org9d3e986"><span class="section-number-2">4</span> Template for HDF5 has a group</h2>
<div id="outline-container-orge6dcf2b" class="outline-2">
<h2 id="orge6dcf2b"><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-org67a58b4" class="outline-2">
<h2 id="org67a58b4"><span class="section-number-2">5</span> Template for HDF5 has/read/write a numerical attribute</h2>
<div id="outline-container-org37047c2" class="outline-2">
<h2 id="org37047c2"><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-org50d4aaf" class="outline-2">
<h2 id="org50d4aaf"><span class="section-number-2">6</span> Template for HDF5 has/read/write a dataset of numerical data</h2>
<div id="outline-container-orge430c0c" class="outline-2">
<h2 id="orge430c0c"><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>
@ -767,8 +767,8 @@ corresponding types for all back ends can be safely casted to
</div>
</div>
<div id="outline-container-org5b10e24" class="outline-2">
<h2 id="org5b10e24"><span class="section-number-2">7</span> Template for HDF5 has/read/write a dataset of sparse data</h2>
<div id="outline-container-org2bd2a43" class="outline-2">
<h2 id="org2bd2a43"><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
@ -971,8 +971,8 @@ due to the fact that the sparse data will be written in chunks of user-defined s
</div>
</div>
<div id="outline-container-org105f9f5" class="outline-2">
<h2 id="org105f9f5"><span class="section-number-2">8</span> Template for HDF5 has/read/write a dataset of buffered vectors</h2>
<div id="outline-container-orgdae39f4" class="outline-2">
<h2 id="orgdae39f4"><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.
@ -1107,8 +1107,8 @@ Chunked I/O in HDF5 for <code>buffered</code> data.
</div>
</div>
<div id="outline-container-org11f25f6" class="outline-2">
<h2 id="org11f25f6"><span class="section-number-2">9</span> Template for HDF5 has/read/write a dataset of strings</h2>
<div id="outline-container-orga4d5b07" class="outline-2">
<h2 id="orga4d5b07"><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-orgbf7b501" class="outline-2">
<h2 id="orgbf7b501"><span class="section-number-2">10</span> Template for HDF5 has/read/write a string attribute</h2>
<div id="outline-container-org936d766" class="outline-2">
<h2 id="org936d766"><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-org429dd49" class="outline-2">
<h2 id="org429dd49"><span class="section-number-2">11</span> Template for HDF5 delete a group (UNSAFE mode)</h2>
<div id="outline-container-org1967515" class="outline-2">
<h2 id="org1967515"><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-orgbe08380" class="outline-2">
<h2 id="orgbe08380"><span class="section-number-2">12</span> Source code for the determinant part</h2>
<div id="outline-container-org92b8d4f" class="outline-2">
<h2 id="org92b8d4f"><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.
@ -1579,8 +1579,8 @@ Size specifies the number of data items (e.g. determinants) to process.
</div>
</div>
<div id="outline-container-orgc6e4d68" class="outline-2">
<h2 id="orgc6e4d68"><span class="section-number-2">13</span> Helper functions</h2>
<div id="outline-container-orgbd2d4d9" class="outline-2">
<h2 id="orgbd2d4d9"><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>
@ -1843,7 +1843,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: 2022-12-27 Tue 16:08</p>
<p class="date">Created: 2023-01-02 Mon 15:08</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>
<!-- 2022-12-27 Tue 16:08 -->
<!-- 2023-01-02 Mon 15:08 -->
<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="#orgfecbc65">1. Template for group-related structures in text back end</a></li>
<li><a href="#org2917919">2. Template for general structure in text back end</a></li>
<li><a href="#org575450f">3. Initialize function (constant part)</a></li>
<li><a href="#orgb699b14">4. Deinitialize function (templated part)</a></li>
<li><a href="#orgcf469e8">5. Flush function (templated part)</a></li>
<li><a href="#org174076f">6. Template for text read a group</a></li>
<li><a href="#org99e2956">7. Template for text has a group</a></li>
<li><a href="#orge044981">8. Template for text flush a group</a></li>
<li><a href="#org0e2b2b4">9. Template for text free memory</a></li>
<li><a href="#orgc611a38">10. Template for has/read/write a numerical attribute</a></li>
<li><a href="#org8ce6ec8">11. Template for has/read/write a dataset of numerical data</a></li>
<li><a href="#org7bfa4ba">12. Template for has/read/write a dataset of strings</a></li>
<li><a href="#org9cc788c">13. Template for has/read/write a string attribute</a></li>
<li><a href="#org256e3a4">14. Template for has/read/write the dataset of sparse data</a></li>
<li><a href="#orgb2e3a6b">15. Template for has/read/write a buffered vector</a></li>
<li><a href="#orgfe3fb88">16. Template for text delete a group (UNSAFE mode)</a></li>
<li><a href="#org8bb2ca7">17. Source code for the determinant part</a></li>
<li><a href="#orgecb9847">1. Template for group-related structures in text back end</a></li>
<li><a href="#org98d3e4a">2. Template for general structure in text back end</a></li>
<li><a href="#org20e971f">3. Initialize function (constant part)</a></li>
<li><a href="#org4a77764">4. Deinitialize function (templated part)</a></li>
<li><a href="#org15c51fa">5. Flush function (templated part)</a></li>
<li><a href="#orgb015c3a">6. Template for text read a group</a></li>
<li><a href="#orgd59bb7e">7. Template for text has a group</a></li>
<li><a href="#org0fd7251">8. Template for text flush a group</a></li>
<li><a href="#org2435d76">9. Template for text free memory</a></li>
<li><a href="#org5987ec4">10. Template for has/read/write a numerical attribute</a></li>
<li><a href="#org94bce44">11. Template for has/read/write a dataset of numerical data</a></li>
<li><a href="#orgf723fbc">12. Template for has/read/write a dataset of strings</a></li>
<li><a href="#orga5e9032">13. Template for has/read/write a string attribute</a></li>
<li><a href="#org8c210fb">14. Template for has/read/write the dataset of sparse data</a></li>
<li><a href="#org97857ff">15. Template for has/read/write a buffered vector</a></li>
<li><a href="#orgb4f7f27">16. Template for text delete a group (UNSAFE mode)</a></li>
<li><a href="#org799adc9">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-orgfecbc65" class="outline-2">
<h2 id="orgfecbc65"><span class="section-number-2">1</span> Template for group-related structures in text back end</h2>
<div id="outline-container-orgecb9847" class="outline-2">
<h2 id="orgecb9847"><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-org2917919" class="outline-2">
<h2 id="org2917919"><span class="section-number-2">2</span> Template for general structure in text back end</h2>
<div id="outline-container-org98d3e4a" class="outline-2">
<h2 id="org98d3e4a"><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-org575450f" class="outline-2">
<h2 id="org575450f"><span class="section-number-2">3</span> Initialize function (constant part)</h2>
<div id="outline-container-org20e971f" class="outline-2">
<h2 id="org20e971f"><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-orgb699b14" class="outline-2">
<h2 id="orgb699b14"><span class="section-number-2">4</span> Deinitialize function (templated part)</h2>
<div id="outline-container-org4a77764" class="outline-2">
<h2 id="org4a77764"><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-orgcf469e8" class="outline-2">
<h2 id="orgcf469e8"><span class="section-number-2">5</span> Flush function (templated part)</h2>
<div id="outline-container-org15c51fa" class="outline-2">
<h2 id="org15c51fa"><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-org174076f" class="outline-2">
<h2 id="org174076f"><span class="section-number-2">6</span> Template for text read a group</h2>
<div id="outline-container-orgb015c3a" class="outline-2">
<h2 id="orgb015c3a"><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-org99e2956" class="outline-2">
<h2 id="org99e2956"><span class="section-number-2">7</span> Template for text has a group</h2>
<div id="outline-container-orgd59bb7e" class="outline-2">
<h2 id="orgd59bb7e"><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-orge044981" class="outline-2">
<h2 id="orge044981"><span class="section-number-2">8</span> Template for text flush a group</h2>
<div id="outline-container-org0fd7251" class="outline-2">
<h2 id="org0fd7251"><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-org0e2b2b4" class="outline-2">
<h2 id="org0e2b2b4"><span class="section-number-2">9</span> Template for text free memory</h2>
<div id="outline-container-org2435d76" class="outline-2">
<h2 id="org2435d76"><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-orgc611a38" class="outline-2">
<h2 id="orgc611a38"><span class="section-number-2">10</span> Template for has/read/write a numerical attribute</h2>
<div id="outline-container-org5987ec4" class="outline-2">
<h2 id="org5987ec4"><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-org8ce6ec8" class="outline-2">
<h2 id="org8ce6ec8"><span class="section-number-2">11</span> Template for has/read/write a dataset of numerical data</h2>
<div id="outline-container-org94bce44" class="outline-2">
<h2 id="org94bce44"><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-org7bfa4ba" class="outline-2">
<h2 id="org7bfa4ba"><span class="section-number-2">12</span> Template for has/read/write a dataset of strings</h2>
<div id="outline-container-orgf723fbc" class="outline-2">
<h2 id="orgf723fbc"><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-org9cc788c" class="outline-2">
<h2 id="org9cc788c"><span class="section-number-2">13</span> Template for has/read/write a string attribute</h2>
<div id="outline-container-orga5e9032" class="outline-2">
<h2 id="orga5e9032"><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-org256e3a4" class="outline-2">
<h2 id="org256e3a4"><span class="section-number-2">14</span> Template for has/read/write the dataset of sparse data</h2>
<div id="outline-container-org8c210fb" class="outline-2">
<h2 id="org8c210fb"><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-orgb2e3a6b" class="outline-2">
<h2 id="orgb2e3a6b"><span class="section-number-2">15</span> Template for has/read/write a buffered vector</h2>
<div id="outline-container-org97857ff" class="outline-2">
<h2 id="org97857ff"><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-orgfe3fb88" class="outline-2">
<h2 id="orgfe3fb88"><span class="section-number-2">16</span> Template for text delete a group (UNSAFE mode)</h2>
<div id="outline-container-orgb4f7f27" class="outline-2">
<h2 id="orgb4f7f27"><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-org8bb2ca7" class="outline-2">
<h2 id="org8bb2ca7"><span class="section-number-2">17</span> Source code for the determinant part</h2>
<div id="outline-container-org799adc9" class="outline-2">
<h2 id="org799adc9"><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: 2022-12-27 Tue 16:08</p>
<p class="date">Created: 2023-01-02 Mon 15:08</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>

346
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>
<!-- 2022-12-27 Tue 16:09 -->
<!-- 2023-01-02 Mon 15:08 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>TREX Configuration file</title>
@ -346,42 +346,43 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#org97c50da">1. Metadata (metadata group)</a></li>
<li><a href="#org7c3d07b">2. Electron (electron group)</a></li>
<li><a href="#org767b4ec">3. Nucleus (nucleus group)</a></li>
<li><a href="#orgadd2b2f">4. Effective core potentials (ecp group)</a>
<li><a href="#org9a5e0bb">1. Metadata (metadata group)</a></li>
<li><a href="#org290bd00">2. Electron (electron group)</a></li>
<li><a href="#org8eb0ec2">3. Nucleus (nucleus group)</a></li>
<li><a href="#orgcc47027">4. Effective core potentials (ecp group)</a>
<ul>
<li><a href="#org6c18282">4.1. Example</a></li>
<li><a href="#orga3d6da9">4.1. Example</a></li>
</ul>
</li>
<li><a href="#org265705a">5. Basis set (basis group)</a>
<li><a href="#org3a33be5">5. Basis set (basis group)</a>
<ul>
<li><a href="#org2b46187">5.1. Gaussian and Slater-type orbitals</a></li>
<li><a href="#orgd0d2056">5.2. Plane waves</a></li>
<li><a href="#org9761dcd">5.3. Data definitions</a></li>
<li><a href="#orgaf18fc7">5.4. Example</a></li>
<li><a href="#orged88cf1">5.1. Gaussian and Slater-type orbitals</a></li>
<li><a href="#org3cd24c6">5.2. Plane waves</a></li>
<li><a href="#orgc5a2a75">5.3. Data definitions</a></li>
<li><a href="#org055eb94">5.4. Example</a></li>
</ul>
</li>
<li><a href="#org79cc588">6. Atomic orbitals (ao group)</a>
<li><a href="#orgdf0b8b5">6. Atomic orbitals (ao group)</a>
<ul>
<li><a href="#ao_one_e">6.1. One-electron integrals (<code>ao_1e_int</code> group)</a></li>
<li><a href="#ao_two_e">6.2. Two-electron integrals (<code>ao_2e_int</code> group)</a></li>
</ul>
</li>
<li><a href="#orge7a8b69">7. Molecular orbitals (mo group)</a>
<li><a href="#org6a68658">7. Molecular orbitals (mo group)</a>
<ul>
<li><a href="#org5bfcf19">7.1. One-electron integrals (<code>mo_1e_int</code> group)</a></li>
<li><a href="#org49fb8ca">7.2. Two-electron integrals (<code>mo_2e_int</code> group)</a></li>
<li><a href="#orga0bfa6c">7.1. One-electron integrals (<code>mo_1e_int</code> group)</a></li>
<li><a href="#orgd47f1dc">7.2. Two-electron integrals (<code>mo_2e_int</code> group)</a></li>
</ul>
</li>
<li><a href="#orgaa485c5">8. Slater determinants (determinant group)</a></li>
<li><a href="#orgca180c6">9. Configuration state functions (csf group)</a></li>
<li><a href="#orga268384">10. Excited states (state group)</a></li>
<li><a href="#org1df921a">11. Reduced density matrices (rdm group)</a></li>
<li><a href="#org4d0e96c">12. Cell (cell group)</a></li>
<li><a href="#org2d7097b">13. Periodic boundary calculations (pbc group)</a></li>
<li><a href="#orga8a5165">14. Numerical integration grid (grid group)</a></li>
<li><a href="#org3b756ea">15. Quantum Monte Carlo data (qmc group)</a></li>
<li><a href="#orgedd5465">8. Slater determinants (determinant group)</a></li>
<li><a href="#orga99c286">9. Configuration state functions (csf group)</a></li>
<li><a href="#org1a35507">10. Amplitudes (amplitude group)</a></li>
<li><a href="#org7348aad">11. Excited states (state group)</a></li>
<li><a href="#org1ca50d0">12. Reduced density matrices (rdm group)</a></li>
<li><a href="#orge6045a2">13. Cell (cell group)</a></li>
<li><a href="#orgf77479f">14. Periodic boundary calculations (pbc group)</a></li>
<li><a href="#org235c4ad">15. Numerical integration grid (grid group)</a></li>
<li><a href="#org24645f5">16. Quantum Monte Carlo data (qmc group)</a></li>
</ul>
</div>
</div>
@ -443,8 +444,8 @@ For determinant lists (integer bit fields), the <code>special</code> attribute i
This means that the source code is not produced by the generator, but hand-written.
</p>
<div id="outline-container-org97c50da" class="outline-2">
<h2 id="org97c50da"><span class="section-number-2">1</span> Metadata (metadata group)</h2>
<div id="outline-container-org9a5e0bb" class="outline-2">
<h2 id="org9a5e0bb"><span class="section-number-2">1</span> Metadata (metadata group)</h2>
<div class="outline-text-2" id="text-1">
<p>
As we expect our files to be archived in open-data repositories, we
@ -454,7 +455,7 @@ which have participated to the creation of the file, a list of
authors of the file, and a textual description.
</p>
<table id="org34160c8" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org77d964e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -535,15 +536,15 @@ then the <code>unsafe</code> attribute value can be manually overwritten (in uns
</div>
</div>
<div id="outline-container-org7c3d07b" class="outline-2">
<h2 id="org7c3d07b"><span class="section-number-2">2</span> Electron (electron group)</h2>
<div id="outline-container-org290bd00" class="outline-2">
<h2 id="org290bd00"><span class="section-number-2">2</span> Electron (electron group)</h2>
<div class="outline-text-2" id="text-2">
<p>
We consider wave functions expressed in the spin-free formalism, where
the number of &uarr; and &darr; electrons is fixed.
</p>
<table id="orgbfcdd00" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org1460fac" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -589,15 +590,15 @@ the number of &uarr; and &darr; electrons is fixed.
</div>
</div>
<div id="outline-container-org767b4ec" class="outline-2">
<h2 id="org767b4ec"><span class="section-number-2">3</span> Nucleus (nucleus group)</h2>
<div id="outline-container-org8eb0ec2" class="outline-2">
<h2 id="org8eb0ec2"><span class="section-number-2">3</span> Nucleus (nucleus group)</h2>
<div class="outline-text-2" id="text-3">
<p>
The nuclei are considered as fixed point charges. Coordinates are
given in Cartesian \((x,y,z)\) format.
</p>
<table id="orgb020f38" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org42a46d3" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -664,8 +665,8 @@ given in Cartesian \((x,y,z)\) format.
</div>
</div>
<div id="outline-container-orgadd2b2f" class="outline-2">
<h2 id="orgadd2b2f"><span class="section-number-2">4</span> Effective core potentials (ecp group)</h2>
<div id="outline-container-orgcc47027" class="outline-2">
<h2 id="orgcc47027"><span class="section-number-2">4</span> Effective core potentials (ecp group)</h2>
<div class="outline-text-2" id="text-4">
<p>
An effective core potential (ECP) \(V_A^{\text{ECP}}\) replacing the
@ -698,7 +699,7 @@ 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="org20d7b71" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org0407390" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -800,8 +801,8 @@ If you encounter the aforementioned issue, please report it to our <a href="http
</p>
</div>
<div id="outline-container-org6c18282" class="outline-3">
<h3 id="org6c18282"><span class="section-number-3">4.1</span> Example</h3>
<div id="outline-container-orga3d6da9" class="outline-3">
<h3 id="orga3d6da9"><span class="section-number-3">4.1</span> Example</h3>
<div class="outline-text-3" id="text-4-1">
<p>
For example, consider H<sub>2</sub> molecule with the following
@ -864,12 +865,12 @@ power = [
</div>
</div>
<div id="outline-container-org265705a" class="outline-2">
<h2 id="org265705a"><span class="section-number-2">5</span> Basis set (basis group)</h2>
<div id="outline-container-org3a33be5" class="outline-2">
<h2 id="org3a33be5"><span class="section-number-2">5</span> Basis set (basis group)</h2>
<div class="outline-text-2" id="text-5">
</div>
<div id="outline-container-org2b46187" class="outline-3">
<h3 id="org2b46187"><span class="section-number-3">5.1</span> Gaussian and Slater-type orbitals</h3>
<div id="outline-container-orged88cf1" class="outline-3">
<h3 id="orged88cf1"><span class="section-number-3">5.1</span> Gaussian and Slater-type orbitals</h3>
<div class="outline-text-3" id="text-5-1">
<p>
We consider here basis functions centered on nuclei. Hence, we enable
@ -923,8 +924,8 @@ All the basis set parameters are stored in one-dimensional arrays.
</div>
</div>
<div id="outline-container-orgd0d2056" class="outline-3">
<h3 id="orgd0d2056"><span class="section-number-3">5.2</span> Plane waves</h3>
<div id="outline-container-org3cd24c6" class="outline-3">
<h3 id="org3cd24c6"><span class="section-number-3">5.2</span> Plane waves</h3>
<div class="outline-text-3" id="text-5-2">
<p>
A plane wave is defined as
@ -944,10 +945,10 @@ cutoff <code>e_cut</code> is the only input data relevant to plane waves.
</div>
</div>
<div id="outline-container-org9761dcd" class="outline-3">
<h3 id="org9761dcd"><span class="section-number-3">5.3</span> Data definitions</h3>
<div id="outline-container-orgc5a2a75" class="outline-3">
<h3 id="orgc5a2a75"><span class="section-number-3">5.3</span> Data definitions</h3>
<div class="outline-text-3" id="text-5-3">
<table id="org1676bd0" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orga4c02a2" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1056,8 +1057,8 @@ cutoff <code>e_cut</code> is the only input data relevant to plane waves.
</div>
</div>
<div id="outline-container-orgaf18fc7" class="outline-3">
<h3 id="orgaf18fc7"><span class="section-number-3">5.4</span> Example</h3>
<div id="outline-container-org055eb94" class="outline-3">
<h3 id="org055eb94"><span class="section-number-3">5.4</span> Example</h3>
<div class="outline-text-3" id="text-5-4">
<p>
For example, consider H<sub>2</sub> with the following basis set (in GAMESS
@ -1135,8 +1136,8 @@ prim_factor =
</div>
</div>
<div id="outline-container-org79cc588" class="outline-2">
<h2 id="org79cc588"><span class="section-number-2">6</span> Atomic orbitals (ao group)</h2>
<div id="outline-container-orgdf0b8b5" class="outline-2">
<h2 id="orgdf0b8b5"><span class="section-number-2">6</span> Atomic orbitals (ao group)</h2>
<div class="outline-text-2" id="text-6">
<p>
Going from the atomic basis set to AOs implies a systematic
@ -1189,13 +1190,13 @@ shell, as in the GAMESS convention where
<p>
In such a case, one should set the normalization of the shell (in
the <a href="#org265705a">Basis set</a> section) to \(\mathcal{N}_{z^2}\), which is the
the <a href="#org3a33be5">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}}\).
</p>
<table id="org8c2d8a7" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org7794d87" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1247,7 +1248,7 @@ introduced here should be \(\frac{\mathcal{N}_{xy}}{\mathcal{N}_{z^2}}\).
</table>
</div>
<div id="outline-container-org5bb805f" class="outline-3">
<div id="outline-container-orgb7df849" class="outline-3">
<h3 id="ao_one_e"><span class="section-number-3">6.1</span> One-electron integrals (<code>ao_1e_int</code> group)</h3>
<div class="outline-text-3" id="text-ao_one_e">
<ul class="org-ul">
@ -1265,7 +1266,7 @@ The one-electron integrals for a one-electron operator \(\hat{O}\) are
over atomic orbitals.
</p>
<table id="org67f74dd" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org323c1b8" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1360,7 +1361,7 @@ over atomic orbitals.
</div>
</div>
<div id="outline-container-orgcdba85a" class="outline-3">
<div id="outline-container-org0cbba63" class="outline-3">
<h3 id="ao_two_e"><span class="section-number-3">6.2</span> Two-electron integrals (<code>ao_2e_int</code> group)</h3>
<div class="outline-text-3" id="text-ao_two_e">
<p>
@ -1382,7 +1383,7 @@ notation.
\mathbf{r}_j \vert)}{\vert \mathbf{r}_i - \mathbf{r}_j \vert} \] : electron-electron long range potential</li>
</ul>
<table id="org70ee7d7" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orga472884" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1422,10 +1423,10 @@ notation.
</div>
</div>
<div id="outline-container-orge7a8b69" class="outline-2">
<h2 id="orge7a8b69"><span class="section-number-2">7</span> Molecular orbitals (mo group)</h2>
<div id="outline-container-org6a68658" class="outline-2">
<h2 id="org6a68658"><span class="section-number-2">7</span> Molecular orbitals (mo group)</h2>
<div class="outline-text-2" id="text-7">
<table id="org5bfe709" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org5a0723a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1512,8 +1513,8 @@ notation.
</table>
</div>
<div id="outline-container-org5bfcf19" class="outline-3">
<h3 id="org5bfcf19"><span class="section-number-3">7.1</span> One-electron integrals (<code>mo_1e_int</code> group)</h3>
<div id="outline-container-orga0bfa6c" class="outline-3">
<h3 id="orga0bfa6c"><span class="section-number-3">7.1</span> One-electron integrals (<code>mo_1e_int</code> group)</h3>
<div class="outline-text-3" id="text-7-1">
<p>
The operators as the same as those defined in the
@ -1521,7 +1522,7 @@ The operators as the same as those defined in the
the basis of molecular orbitals.
</p>
<table id="org687acdb" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org55f8c3b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1616,8 +1617,8 @@ the basis of molecular orbitals.
</div>
</div>
<div id="outline-container-org49fb8ca" class="outline-3">
<h3 id="org49fb8ca"><span class="section-number-3">7.2</span> Two-electron integrals (<code>mo_2e_int</code> group)</h3>
<div id="outline-container-orgd47f1dc" class="outline-3">
<h3 id="orgd47f1dc"><span class="section-number-3">7.2</span> Two-electron integrals (<code>mo_2e_int</code> group)</h3>
<div class="outline-text-3" id="text-7-2">
<p>
The operators are the same as those defined in the
@ -1631,11 +1632,11 @@ The Cholesky decomposition of the integrals can also be stored:
<p>
\[
\A_{ijkl} = \sum_{\alpha} G_{il\alpha} G_{jl\alpha}
A_{ijkl} = \sum_{\alpha} G_{il\alpha} G_{jl\alpha}
\]
</p>
<table id="org0aa7ed7" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgf8dc220" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1703,8 +1704,8 @@ The Cholesky decomposition of the integrals can also be stored:
</div>
</div>
<div id="outline-container-orgaa485c5" class="outline-2">
<h2 id="orgaa485c5"><span class="section-number-2">8</span> Slater determinants (determinant group)</h2>
<div id="outline-container-orgedd5465" class="outline-2">
<h2 id="orgedd5465"><span class="section-number-2">8</span> Slater determinants (determinant group)</h2>
<div class="outline-text-2" id="text-8">
<p>
The configuration interaction (CI) wave function \(\Psi\)
@ -1746,7 +1747,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="org3e3d332" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org2f42fa2" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1792,8 +1793,8 @@ An illustration on how to read determinants is presented in the <a href="./examp
</div>
</div>
<div id="outline-container-orgca180c6" class="outline-2">
<h2 id="orgca180c6"><span class="section-number-2">9</span> Configuration state functions (csf group)</h2>
<div id="outline-container-orga99c286" class="outline-2">
<h2 id="orga99c286"><span class="section-number-2">9</span> Configuration state functions (csf group)</h2>
<div class="outline-text-2" id="text-9">
<p>
The configuration interaction (CI) wave function \(\Psi\) can be
@ -1815,7 +1816,7 @@ matrix \(\langle D_I | \psi_J \rangle\) needed to project the CSFs in
the basis of Slater determinants.
</p>
<table id="org1840138" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgd70568b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1861,10 +1862,163 @@ the basis of Slater determinants.
</div>
</div>
<div id="outline-container-orga268384" class="outline-2">
<h2 id="orga268384"><span class="section-number-2">10</span> Excited states (state group)</h2>
<div id="outline-container-org1a35507" class="outline-2">
<h2 id="org1a35507"><span class="section-number-2">10</span> Amplitudes (amplitude group)</h2>
<div class="outline-text-2" id="text-10">
<p>
The wave function may be expressed in terms of action of the cluster
operator \(\hat{T}\):
</p>
<p>
\[
\hat{T} = \hat{T}_1 + \hat{T}_2 + \hat{T}_3 + \dots
\]
</p>
<p>
on a reference wave function \(\Psi\), where \(\hat{T}_1\) is the single excitation operator,
</p>
<p>
\[
\hat{T}_1 = \sum_{ia} t_{i}^{a}\, \hat{a}^\dagger_a \hat{a}_i
\],
</p>
<p>
\(\hat{T}_2\) is the double excitation operator,
</p>
<p>
\[
\hat{T}_2 = \frac{1}{4} \sum_{ijab} t_{ij}^{ab}\, \hat{a}^\dagger_a \hat{a}^\dagger_b \hat{a}_j \hat{a}_i
\],
</p>
<p>
<i>etc</i>. Indices \(i,j,a,b\) denote molecular orbital indices.
</p>
<p>
Wave functions obtained with perturbation theory of configuration
interaction are of the form
</p>
<p>
\[ |\Phi\rangle = \hat{T}|\Psi\rangle \]
</p>
<p>
and coupled-cluster wave functions are of the form
</p>
<p>
\[ |\Phi\rangle = e^{\hat{T}}| \Psi \rangle \]
</p>
<p>
The reference wave function is stored using the <code>determinant</code> and/or
<code>csf</code> groups, and the amplitudes are stored using the current group.
The attributes with the <code>exp</code> suffix correspond to exponentialized operators.
</p>
<p>
The order of the indices is chosen such that
</p>
<ul class="org-ul">
<li><code>t(i,a)</code> = \(t_{i}^{a}\).</li>
<li><code>t(i,j,a,b)</code> = \(t_{ij}^{ab}\),</li>
<li><code>t(i,j,k,a,b,c)</code> = \(t_{ijk}^{abc}\),</li>
<li><code>t(i,j,k,l,a,b,c,d)</code> = \(t_{ijkl}^{abcd}\),</li>
<li>\(\dots\)</li>
</ul>
<table id="orgeb3c2e6" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
<col class="org-left" />
<col class="org-left" />
<col class="org-left" />
<col class="org-left" />
</colgroup>
<thead>
<tr>
<th scope="col" class="org-left">Variable</th>
<th scope="col" class="org-left">Type</th>
<th scope="col" class="org-left">Dimensions</th>
<th scope="col" class="org-left">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="org-left"><code>single</code></td>
<td class="org-left"><code>float sparse</code></td>
<td class="org-left"><code>(mo.num,mo.num)</code></td>
<td class="org-left">Single excitation amplitudes</td>
</tr>
<tr>
<td class="org-left"><code>single_exp</code></td>
<td class="org-left"><code>float sparse</code></td>
<td class="org-left"><code>(mo.num,mo.num)</code></td>
<td class="org-left">Exponentialized single excitation amplitudes</td>
</tr>
<tr>
<td class="org-left"><code>double</code></td>
<td class="org-left"><code>float sparse</code></td>
<td class="org-left"><code>(mo.num,mo.num,mo.num,mo.num)</code></td>
<td class="org-left">Double excitation amplitudes</td>
</tr>
<tr>
<td class="org-left"><code>double_exp</code></td>
<td class="org-left"><code>float sparse</code></td>
<td class="org-left"><code>(mo.num,mo.num,mo.num,mo.num)</code></td>
<td class="org-left">Exponentialized double excitation amplitudes</td>
</tr>
<tr>
<td class="org-left"><code>triple</code></td>
<td class="org-left"><code>float sparse</code></td>
<td class="org-left"><code>(mo.num,mo.num,mo.num,mo.num,mo.num,mo.num)</code></td>
<td class="org-left">Triple excitation amplitudes</td>
</tr>
<tr>
<td class="org-left"><code>triple_exp</code></td>
<td class="org-left"><code>float sparse</code></td>
<td class="org-left"><code>(mo.num,mo.num,mo.num,mo.num,mo.num,mo.num)</code></td>
<td class="org-left">Exponentialized triple excitation amplitudes</td>
</tr>
<tr>
<td class="org-left"><code>quadruple</code></td>
<td class="org-left"><code>float sparse</code></td>
<td class="org-left"><code>(mo.num,mo.num,mo.num,mo.num,mo.num,mo.num,mo.num,mo.num)</code></td>
<td class="org-left">Quadruple excitation amplitudes</td>
</tr>
<tr>
<td class="org-left"><code>quadruple_exp</code></td>
<td class="org-left"><code>float sparse</code></td>
<td class="org-left"><code>(mo.num,mo.num,mo.num,mo.num,mo.num,mo.num,mo.num,mo.num)</code></td>
<td class="org-left">Exponentialized quadruple excitation amplitudes</td>
</tr>
</tbody>
</table>
</div>
</div>
<div id="outline-container-org7348aad" class="outline-2">
<h2 id="org7348aad"><span class="section-number-2">11</span> Excited states (state group)</h2>
<div class="outline-text-2" id="text-11">
<p>
This group contains information about excited states. Since only a
single state can be stored in a TREXIO file, it is possible to store
in the main TREXIO file the names of auxiliary files containing the
@ -1879,7 +2033,7 @@ integrals, etc.
The <code>id</code> and <code>current_label</code> attributes need to be specified for each file.
</p>
<table id="org23b4257" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org8f4c6ff" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1939,9 +2093,9 @@ The <code>id</code> and <code>current_label</code> attributes need to be specifi
</div>
</div>
<div id="outline-container-org1df921a" class="outline-2">
<h2 id="org1df921a"><span class="section-number-2">11</span> Reduced density matrices (rdm group)</h2>
<div class="outline-text-2" id="text-11">
<div id="outline-container-org1ca50d0" class="outline-2">
<h2 id="org1ca50d0"><span class="section-number-2">12</span> Reduced density matrices (rdm group)</h2>
<div class="outline-text-2" id="text-12">
<p>
The reduced density matrices are defined in the basis of molecular
orbitals.
@ -2015,7 +2169,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="orgfa0ad36" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgf074578" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -2166,15 +2320,15 @@ expressed in a basis of a one-electron function
</div>
</div>
<div id="outline-container-org4d0e96c" class="outline-2">
<h2 id="org4d0e96c"><span class="section-number-2">12</span> Cell (cell group)</h2>
<div class="outline-text-2" id="text-12">
<div id="outline-container-orge6045a2" class="outline-2">
<h2 id="orge6045a2"><span class="section-number-2">13</span> Cell (cell group)</h2>
<div class="outline-text-2" id="text-13">
<p>
3 Lattice vectors to define a box containing the system, for example
used in periodic calculations.
</p>
<table id="orgf14434e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgc546fb4" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -2220,15 +2374,15 @@ used in periodic calculations.
</div>
</div>
<div id="outline-container-org2d7097b" class="outline-2">
<h2 id="org2d7097b"><span class="section-number-2">13</span> Periodic boundary calculations (pbc group)</h2>
<div class="outline-text-2" id="text-13">
<div id="outline-container-orgf77479f" class="outline-2">
<h2 id="orgf77479f"><span class="section-number-2">14</span> Periodic boundary calculations (pbc group)</h2>
<div class="outline-text-2" id="text-14">
<p>
A single $k$-point per TREXIO file can be stored. The $k$-point is
defined in this group.
</p>
<table id="org62bc2f9" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgbedf9c5" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -2267,9 +2421,9 @@ defined in this group.
</div>
</div>
<div id="outline-container-orga8a5165" class="outline-2">
<h2 id="orga8a5165"><span class="section-number-2">14</span> Numerical integration grid (grid group)</h2>
<div class="outline-text-2" id="text-14">
<div id="outline-container-org235c4ad" class="outline-2">
<h2 id="org235c4ad"><span class="section-number-2">15</span> Numerical integration grid (grid group)</h2>
<div class="outline-text-2" id="text-15">
<p>
The molecular integrals have to be computed numerically on a grid in many applications.
A common choice for the angular grid is the one proposed by Lebedev and Laikov
@ -2282,7 +2436,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="orgb19af79" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org2d536ee" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -2398,9 +2552,9 @@ Feel free to submit a PR if you find missing options/functionalities.
</div>
</div>
<div id="outline-container-org3b756ea" class="outline-2">
<h2 id="org3b756ea"><span class="section-number-2">15</span> Quantum Monte Carlo data (qmc group)</h2>
<div class="outline-text-2" id="text-15">
<div id="outline-container-org24645f5" class="outline-2">
<h2 id="org24645f5"><span class="section-number-2">16</span> Quantum Monte Carlo data (qmc group)</h2>
<div class="outline-text-2" id="text-16">
<p>
In quantum Monte Carlo calculations, the wave function is evaluated
at points of the 3N-dimensional space. Some algorithms require multiple
@ -2413,7 +2567,7 @@ By convention, the electron coordinates contain first all the electrons
of $&uarr;$-spin and then all the $&darr;$-spin.
</p>
<table id="org495cf25" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org5b1ce11" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -2468,7 +2622,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: 2022-12-27 Tue 16:09</p>
<p class="date">Created: 2023-01-02 Mon 15:08</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>