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

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

This commit is contained in:
scemama 2022-12-26 12:37:38 +00:00
parent e96d035c3f
commit a8a0ed5cd6
7 changed files with 620 additions and 568 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-13 Tue 16:10 -->
<!-- 2022-12-26 Mon 12:37 -->
<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-13 Tue 16:10</p>
<p class="date">Created: 2022-12-26 Mon 12:37</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-13 Tue 16:10 -->
<!-- 2022-12-26 Mon 12:37 -->
<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="#orgfddc3b1">1. Accessing sparse quantities (integrals)</a>
<li><a href="#org6b42fff">1. Accessing sparse quantities (integrals)</a>
<ul>
<li><a href="#org9d1b8c9">1.1. Fortran</a>
<li><a href="#org2681e67">1.1. Fortran</a>
<ul>
<li><a href="#org1bab83f">1.1.1. Declare Temporary variables</a></li>
<li><a href="#org4e1d5e2">1.1.2. Obtain the name of the TREXIO file from the command line, and open it for reading</a></li>
<li><a href="#org0f920f8">1.1.3. Read the nuclear repulsion energy</a></li>
<li><a href="#orgeeab298">1.1.4. Read the number of molecular orbitals</a></li>
<li><a href="#org6923f37">1.1.5. Allocate memory</a></li>
<li><a href="#orgbcca21f">1.1.6. Read one-electron quantities</a></li>
<li><a href="#org030a94e">1.1.7. Read two-electron quantities</a>
<li><a href="#org1d5ea30">1.1.1. Declare Temporary variables</a></li>
<li><a href="#org751976f">1.1.2. Obtain the name of the TREXIO file from the command line, and open it for reading</a></li>
<li><a href="#org236ee65">1.1.3. Read the nuclear repulsion energy</a></li>
<li><a href="#org9694aee">1.1.4. Read the number of molecular orbitals</a></li>
<li><a href="#org0400e56">1.1.5. Allocate memory</a></li>
<li><a href="#orgab8a85f">1.1.6. Read one-electron quantities</a></li>
<li><a href="#org28f773d">1.1.7. Read two-electron quantities</a>
<ul>
<li><a href="#org0375961">1.1.7.1. Electron repulsion integrals</a></li>
<li><a href="#org498752b">1.1.7.2. Reduced density matrix</a></li>
<li><a href="#org93d118a">1.1.7.1. Electron repulsion integrals</a></li>
<li><a href="#orgbe7eb3e">1.1.7.2. Reduced density matrix</a></li>
</ul>
</li>
<li><a href="#org749c8c1">1.1.8. Compute the energy</a></li>
<li><a href="#orgaad6518">1.1.9. Terminate</a></li>
<li><a href="#orgab0d621">1.1.8. Compute the energy</a></li>
<li><a href="#org6dae4fe">1.1.9. Terminate</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#orga08e7b0">2. Reading determinants</a>
<li><a href="#orgb99c155">2. Reading determinants</a>
<ul>
<li><a href="#org1046bb7">2.1. Fortran</a></li>
<li><a href="#orgddd2b28">2.1. Fortran</a></li>
</ul>
</li>
</ul>
@ -378,12 +378,12 @@ for the JavaScript code in this tag.
</div>
<div id="outline-container-orgfddc3b1" class="outline-2">
<h2 id="orgfddc3b1"><span class="section-number-2">1</span> Accessing sparse quantities (integrals)</h2>
<div id="outline-container-org6b42fff" class="outline-2">
<h2 id="org6b42fff"><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-org9d1b8c9" class="outline-3">
<h3 id="org9d1b8c9"><span class="section-number-3">1.1</span> Fortran</h3>
<div id="outline-container-org2681e67" class="outline-3">
<h3 id="org2681e67"><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-org1bab83f" class="outline-4">
<h4 id="org1bab83f"><span class="section-number-4">1.1.1</span> Declare Temporary variables</h4>
<div id="outline-container-org1d5ea30" class="outline-4">
<h4 id="org1d5ea30"><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-org4e1d5e2" class="outline-4">
<h4 id="org4e1d5e2"><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-org751976f" class="outline-4">
<h4 id="org751976f"><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-org0f920f8" class="outline-4">
<h4 id="org0f920f8"><span class="section-number-4">1.1.3</span> Read the nuclear repulsion energy</h4>
<div id="outline-container-org236ee65" class="outline-4">
<h4 id="org236ee65"><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-orgeeab298" class="outline-4">
<h4 id="orgeeab298"><span class="section-number-4">1.1.4</span> Read the number of molecular orbitals</h4>
<div id="outline-container-org9694aee" class="outline-4">
<h4 id="org9694aee"><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-org6923f37" class="outline-4">
<h4 id="org6923f37"><span class="section-number-4">1.1.5</span> Allocate memory</h4>
<div id="outline-container-org0400e56" class="outline-4">
<h4 id="org0400e56"><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-orgbcca21f" class="outline-4">
<h4 id="orgbcca21f"><span class="section-number-4">1.1.6</span> Read one-electron quantities</h4>
<div id="outline-container-orgab8a85f" class="outline-4">
<h4 id="orgab8a85f"><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-org030a94e" class="outline-4">
<h4 id="org030a94e"><span class="section-number-4">1.1.7</span> Read two-electron quantities</h4>
<div id="outline-container-org28f773d" class="outline-4">
<h4 id="org28f773d"><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-org0375961" class="outline-5">
<h5 id="org0375961"><span class="section-number-5">1.1.7.1</span> Electron repulsion integrals</h5>
<div id="outline-container-org93d118a" class="outline-5">
<h5 id="org93d118a"><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-org498752b" class="outline-5">
<h5 id="org498752b"><span class="section-number-5">1.1.7.2</span> Reduced density matrix</h5>
<div id="outline-container-orgbe7eb3e" class="outline-5">
<h5 id="orgbe7eb3e"><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-org749c8c1" class="outline-4">
<h4 id="org749c8c1"><span class="section-number-4">1.1.8</span> Compute the energy</h4>
<div id="outline-container-orgab0d621" class="outline-4">
<h4 id="orgab0d621"><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-orgaad6518" class="outline-4">
<h4 id="orgaad6518"><span class="section-number-4">1.1.9</span> Terminate</h4>
<div id="outline-container-org6dae4fe" class="outline-4">
<h4 id="org6dae4fe"><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-orga08e7b0" class="outline-2">
<h2 id="orga08e7b0"><span class="section-number-2">2</span> Reading determinants</h2>
<div id="outline-container-orgb99c155" class="outline-2">
<h2 id="orgb99c155"><span class="section-number-2">2</span> Reading determinants</h2>
<div class="outline-text-2" id="text-2">
</div>
<div id="outline-container-org1046bb7" class="outline-3">
<h3 id="org1046bb7"><span class="section-number-3">2.1</span> Fortran</h3>
<div id="outline-container-orgddd2b28" class="outline-3">
<h3 id="orgddd2b28"><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-13 Tue 16:10</p>
<p class="date">Created: 2022-12-26 Mon 12:37</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-13 Tue 16:10 -->
<!-- 2022-12-26 Mon 12:37 -->
<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-13 Tue 16:10</p>
<p class="date">Created: 2022-12-26 Mon 12:37</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-13 Tue 16:09 -->
<!-- 2022-12-26 Mon 12:37 -->
<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="#orgd34030b">1. Template for HDF5 definitions</a></li>
<li><a href="#org04e001e">2. Template for HDF5 structures</a></li>
<li><a href="#org5dfd60b">3. Template for HDF5 init/deinit</a></li>
<li><a href="#org9438ff2">4. Template for HDF5 has a group</a></li>
<li><a href="#orgcd2b227">5. Template for HDF5 has/read/write a numerical attribute</a></li>
<li><a href="#orgc7c8ec8">6. Template for HDF5 has/read/write a dataset of numerical data</a></li>
<li><a href="#orge28a579">7. Template for HDF5 has/read/write a dataset of sparse data</a></li>
<li><a href="#org3c69b87">8. Template for HDF5 has/read/write a dataset of buffered vectors</a></li>
<li><a href="#org45ed77c">9. Template for HDF5 has/read/write a dataset of strings</a></li>
<li><a href="#org1c5137f">10. Template for HDF5 has/read/write a string attribute</a></li>
<li><a href="#org0ab6955">11. Template for HDF5 delete a group (UNSAFE mode)</a></li>
<li><a href="#org58a543e">12. Source code for the determinant part</a></li>
<li><a href="#org229f9ae">13. Helper functions</a></li>
<li><a href="#orgde8af7f">1. Template for HDF5 definitions</a></li>
<li><a href="#org43f06d4">2. Template for HDF5 structures</a></li>
<li><a href="#org8a79c6e">3. Template for HDF5 init/deinit</a></li>
<li><a href="#orgad11ff1">4. Template for HDF5 has a group</a></li>
<li><a href="#org078da01">5. Template for HDF5 has/read/write a numerical attribute</a></li>
<li><a href="#org47e2536">6. Template for HDF5 has/read/write a dataset of numerical data</a></li>
<li><a href="#org907180e">7. Template for HDF5 has/read/write a dataset of sparse data</a></li>
<li><a href="#org7f74c9a">8. Template for HDF5 has/read/write a dataset of buffered vectors</a></li>
<li><a href="#orga1ca532">9. Template for HDF5 has/read/write a dataset of strings</a></li>
<li><a href="#org19866f9">10. Template for HDF5 has/read/write a string attribute</a></li>
<li><a href="#org4e4e30c">11. Template for HDF5 delete a group (UNSAFE mode)</a></li>
<li><a href="#orgd396f24">12. Source code for the determinant part</a></li>
<li><a href="#org683c21e">13. Helper functions</a></li>
</ul>
</div>
</div>
<div id="outline-container-orgd34030b" class="outline-2">
<h2 id="orgd34030b"><span class="section-number-2">1</span> Template for HDF5 definitions</h2>
<div id="outline-container-orgde8af7f" class="outline-2">
<h2 id="orgde8af7f"><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-org04e001e" class="outline-2">
<h2 id="org04e001e"><span class="section-number-2">2</span> Template for HDF5 structures</h2>
<div id="outline-container-org43f06d4" class="outline-2">
<h2 id="org43f06d4"><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-org5dfd60b" class="outline-2">
<h2 id="org5dfd60b"><span class="section-number-2">3</span> Template for HDF5 init/deinit</h2>
<div id="outline-container-org8a79c6e" class="outline-2">
<h2 id="org8a79c6e"><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-org9438ff2" class="outline-2">
<h2 id="org9438ff2"><span class="section-number-2">4</span> Template for HDF5 has a group</h2>
<div id="outline-container-orgad11ff1" class="outline-2">
<h2 id="orgad11ff1"><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-orgcd2b227" class="outline-2">
<h2 id="orgcd2b227"><span class="section-number-2">5</span> Template for HDF5 has/read/write a numerical attribute</h2>
<div id="outline-container-org078da01" class="outline-2">
<h2 id="org078da01"><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-orgc7c8ec8" class="outline-2">
<h2 id="orgc7c8ec8"><span class="section-number-2">6</span> Template for HDF5 has/read/write a dataset of numerical data</h2>
<div id="outline-container-org47e2536" class="outline-2">
<h2 id="org47e2536"><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-orge28a579" class="outline-2">
<h2 id="orge28a579"><span class="section-number-2">7</span> Template for HDF5 has/read/write a dataset of sparse data</h2>
<div id="outline-container-org907180e" class="outline-2">
<h2 id="org907180e"><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-org3c69b87" class="outline-2">
<h2 id="org3c69b87"><span class="section-number-2">8</span> Template for HDF5 has/read/write a dataset of buffered vectors</h2>
<div id="outline-container-org7f74c9a" class="outline-2">
<h2 id="org7f74c9a"><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-org45ed77c" class="outline-2">
<h2 id="org45ed77c"><span class="section-number-2">9</span> Template for HDF5 has/read/write a dataset of strings</h2>
<div id="outline-container-orga1ca532" class="outline-2">
<h2 id="orga1ca532"><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-org1c5137f" class="outline-2">
<h2 id="org1c5137f"><span class="section-number-2">10</span> Template for HDF5 has/read/write a string attribute</h2>
<div id="outline-container-org19866f9" class="outline-2">
<h2 id="org19866f9"><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-org0ab6955" class="outline-2">
<h2 id="org0ab6955"><span class="section-number-2">11</span> Template for HDF5 delete a group (UNSAFE mode)</h2>
<div id="outline-container-org4e4e30c" class="outline-2">
<h2 id="org4e4e30c"><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-org58a543e" class="outline-2">
<h2 id="org58a543e"><span class="section-number-2">12</span> Source code for the determinant part</h2>
<div id="outline-container-orgd396f24" class="outline-2">
<h2 id="orgd396f24"><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-org229f9ae" class="outline-2">
<h2 id="org229f9ae"><span class="section-number-2">13</span> Helper functions</h2>
<div id="outline-container-org683c21e" class="outline-2">
<h2 id="org683c21e"><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-13 Tue 16:09</p>
<p class="date">Created: 2022-12-26 Mon 12:37</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-13 Tue 16:09 -->
<!-- 2022-12-26 Mon 12:37 -->
<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="#org0dd83e7">1. Template for group-related structures in text back end</a></li>
<li><a href="#org8a452ca">2. Template for general structure in text back end</a></li>
<li><a href="#org413d152">3. Initialize function (constant part)</a></li>
<li><a href="#orgbcc1b0f">4. Deinitialize function (templated part)</a></li>
<li><a href="#org47ac91d">5. Flush function (templated part)</a></li>
<li><a href="#org1a29416">6. Template for text read a group</a></li>
<li><a href="#orgbff7a05">7. Template for text has a group</a></li>
<li><a href="#org48e4dec">8. Template for text flush a group</a></li>
<li><a href="#org011ecac">9. Template for text free memory</a></li>
<li><a href="#org2422bc5">10. Template for has/read/write a numerical attribute</a></li>
<li><a href="#org3e9c97b">11. Template for has/read/write a dataset of numerical data</a></li>
<li><a href="#org710ebfc">12. Template for has/read/write a dataset of strings</a></li>
<li><a href="#org59e623c">13. Template for has/read/write a string attribute</a></li>
<li><a href="#org24e320e">14. Template for has/read/write the dataset of sparse data</a></li>
<li><a href="#orgdde7a4e">15. Template for has/read/write a buffered vector</a></li>
<li><a href="#org37c5e00">16. Template for text delete a group (UNSAFE mode)</a></li>
<li><a href="#org00faa46">17. Source code for the determinant part</a></li>
<li><a href="#org5527014">1. Template for group-related structures in text back end</a></li>
<li><a href="#org5175b46">2. Template for general structure in text back end</a></li>
<li><a href="#org21a08b0">3. Initialize function (constant part)</a></li>
<li><a href="#orge38adfe">4. Deinitialize function (templated part)</a></li>
<li><a href="#org24ae22c">5. Flush function (templated part)</a></li>
<li><a href="#orgac03d40">6. Template for text read a group</a></li>
<li><a href="#orgcc321b1">7. Template for text has a group</a></li>
<li><a href="#orgee0e2ac">8. Template for text flush a group</a></li>
<li><a href="#orgc533477">9. Template for text free memory</a></li>
<li><a href="#orgdbb5310">10. Template for has/read/write a numerical attribute</a></li>
<li><a href="#orgc1b621e">11. Template for has/read/write a dataset of numerical data</a></li>
<li><a href="#orge4b0cf2">12. Template for has/read/write a dataset of strings</a></li>
<li><a href="#org87ed52f">13. Template for has/read/write a string attribute</a></li>
<li><a href="#org438db19">14. Template for has/read/write the dataset of sparse data</a></li>
<li><a href="#orga6aee18">15. Template for has/read/write a buffered vector</a></li>
<li><a href="#org9c7c9e7">16. Template for text delete a group (UNSAFE mode)</a></li>
<li><a href="#org5d03080">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-org0dd83e7" class="outline-2">
<h2 id="org0dd83e7"><span class="section-number-2">1</span> Template for group-related structures in text back end</h2>
<div id="outline-container-org5527014" class="outline-2">
<h2 id="org5527014"><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-org8a452ca" class="outline-2">
<h2 id="org8a452ca"><span class="section-number-2">2</span> Template for general structure in text back end</h2>
<div id="outline-container-org5175b46" class="outline-2">
<h2 id="org5175b46"><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-org413d152" class="outline-2">
<h2 id="org413d152"><span class="section-number-2">3</span> Initialize function (constant part)</h2>
<div id="outline-container-org21a08b0" class="outline-2">
<h2 id="org21a08b0"><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-orgbcc1b0f" class="outline-2">
<h2 id="orgbcc1b0f"><span class="section-number-2">4</span> Deinitialize function (templated part)</h2>
<div id="outline-container-orge38adfe" class="outline-2">
<h2 id="orge38adfe"><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-org47ac91d" class="outline-2">
<h2 id="org47ac91d"><span class="section-number-2">5</span> Flush function (templated part)</h2>
<div id="outline-container-org24ae22c" class="outline-2">
<h2 id="org24ae22c"><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-org1a29416" class="outline-2">
<h2 id="org1a29416"><span class="section-number-2">6</span> Template for text read a group</h2>
<div id="outline-container-orgac03d40" class="outline-2">
<h2 id="orgac03d40"><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-orgbff7a05" class="outline-2">
<h2 id="orgbff7a05"><span class="section-number-2">7</span> Template for text has a group</h2>
<div id="outline-container-orgcc321b1" class="outline-2">
<h2 id="orgcc321b1"><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-org48e4dec" class="outline-2">
<h2 id="org48e4dec"><span class="section-number-2">8</span> Template for text flush a group</h2>
<div id="outline-container-orgee0e2ac" class="outline-2">
<h2 id="orgee0e2ac"><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-org011ecac" class="outline-2">
<h2 id="org011ecac"><span class="section-number-2">9</span> Template for text free memory</h2>
<div id="outline-container-orgc533477" class="outline-2">
<h2 id="orgc533477"><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-org2422bc5" class="outline-2">
<h2 id="org2422bc5"><span class="section-number-2">10</span> Template for has/read/write a numerical attribute</h2>
<div id="outline-container-orgdbb5310" class="outline-2">
<h2 id="orgdbb5310"><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-org3e9c97b" class="outline-2">
<h2 id="org3e9c97b"><span class="section-number-2">11</span> Template for has/read/write a dataset of numerical data</h2>
<div id="outline-container-orgc1b621e" class="outline-2">
<h2 id="orgc1b621e"><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-org710ebfc" class="outline-2">
<h2 id="org710ebfc"><span class="section-number-2">12</span> Template for has/read/write a dataset of strings</h2>
<div id="outline-container-orge4b0cf2" class="outline-2">
<h2 id="orge4b0cf2"><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-org59e623c" class="outline-2">
<h2 id="org59e623c"><span class="section-number-2">13</span> Template for has/read/write a string attribute</h2>
<div id="outline-container-org87ed52f" class="outline-2">
<h2 id="org87ed52f"><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-org24e320e" class="outline-2">
<h2 id="org24e320e"><span class="section-number-2">14</span> Template for has/read/write the dataset of sparse data</h2>
<div id="outline-container-org438db19" class="outline-2">
<h2 id="org438db19"><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-orgdde7a4e" class="outline-2">
<h2 id="orgdde7a4e"><span class="section-number-2">15</span> Template for has/read/write a buffered vector</h2>
<div id="outline-container-orga6aee18" class="outline-2">
<h2 id="orga6aee18"><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-org37c5e00" class="outline-2">
<h2 id="org37c5e00"><span class="section-number-2">16</span> Template for text delete a group (UNSAFE mode)</h2>
<div id="outline-container-org9c7c9e7" class="outline-2">
<h2 id="org9c7c9e7"><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-org00faa46" class="outline-2">
<h2 id="org00faa46"><span class="section-number-2">17</span> Source code for the determinant part</h2>
<div id="outline-container-org5d03080" class="outline-2">
<h2 id="org5d03080"><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-13 Tue 16:09</p>
<p class="date">Created: 2022-12-26 Mon 12:37</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>

272
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-13 Tue 16:10 -->
<!-- 2022-12-26 Mon 12:37 -->
<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,38 +346,41 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#orgc0b7ad2">1. Metadata (metadata group)</a></li>
<li><a href="#org18889b8">2. Electron (electron group)</a></li>
<li><a href="#org0087f85">3. Nucleus (nucleus group)</a></li>
<li><a href="#orgc70756d">4. Effective core potentials (ecp group)</a>
<li><a href="#org9f88fbd">1. Metadata (metadata group)</a></li>
<li><a href="#orge30bb46">2. Electron (electron group)</a></li>
<li><a href="#orge1b1c55">3. Nucleus (nucleus group)</a></li>
<li><a href="#orgddd5083">4. Effective core potentials (ecp group)</a>
<ul>
<li><a href="#org902cc0a">4.1. Example</a></li>
<li><a href="#org4c78334">4.1. Example</a></li>
</ul>
</li>
<li><a href="#orgef69be3">5. Basis set (basis group)</a>
<li><a href="#orgacb3c32">5. Basis set (basis group)</a>
<ul>
<li><a href="#org28374ca">5.1. Example</a></li>
<li><a href="#org2ca21fe">5.1. Gaussian and Slater-type orbitals</a></li>
<li><a href="#orgf577c24">5.2. Plane waves</a></li>
<li><a href="#orgbb1985e">5.3. Data definitions</a></li>
<li><a href="#orgaea0e3d">5.4. Example</a></li>
</ul>
</li>
<li><a href="#org4910989">6. Atomic orbitals (ao group)</a>
<li><a href="#org3710cb6">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="#orga1e8ae3">7. Molecular orbitals (mo group)</a>
<li><a href="#org25419cb">7. Molecular orbitals (mo group)</a>
<ul>
<li><a href="#orgea5dbf4">7.1. One-electron integrals (<code>mo_1e_int</code> group)</a></li>
<li><a href="#org63def0b">7.2. Two-electron integrals (<code>mo_2e_int</code> group)</a></li>
<li><a href="#org4f324d4">7.1. One-electron integrals (<code>mo_1e_int</code> group)</a></li>
<li><a href="#org06d3789">7.2. Two-electron integrals (<code>mo_2e_int</code> group)</a></li>
</ul>
</li>
<li><a href="#orgac67ff5">8. Slater determinants (determinant group)</a></li>
<li><a href="#org8cb782b">9. Configuration state functions (csf group)</a></li>
<li><a href="#orgfb3a4c1">10. Excited states (state group)</a></li>
<li><a href="#orgd24b81a">11. Reduced density matrices (rdm group)</a></li>
<li><a href="#org71d238c">12. Cell (cell group)</a></li>
<li><a href="#org437a801">13. Periodic boundary calculations (pbc group)</a></li>
<li><a href="#orgcd97803">14. Quantum Monte Carlo data (qmc group)</a></li>
<li><a href="#org89a3177">8. Slater determinants (determinant group)</a></li>
<li><a href="#orgc83ec28">9. Configuration state functions (csf group)</a></li>
<li><a href="#org811f1f7">10. Excited states (state group)</a></li>
<li><a href="#org57aa690">11. Reduced density matrices (rdm group)</a></li>
<li><a href="#org3decdf9">12. Cell (cell group)</a></li>
<li><a href="#org18be7f2">13. Periodic boundary calculations (pbc group)</a></li>
<li><a href="#orge2847c4">14. Quantum Monte Carlo data (qmc group)</a></li>
</ul>
</div>
</div>
@ -439,8 +442,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-orgc0b7ad2" class="outline-2">
<h2 id="orgc0b7ad2"><span class="section-number-2">1</span> Metadata (metadata group)</h2>
<div id="outline-container-org9f88fbd" class="outline-2">
<h2 id="org9f88fbd"><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
@ -450,7 +453,7 @@ which have participated to the creation of the file, a list of
authors of the file, and a textual description.
</p>
<table id="orgb136653" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org29d7bc4" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -531,15 +534,15 @@ then the <code>unsafe</code> attribute value can be manually overwritten (in uns
</div>
</div>
<div id="outline-container-org18889b8" class="outline-2">
<h2 id="org18889b8"><span class="section-number-2">2</span> Electron (electron group)</h2>
<div id="outline-container-orge30bb46" class="outline-2">
<h2 id="orge30bb46"><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="org03dde79" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgac36bfe" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -585,15 +588,15 @@ the number of &uarr; and &darr; electrons is fixed.
</div>
</div>
<div id="outline-container-org0087f85" class="outline-2">
<h2 id="org0087f85"><span class="section-number-2">3</span> Nucleus (nucleus group)</h2>
<div id="outline-container-orge1b1c55" class="outline-2">
<h2 id="orge1b1c55"><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="org2396bba" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org2c0d4e9" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -660,8 +663,8 @@ given in Cartesian \((x,y,z)\) format.
</div>
</div>
<div id="outline-container-orgc70756d" class="outline-2">
<h2 id="orgc70756d"><span class="section-number-2">4</span> Effective core potentials (ecp group)</h2>
<div id="outline-container-orgddd5083" class="outline-2">
<h2 id="orgddd5083"><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
@ -694,7 +697,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="org57c1418" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgb139343" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -796,8 +799,8 @@ If you encounter the aforementioned issue, please report it to our <a href="http
</p>
</div>
<div id="outline-container-org902cc0a" class="outline-3">
<h3 id="org902cc0a"><span class="section-number-3">4.1</span> Example</h3>
<div id="outline-container-org4c78334" class="outline-3">
<h3 id="org4c78334"><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
@ -860,9 +863,13 @@ power = [
</div>
</div>
<div id="outline-container-orgef69be3" class="outline-2">
<h2 id="orgef69be3"><span class="section-number-2">5</span> Basis set (basis group)</h2>
<div id="outline-container-orgacb3c32" class="outline-2">
<h2 id="orgacb3c32"><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-org2ca21fe" class="outline-3">
<h3 id="org2ca21fe"><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
the possibility to define <i>dummy atoms</i> to place basis functions in
@ -877,11 +884,11 @@ radial function \(R_s\). The radial function is a linear combination of
Slater (\(p=1\)) or Gaussian (\(p=2\)),
parameterized by exponents \(\gamma_{ks}\) and coefficients \(a_{ks}\):
\[
R_s(\mathbf{r}) = \mathcal{N}_s \vert\mathbf{r}-\mathbf{R}_A\vert^{n_s}
\sum_{k=1}^{N_{\text{prim}}} a_{ks}\, f_{ks}(\gamma_{ks},p)\,
\exp \left( - \gamma_{ks}
\vert \mathbf{r}-\mathbf{R}_A \vert ^p \right).
\]
R_s(\mathbf{r}) = \mathcal{N}_s \vert\mathbf{r}-\mathbf{R}_A\vert^{n_s}
\sum_{k=1}^{N_{\text{prim}}} a_{ks}\, f_{ks}(\gamma_{ks},p)\,
\exp \left( - \gamma_{ks}
\vert \mathbf{r}-\mathbf{R}_A \vert ^p \right).
\]
</p>
<p>
@ -909,12 +916,37 @@ implies the computation of an extra normalization factor, \(\mathcal{N}_s\).
If the the basis function is not considered normalized, \(\mathcal{N}_s=1\).
</p>
<p>
All the basis set parameters are stored in one-dimensional arrays:
All the basis set parameters are stored in one-dimensional arrays.
</p>
</div>
</div>
<div id="outline-container-orgf577c24" class="outline-3">
<h3 id="orgf577c24"><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
</p>
<table id="orgc5f9821" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<p>
\[
\chi_j(r) = \exp \left( -i \mathbf{k}_j \mathbf{r} \right)
\]
</p>
<p>
The basis set is defined as the array of $k$-points in the
reciprocal space, defined in the <code>pbc</code> group. The kinetic energy
cutoff <code>e_cut</code> is the only input data relevant to plane waves.
</p>
</div>
</div>
<div id="outline-container-orgbb1985e" class="outline-3">
<h3 id="orgbb1985e"><span class="section-number-3">5.3</span> Data definitions</h3>
<div class="outline-text-3" id="text-5-3">
<table id="orgeda2454" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -939,7 +971,7 @@ All the basis set parameters are stored in one-dimensional arrays:
<td class="org-left"><code>type</code></td>
<td class="org-left"><code>str</code></td>
<td class="org-left">&#xa0;</td>
<td class="org-left">Type of basis set: "Gaussian" or "Slater"</td>
<td class="org-left">Type of basis set: "Gaussian", "Slater" or "PW" for plane waves</td>
</tr>
<tr>
@ -1011,13 +1043,21 @@ All the basis set parameters are stored in one-dimensional arrays:
<td class="org-left"><code>(basis.prim_num)</code></td>
<td class="org-left">Normalization coefficients for the primitives (\(f_{ks}\))</td>
</tr>
<tr>
<td class="org-left"><code>e_cut</code></td>
<td class="org-left"><code>float</code></td>
<td class="org-left">&#xa0;</td>
<td class="org-left">Energy cut-off for plane-wave calculations</td>
</tr>
</tbody>
</table>
</div>
</div>
<div id="outline-container-org28374ca" class="outline-3">
<h3 id="org28374ca"><span class="section-number-3">5.1</span> Example</h3>
<div class="outline-text-3" id="text-5-1">
<div id="outline-container-orgaea0e3d" class="outline-3">
<h3 id="orgaea0e3d"><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
format), where both the AOs and primitives are considered normalized:
@ -1094,8 +1134,8 @@ prim_factor =
</div>
</div>
<div id="outline-container-org4910989" class="outline-2">
<h2 id="org4910989"><span class="section-number-2">6</span> Atomic orbitals (ao group)</h2>
<div id="outline-container-org3710cb6" class="outline-2">
<h2 id="org3710cb6"><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
@ -1148,13 +1188,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="#orgef69be3">Basis set</a> section) to \(\mathcal{N}_{z^2}\), which is the
the <a href="#orgacb3c32">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="orgb46bbcb" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org5a9b703" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1206,7 +1246,7 @@ introduced here should be \(\frac{\mathcal{N}_{xy}}{\mathcal{N}_{z^2}}\).
</table>
</div>
<div id="outline-container-orgf3c6853" class="outline-3">
<div id="outline-container-org36b4402" 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">
@ -1224,7 +1264,7 @@ The one-electron integrals for a one-electron operator \(\hat{O}\) are
over atomic orbitals.
</p>
<table id="org0e73fc2" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org8b4ab4a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1319,7 +1359,7 @@ over atomic orbitals.
</div>
</div>
<div id="outline-container-orgb00de5e" class="outline-3">
<div id="outline-container-orgba9769a" 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>
@ -1341,7 +1381,7 @@ notation.
\mathbf{r}_j \vert)}{\vert \mathbf{r}_i - \mathbf{r}_j \vert} \] : electron-electron long range potential</li>
</ul>
<table id="org58acacf" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org994b101" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1381,10 +1421,10 @@ notation.
</div>
</div>
<div id="outline-container-orga1e8ae3" class="outline-2">
<h2 id="orga1e8ae3"><span class="section-number-2">7</span> Molecular orbitals (mo group)</h2>
<div id="outline-container-org25419cb" class="outline-2">
<h2 id="org25419cb"><span class="section-number-2">7</span> Molecular orbitals (mo group)</h2>
<div class="outline-text-2" id="text-7">
<table id="org8c2e21d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org250d732" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1471,8 +1511,8 @@ notation.
</table>
</div>
<div id="outline-container-orgea5dbf4" class="outline-3">
<h3 id="orgea5dbf4"><span class="section-number-3">7.1</span> One-electron integrals (<code>mo_1e_int</code> group)</h3>
<div id="outline-container-org4f324d4" class="outline-3">
<h3 id="org4f324d4"><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
@ -1480,7 +1520,7 @@ The operators as the same as those defined in the
the basis of molecular orbitals.
</p>
<table id="org431c9fb" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org84d300f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1575,8 +1615,8 @@ the basis of molecular orbitals.
</div>
</div>
<div id="outline-container-org63def0b" class="outline-3">
<h3 id="org63def0b"><span class="section-number-3">7.2</span> Two-electron integrals (<code>mo_2e_int</code> group)</h3>
<div id="outline-container-org06d3789" class="outline-3">
<h3 id="org06d3789"><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
@ -1594,7 +1634,7 @@ The Cholesky decomposition of the integrals can also be stored:
\]
</p>
<table id="orgb22b4ab" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org49eb1d4" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1662,8 +1702,8 @@ The Cholesky decomposition of the integrals can also be stored:
</div>
</div>
<div id="outline-container-orgac67ff5" class="outline-2">
<h2 id="orgac67ff5"><span class="section-number-2">8</span> Slater determinants (determinant group)</h2>
<div id="outline-container-org89a3177" class="outline-2">
<h2 id="org89a3177"><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\)
@ -1705,7 +1745,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="org4eab1d6" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org33e994a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1751,8 +1791,8 @@ An illustration on how to read determinants is presented in the <a href="./examp
</div>
</div>
<div id="outline-container-org8cb782b" class="outline-2">
<h2 id="org8cb782b"><span class="section-number-2">9</span> Configuration state functions (csf group)</h2>
<div id="outline-container-orgc83ec28" class="outline-2">
<h2 id="orgc83ec28"><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
@ -1767,14 +1807,14 @@ expanded in the basis of <a href="https://en.wikipedia.org/wiki/Configuration_st
</p>
<p>
Each CSF is a linear combination of Slater determinants. Slater
Each CSF \(\psi_I\) is a linear combination of Slater determinants. Slater
determinants are stored in the <code>determinant</code> section. In this group
we store the CI coefficients in the basis of CSFs, and the
matrix \(\langle D_I | \psi_J \rangle\) needed to project the CSFs in
the basis of Slater determinants.
</p>
<table id="orgbf97586" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org6ba138f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1806,7 +1846,7 @@ the basis of Slater determinants.
<td class="org-left"><code>coefficient</code></td>
<td class="org-left"><code>float buffered</code></td>
<td class="org-left"><code>(csf.num)</code></td>
<td class="org-left">Coefficients of the CSFs from the CI expansion</td>
<td class="org-left">Coefficients \(C_I\) of the CSF expansion</td>
</tr>
<tr>
@ -1820,23 +1860,25 @@ the basis of Slater determinants.
</div>
</div>
<div id="outline-container-orgfb3a4c1" class="outline-2">
<h2 id="orgfb3a4c1"><span class="section-number-2">10</span> Excited states (state group)</h2>
<div id="outline-container-org811f1f7" class="outline-2">
<h2 id="org811f1f7"><span class="section-number-2">10</span> Excited states (state group)</h2>
<div class="outline-text-2" id="text-10">
<p>
This group contains information about excited state. Since TREXIO version 2.3.0
the state-specific data (e.g. CI/CSF coeffcients, RDMs) is written in a separate
file in order to avoid over-complicated internal logics and global state switches.
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
information of the other states.
</p>
<p>
The <code>file_name</code> and <code>label</code> arrays have to be written only for the master file,
e.g. the one containing the ground state wave function.
The <code>id</code> and <code>current_label</code> attributes have to be specified for each file
(containing both ground and excited state data).
The <code>file_name</code> and <code>label</code> arrays have to be written only for the
main file, e.g. the one containing the ground state wave function
together with the basis set parameters, molecular orbitals,
integrals, etc.
The <code>id</code> and <code>current_label</code> attributes need to be specified for each file.
</p>
<table id="orgdc0d596" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgfadb0d1" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1868,36 +1910,36 @@ The <code>id</code> and <code>current_label</code> attributes have to be specifi
<td class="org-left"><code>id</code></td>
<td class="org-left"><code>int</code></td>
<td class="org-left">&#xa0;</td>
<td class="org-left">Index of a current state (0 is ground state)</td>
</tr>
<tr>
<td class="org-left"><code>label</code></td>
<td class="org-left"><code>str</code></td>
<td class="org-left"><code>(state.num)</code></td>
<td class="org-left">Labels of all states related to this file (e.g. 'S' for singlets)</td>
<td class="org-left">Index of the current state (0 is ground state)</td>
</tr>
<tr>
<td class="org-left"><code>current_label</code></td>
<td class="org-left"><code>str</code></td>
<td class="org-left">&#xa0;</td>
<td class="org-left">Labels of the current state that is in a file</td>
<td class="org-left">Label of the current state</td>
</tr>
<tr>
<td class="org-left"><code>label</code></td>
<td class="org-left"><code>str</code></td>
<td class="org-left"><code>(state.num)</code></td>
<td class="org-left">Labels of all states</td>
</tr>
<tr>
<td class="org-left"><code>file_name</code></td>
<td class="org-left"><code>str</code></td>
<td class="org-left"><code>(state.num)</code></td>
<td class="org-left">Names of the TREXIO files linked to the current one (i.e. containing data for excited states)</td>
<td class="org-left">Names of the TREXIO files linked to the current one (i.e. containing data for other states)</td>
</tr>
</tbody>
</table>
</div>
</div>
<div id="outline-container-orgd24b81a" class="outline-2">
<h2 id="orgd24b81a"><span class="section-number-2">11</span> Reduced density matrices (rdm group)</h2>
<div id="outline-container-org57aa690" class="outline-2">
<h2 id="org57aa690"><span class="section-number-2">11</span> Reduced density matrices (rdm group)</h2>
<div class="outline-text-2" id="text-11">
<p>
The reduced density matrices are defined in the basis of molecular
@ -1972,7 +2014,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="org9595729" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgd9cdeef" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -2123,10 +2165,15 @@ expressed in a basis of a one-electron function
</div>
</div>
<div id="outline-container-org71d238c" class="outline-2">
<h2 id="org71d238c"><span class="section-number-2">12</span> Cell (cell group)</h2>
<div id="outline-container-org3decdf9" class="outline-2">
<h2 id="org3decdf9"><span class="section-number-2">12</span> Cell (cell group)</h2>
<div class="outline-text-2" id="text-12">
<table id="org5fa9fac" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<p>
3 Lattice vectors to define a box containing the system, for example
used in periodic calculations.
</p>
<table id="orge2a5c3b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -2151,31 +2198,36 @@ expressed in a basis of a one-electron function
<td class="org-left"><code>a</code></td>
<td class="org-left"><code>float</code></td>
<td class="org-left"><code>(3)</code></td>
<td class="org-left">First unit cell vector</td>
<td class="org-left">First lattice vector</td>
</tr>
<tr>
<td class="org-left"><code>b</code></td>
<td class="org-left"><code>float</code></td>
<td class="org-left"><code>(3)</code></td>
<td class="org-left">Second unit cell vector</td>
<td class="org-left">Second lattice vector</td>
</tr>
<tr>
<td class="org-left"><code>c</code></td>
<td class="org-left"><code>float</code></td>
<td class="org-left"><code>(3)</code></td>
<td class="org-left">Third unit cell vector</td>
<td class="org-left">Third lattice vector</td>
</tr>
</tbody>
</table>
</div>
</div>
<div id="outline-container-org437a801" class="outline-2">
<h2 id="org437a801"><span class="section-number-2">13</span> Periodic boundary calculations (pbc group)</h2>
<div id="outline-container-org18be7f2" class="outline-2">
<h2 id="org18be7f2"><span class="section-number-2">13</span> Periodic boundary calculations (pbc group)</h2>
<div class="outline-text-2" id="text-13">
<table id="org4d256a5" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<p>
A single $k$-point per TREXIO file can be stored. The $k$-point is
defined in this group.
</p>
<table id="orgf042f8e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -2197,7 +2249,7 @@ expressed in a basis of a one-electron function
</thead>
<tbody>
<tr>
<td class="org-left"><code>periodic</code></td>
<td class="org-left"><code>is_periodic</code></td>
<td class="org-left"><code>int</code></td>
<td class="org-left">&#xa0;</td>
<td class="org-left"><code>1</code>: true or <code>0</code>: false</td>
@ -2207,15 +2259,15 @@ expressed in a basis of a one-electron function
<td class="org-left"><code>k_point</code></td>
<td class="org-left"><code>float</code></td>
<td class="org-left"><code>(3)</code></td>
<td class="org-left">k-point sampling</td>
<td class="org-left">$k$-point sampling</td>
</tr>
</tbody>
</table>
</div>
</div>
<div id="outline-container-orgcd97803" class="outline-2">
<h2 id="orgcd97803"><span class="section-number-2">14</span> Quantum Monte Carlo data (qmc group)</h2>
<div id="outline-container-orge2847c4" class="outline-2">
<h2 id="orge2847c4"><span class="section-number-2">14</span> Quantum Monte Carlo data (qmc group)</h2>
<div class="outline-text-2" id="text-14">
<p>
In quantum Monte Carlo calculations, the wave function is evaluated
@ -2229,7 +2281,7 @@ By convention, the electron coordinates contain first all the electrons
of $&uarr;$-spin and then all the $&darr;$-spin.
</p>
<table id="orgf8b8864" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org49c4d6b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -2284,7 +2336,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-13 Tue 16:10</p>
<p class="date">Created: 2022-12-26 Mon 12:37</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>