mirror of
https://github.com/TREX-CoE/qmckl.git
synced 2024-10-02 06:21:07 +02:00
Deploying to gh-pages from @ TREX-CoE/qmckl@bab87884cd 🚀
This commit is contained in:
parent
d863e6dd45
commit
fd905bcc3b
@ -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-03-21 Mon 17:34 -->
|
||||
<!-- 2022-03-28 Mon 15:59 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>QMCkl source code documentation</title>
|
||||
@ -361,7 +361,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-03-21 Mon 17:34</p>
|
||||
<p class="date">Created: 2022-03-28 Mon 15:59</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -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-03-21 Mon 17:34 -->
|
||||
<!-- 2022-03-28 Mon 15:59 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Code examples</title>
|
||||
@ -311,14 +311,14 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#orgc388847">1. Checking errors</a></li>
|
||||
<li><a href="#org17e7f36">2. Computing an atomic orbital on a grid</a></li>
|
||||
<li><a href="#orgda72cee">1. Checking errors</a></li>
|
||||
<li><a href="#orgacf8423">2. Computing an atomic orbital on a grid</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc388847" class="outline-2">
|
||||
<h2 id="orgc388847"><span class="section-number-2">1</span> Checking errors</h2>
|
||||
<div id="outline-container-orgda72cee" class="outline-2">
|
||||
<h2 id="orgda72cee"><span class="section-number-2">1</span> Checking errors</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
All QMCkl functions return an error code. A convenient way to handle
|
||||
@ -327,7 +327,7 @@ error in text format and exits the program.
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90" id="org9b05961"><span style="color: #a020f0;">subroutine</span> <span style="color: #0000ff;">qmckl_check_error</span>(rc, message)
|
||||
<pre class="src src-f90" id="orgad41e27"><span style="color: #a020f0;">subroutine</span> <span style="color: #0000ff;">qmckl_check_error</span>(rc, message)
|
||||
<span style="color: #a020f0;">use</span> <span style="color: #0000ff;">qmckl</span>
|
||||
<span style="color: #a020f0;">implicit</span> <span style="color: #228b22;">none</span>
|
||||
<span style="color: #228b22;">integer</span>(qmckl_exit_code), <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> rc</span>
|
||||
@ -345,8 +345,8 @@ error in text format and exits the program.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org17e7f36" class="outline-2">
|
||||
<h2 id="org17e7f36"><span class="section-number-2">2</span> Computing an atomic orbital on a grid</h2>
|
||||
<div id="outline-container-orgacf8423" class="outline-2">
|
||||
<h2 id="orgacf8423"><span class="section-number-2">2</span> Computing an atomic orbital on a grid</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
<p>
|
||||
The following program, in Fortran, computes the values of an atomic
|
||||
@ -564,7 +564,7 @@ We finally print the value of the AO:
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-03-21 Mon 17:34</p>
|
||||
<p class="date">Created: 2022-03-28 Mon 15:59</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
118
qmckl.html
118
qmckl.html
@ -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-03-21 Mon 17:34 -->
|
||||
<!-- 2022-03-28 Mon 15:59 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Introduction</title>
|
||||
@ -333,36 +333,36 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org0adacd4">1. Installing QMCkl</a>
|
||||
<li><a href="#orgdc086f7">1. Installing QMCkl</a>
|
||||
<ul>
|
||||
<li><a href="#orgb239670">1.1. Installing from the released tarball (for end users)</a></li>
|
||||
<li><a href="#org48e9e58">1.2. Installing from the source repository (for developers)</a></li>
|
||||
<li><a href="#org3d24e90">1.1. Installing from the released tarball (for end users)</a></li>
|
||||
<li><a href="#orgcc462a1">1.2. Installing from the source repository (for developers)</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orged2aef5">2. Using QMCkl</a></li>
|
||||
<li><a href="#org84a5dce">3. Developing in QMCkl</a>
|
||||
<li><a href="#org162abda">2. Using QMCkl</a></li>
|
||||
<li><a href="#org0a0acb1">3. Developing in QMCkl</a>
|
||||
<ul>
|
||||
<li><a href="#org828a238">3.1. Literate programming</a></li>
|
||||
<li><a href="#org8a776ca">3.2. Source code editing</a></li>
|
||||
<li><a href="#org804ad24">3.3. Choice of the programming language</a></li>
|
||||
<li><a href="#org80787ef">3.4. Coding rules</a></li>
|
||||
<li><a href="#org0a782f0">3.5. Design of the library</a></li>
|
||||
<li><a href="#org29b4c17">3.6. Naming conventions</a></li>
|
||||
<li><a href="#org371e291">3.7. Application programming interface</a></li>
|
||||
<li><a href="#org1ff3f1e">3.8. Global state</a></li>
|
||||
<li><a href="#orgdaad4c8">3.9. Headers</a></li>
|
||||
<li><a href="#orgbcc29c0">3.10. Low-level functions</a></li>
|
||||
<li><a href="#org9877b79">3.11. High-level functions</a></li>
|
||||
<li><a href="#orgb29bcae">3.12. Numerical precision</a></li>
|
||||
<li><a href="#org0371e2f">3.13. Algorithms</a></li>
|
||||
<li><a href="#orgdfe7e52">3.1. Literate programming</a></li>
|
||||
<li><a href="#orgbf95a83">3.2. Source code editing</a></li>
|
||||
<li><a href="#org49e0268">3.3. Choice of the programming language</a></li>
|
||||
<li><a href="#org57319bb">3.4. Coding rules</a></li>
|
||||
<li><a href="#org9aab78d">3.5. Design of the library</a></li>
|
||||
<li><a href="#org28ec587">3.6. Naming conventions</a></li>
|
||||
<li><a href="#orgf36f3d6">3.7. Application programming interface</a></li>
|
||||
<li><a href="#orgee68e24">3.8. Global state</a></li>
|
||||
<li><a href="#orgb862563">3.9. Headers</a></li>
|
||||
<li><a href="#orgfa37f31">3.10. Low-level functions</a></li>
|
||||
<li><a href="#org897192c">3.11. High-level functions</a></li>
|
||||
<li><a href="#org74b69d6">3.12. Numerical precision</a></li>
|
||||
<li><a href="#org75193f4">3.13. Algorithms</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0adacd4" class="outline-2">
|
||||
<h2 id="org0adacd4"><span class="section-number-2">1</span> Installing QMCkl</h2>
|
||||
<div id="outline-container-orgdc086f7" class="outline-2">
|
||||
<h2 id="orgdc086f7"><span class="section-number-2">1</span> Installing QMCkl</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
The latest version fo QMCkl can be downloaded
|
||||
@ -371,8 +371,8 @@ The latest version fo QMCkl can be downloaded
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb239670" class="outline-3">
|
||||
<h3 id="orgb239670"><span class="section-number-3">1.1</span> Installing from the released tarball (for end users)</h3>
|
||||
<div id="outline-container-org3d24e90" class="outline-3">
|
||||
<h3 id="org3d24e90"><span class="section-number-3">1.1</span> Installing from the released tarball (for end users)</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<p>
|
||||
QMCkl is built with GNU Autotools, so the usual
|
||||
@ -387,8 +387,8 @@ options are defined using <code>CFLAGS</code> and <code>FCFLAGS</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org48e9e58" class="outline-3">
|
||||
<h3 id="org48e9e58"><span class="section-number-3">1.2</span> Installing from the source repository (for developers)</h3>
|
||||
<div id="outline-container-orgcc462a1" class="outline-3">
|
||||
<h3 id="orgcc462a1"><span class="section-number-3">1.2</span> Installing from the source repository (for developers)</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<p>
|
||||
To compile from the source repository, additional dependencies are
|
||||
@ -409,8 +409,8 @@ to be executed first.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orged2aef5" class="outline-2">
|
||||
<h2 id="orged2aef5"><span class="section-number-2">2</span> Using QMCkl</h2>
|
||||
<div id="outline-container-org162abda" class="outline-2">
|
||||
<h2 id="org162abda"><span class="section-number-2">2</span> Using QMCkl</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
<p>
|
||||
The <code>qmckl.h</code> header file installed in the <code>${prefix}/include</code> directory
|
||||
@ -439,12 +439,12 @@ Both files are located in the <code>include/</code> directory.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org84a5dce" class="outline-2">
|
||||
<h2 id="org84a5dce"><span class="section-number-2">3</span> Developing in QMCkl</h2>
|
||||
<div id="outline-container-org0a0acb1" class="outline-2">
|
||||
<h2 id="org0a0acb1"><span class="section-number-2">3</span> Developing in QMCkl</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
</div>
|
||||
<div id="outline-container-org828a238" class="outline-3">
|
||||
<h3 id="org828a238"><span class="section-number-3">3.1</span> Literate programming</h3>
|
||||
<div id="outline-container-orgdfe7e52" class="outline-3">
|
||||
<h3 id="orgdfe7e52"><span class="section-number-3">3.1</span> Literate programming</h3>
|
||||
<div class="outline-text-3" id="text-3-1">
|
||||
<p>
|
||||
In a traditional source code, most of the lines of source files of a program
|
||||
@ -494,8 +494,8 @@ tarball contains the generated source code.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8a776ca" class="outline-3">
|
||||
<h3 id="org8a776ca"><span class="section-number-3">3.2</span> Source code editing</h3>
|
||||
<div id="outline-container-orgbf95a83" class="outline-3">
|
||||
<h3 id="orgbf95a83"><span class="section-number-3">3.2</span> Source code editing</h3>
|
||||
<div class="outline-text-3" id="text-3-2">
|
||||
<p>
|
||||
For a tutorial on literate programming with org-mode, follow <a href="http://www.howardism.org/Technical/Emacs/literate-programming-tutorial.html">this link</a>.
|
||||
@ -526,8 +526,8 @@ org-mode.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org804ad24" class="outline-3">
|
||||
<h3 id="org804ad24"><span class="section-number-3">3.3</span> Choice of the programming language</h3>
|
||||
<div id="outline-container-org49e0268" class="outline-3">
|
||||
<h3 id="org49e0268"><span class="section-number-3">3.3</span> Choice of the programming language</h3>
|
||||
<div class="outline-text-3" id="text-3-3">
|
||||
<p>
|
||||
Most of the codes of the <a href="https://trex-coe.eu">TREX CoE</a> are written in Fortran with some
|
||||
@ -591,8 +591,8 @@ For more guidelines on using Fortran to generate a C interface, see
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org80787ef" class="outline-3">
|
||||
<h3 id="org80787ef"><span class="section-number-3">3.4</span> Coding rules</h3>
|
||||
<div id="outline-container-org57319bb" class="outline-3">
|
||||
<h3 id="org57319bb"><span class="section-number-3">3.4</span> Coding rules</h3>
|
||||
<div class="outline-text-3" id="text-3-4">
|
||||
<p>
|
||||
The authors should follow the recommendations of the C99
|
||||
@ -612,8 +612,8 @@ make cppcheck ; cat cppcheck.out
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0a782f0" class="outline-3">
|
||||
<h3 id="org0a782f0"><span class="section-number-3">3.5</span> Design of the library</h3>
|
||||
<div id="outline-container-org9aab78d" class="outline-3">
|
||||
<h3 id="org9aab78d"><span class="section-number-3">3.5</span> Design of the library</h3>
|
||||
<div class="outline-text-3" id="text-3-5">
|
||||
<p>
|
||||
The proposed API should allow the library to: deal with memory transfers
|
||||
@ -624,8 +624,8 @@ functions (see below).
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org29b4c17" class="outline-3">
|
||||
<h3 id="org29b4c17"><span class="section-number-3">3.6</span> Naming conventions</h3>
|
||||
<div id="outline-container-org28ec587" class="outline-3">
|
||||
<h3 id="org28ec587"><span class="section-number-3">3.6</span> Naming conventions</h3>
|
||||
<div class="outline-text-3" id="text-3-6">
|
||||
<p>
|
||||
To avoid namespace collisions, we use <code>qmckl_</code> as a prefix for all exported
|
||||
@ -646,8 +646,8 @@ form is allowed.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org371e291" class="outline-3">
|
||||
<h3 id="org371e291"><span class="section-number-3">3.7</span> Application programming interface</h3>
|
||||
<div id="outline-container-orgf36f3d6" class="outline-3">
|
||||
<h3 id="orgf36f3d6"><span class="section-number-3">3.7</span> Application programming interface</h3>
|
||||
<div class="outline-text-3" id="text-3-7">
|
||||
<p>
|
||||
In the C language, the number of bits used by the integer types can change
|
||||
@ -679,15 +679,15 @@ bindings in other languages in other repositories.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1ff3f1e" class="outline-3">
|
||||
<h3 id="org1ff3f1e"><span class="section-number-3">3.8</span> Global state</h3>
|
||||
<div id="outline-container-orgee68e24" class="outline-3">
|
||||
<h3 id="orgee68e24"><span class="section-number-3">3.8</span> Global state</h3>
|
||||
<div class="outline-text-3" id="text-3-8">
|
||||
<p>
|
||||
Global variables should be avoided in the library, because it is
|
||||
possible that one single program needs to use multiple instances
|
||||
of the library. To solve this problem we propose to use a pointer
|
||||
to a <a href="./qmckl_context.html"><code>context</code></a> variable, built by the library with the
|
||||
<code>qmckl_context_create</code> function. The <a id="org31fff27">=context=</a> contains the global
|
||||
<code>qmckl_context_create</code> function. The <a id="org30e66d8">=context=</a> contains the global
|
||||
state of the library, and is used as the first argument of many
|
||||
QMCkl functions.
|
||||
</p>
|
||||
@ -701,8 +701,8 @@ the state is done by setters and getters, prefixed by
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgdaad4c8" class="outline-3">
|
||||
<h3 id="orgdaad4c8"><span class="section-number-3">3.9</span> Headers</h3>
|
||||
<div id="outline-container-orgb862563" class="outline-3">
|
||||
<h3 id="orgb862563"><span class="section-number-3">3.9</span> Headers</h3>
|
||||
<div class="outline-text-3" id="text-3-9">
|
||||
<p>
|
||||
A single <code>qmckl.h</code> header to be distributed by the library
|
||||
@ -790,8 +790,8 @@ and the types definitions should be written in the <code>*fh_type.f90</code> fil
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbcc29c0" class="outline-3">
|
||||
<h3 id="orgbcc29c0"><span class="section-number-3">3.10</span> Low-level functions</h3>
|
||||
<div id="outline-container-orgfa37f31" class="outline-3">
|
||||
<h3 id="orgfa37f31"><span class="section-number-3">3.10</span> Low-level functions</h3>
|
||||
<div class="outline-text-3" id="text-3-10">
|
||||
<p>
|
||||
Low-level functions are very simple functions which are leaves of
|
||||
@ -800,14 +800,14 @@ the function call tree (they don't call any other QMCkl function).
|
||||
|
||||
<p>
|
||||
These functions are <i>pure</i>, and unaware of the QMCkl
|
||||
<a href="#org31fff27"><code>context</code></a>. They are not allowed to allocate/deallocate memory, and
|
||||
<a href="#org30e66d8"><code>context</code></a>. They are not allowed to allocate/deallocate memory, and
|
||||
if they need temporary memory it should be provided in input.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9877b79" class="outline-3">
|
||||
<h3 id="org9877b79"><span class="section-number-3">3.11</span> High-level functions</h3>
|
||||
<div id="outline-container-org897192c" class="outline-3">
|
||||
<h3 id="org897192c"><span class="section-number-3">3.11</span> High-level functions</h3>
|
||||
<div class="outline-text-3" id="text-3-11">
|
||||
<p>
|
||||
High-level functions are at the top of the function call tree.
|
||||
@ -819,8 +819,8 @@ temporary storage, to simplify the use of accelerators.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb29bcae" class="outline-3">
|
||||
<h3 id="orgb29bcae"><span class="section-number-3">3.12</span> Numerical precision</h3>
|
||||
<div id="outline-container-org74b69d6" class="outline-3">
|
||||
<h3 id="org74b69d6"><span class="section-number-3">3.12</span> Numerical precision</h3>
|
||||
<div class="outline-text-3" id="text-3-12">
|
||||
<p>
|
||||
The minimal number of bits of precision required for a function
|
||||
@ -828,7 +828,7 @@ should be given as an input of low-level computational
|
||||
functions. This input will be used to define the values of the
|
||||
different thresholds that might be used to avoid computing
|
||||
unnecessary noise. High-level functions will use the precision
|
||||
specified in the <a href="#org31fff27"><code>context</code></a> variable.
|
||||
specified in the <a href="#org30e66d8"><code>context</code></a> variable.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
@ -896,8 +896,8 @@ following points :
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0371e2f" class="outline-3">
|
||||
<h3 id="org0371e2f"><span class="section-number-3">3.13</span> Algorithms</h3>
|
||||
<div id="outline-container-org75193f4" class="outline-3">
|
||||
<h3 id="org75193f4"><span class="section-number-3">3.13</span> Algorithms</h3>
|
||||
<div class="outline-text-3" id="text-3-13">
|
||||
<p>
|
||||
Reducing the scaling of an algorithm usually implies also reducing
|
||||
@ -913,7 +913,7 @@ implemented adapted to different problem sizes.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-03-21 Mon 17:34</p>
|
||||
<p class="date">Created: 2022-03-28 Mon 15:59</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
176
qmckl_ao.html
176
qmckl_ao.html
@ -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-03-21 Mon 17:34 -->
|
||||
<!-- 2022-03-28 Mon 15:59 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Atomic Orbitals</title>
|
||||
@ -333,60 +333,60 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#orge0af02f">1. Introduction</a></li>
|
||||
<li><a href="#org38eec00">2. Context</a>
|
||||
<li><a href="#org8f583c1">1. Introduction</a></li>
|
||||
<li><a href="#org84cb176">2. Context</a>
|
||||
<ul>
|
||||
<li><a href="#orgafb261d">2.1. Constant data</a>
|
||||
<li><a href="#orgd6bcdb5">2.1. Constant data</a>
|
||||
<ul>
|
||||
<li><a href="#orgfbd878e">2.1.1. Initialization functions</a>
|
||||
<li><a href="#org6f6e920">2.1.1. Initialization functions</a>
|
||||
<ul>
|
||||
<li><a href="#org28378c8">2.1.1.1. C interface</a></li>
|
||||
<li><a href="#orge6a3122">2.1.1.2. Fortran interface</a></li>
|
||||
<li><a href="#org67eca7d">2.1.1.1. C interface</a></li>
|
||||
<li><a href="#orgb724326">2.1.1.2. Fortran interface</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org44d9d1e">2.1.2. Access functions</a>
|
||||
<li><a href="#org0149bf8">2.1.2. Access functions</a>
|
||||
<ul>
|
||||
<li><a href="#orge65ab46">2.1.2.1. C interface</a></li>
|
||||
<li><a href="#org7523a28">2.1.2.2. Fortran interface</a></li>
|
||||
<li><a href="#org382532b">2.1.2.1. C interface</a></li>
|
||||
<li><a href="#org27f1aef">2.1.2.2. Fortran interface</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org03c6031">2.2. Computed data</a>
|
||||
<li><a href="#orgd994fb6">2.2. Computed data</a>
|
||||
<ul>
|
||||
<li><a href="#org149e33d">2.2.1. After initialization</a></li>
|
||||
<li><a href="#orge2747ff">2.2.2. <span class="todo TODO">TODO</span> HPC-specific data structures</a></li>
|
||||
<li><a href="#org5bb1b20">2.2.3. Access functions</a></li>
|
||||
<li><a href="#org2b76433">2.2.1. After initialization</a></li>
|
||||
<li><a href="#org57f92e7">2.2.2. <span class="todo TODO">TODO</span> HPC-specific data structures</a></li>
|
||||
<li><a href="#org7bdcf13">2.2.3. Access functions</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgaded954">3. Radial part</a>
|
||||
<li><a href="#orgedf94d8">3. Radial part</a>
|
||||
<ul>
|
||||
<li><a href="#orgfb01e6e">3.1. General functions for Gaussian basis functions</a></li>
|
||||
<li><a href="#orgbe731cf">3.2. Computation of primitives</a></li>
|
||||
<li><a href="#orgced065d">3.3. Computation of shells</a></li>
|
||||
<li><a href="#org82f5382">3.1. General functions for Gaussian basis functions</a></li>
|
||||
<li><a href="#org49910a0">3.2. Computation of primitives</a></li>
|
||||
<li><a href="#org9a1dce6">3.3. Computation of shells</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org2b0397e">4. Polynomial part</a>
|
||||
<li><a href="#orgc8ff6cc">4. Polynomial part</a>
|
||||
<ul>
|
||||
<li><a href="#org584bada">4.1. General functions for Powers of \(x-X_i\)</a></li>
|
||||
<li><a href="#org25fa513">4.2. General functions for Value, Gradient and Laplacian of a polynomial</a></li>
|
||||
<li><a href="#orgf305a59">4.1. General functions for Powers of \(x-X_i\)</a></li>
|
||||
<li><a href="#orga5cb19e">4.2. General functions for Value, Gradient and Laplacian of a polynomial</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgb1eec97">5. Combining radial and polynomial parts</a>
|
||||
<li><a href="#org238c4d3">5. Combining radial and polynomial parts</a>
|
||||
<ul>
|
||||
<li><a href="#orgfa08491">5.1. Unoptimized version</a></li>
|
||||
<li><a href="#org6d4fff5">5.2. HPC version</a></li>
|
||||
<li><a href="#org26df615">5.3. Interfaces</a></li>
|
||||
<li><a href="#org6f6674d">5.1. Unoptimized version</a></li>
|
||||
<li><a href="#org5ba375c">5.2. HPC version</a></li>
|
||||
<li><a href="#org3c7b05e">5.3. Interfaces</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge0af02f" class="outline-2">
|
||||
<h2 id="orge0af02f"><span class="section-number-2">1</span> Introduction</h2>
|
||||
<div id="outline-container-org8f583c1" class="outline-2">
|
||||
<h2 id="org8f583c1"><span class="section-number-2">1</span> Introduction</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
The atomic basis set is defined as a list of shells. Each shell \(s\) is
|
||||
@ -439,19 +439,19 @@ gradients and Laplacian of the atomic basis functions.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org38eec00" class="outline-2">
|
||||
<h2 id="org38eec00"><span class="section-number-2">2</span> Context</h2>
|
||||
<div id="outline-container-org84cb176" class="outline-2">
|
||||
<h2 id="org84cb176"><span class="section-number-2">2</span> Context</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-orgafb261d" class="outline-3">
|
||||
<h3 id="orgafb261d"><span class="section-number-3">2.1</span> Constant data</h3>
|
||||
<div id="outline-container-orgd6bcdb5" class="outline-3">
|
||||
<h3 id="orgd6bcdb5"><span class="section-number-3">2.1</span> Constant data</h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
<p>
|
||||
The following arrays are stored in the context, and need to be set
|
||||
when initializing the library:
|
||||
</p>
|
||||
|
||||
<table id="org8ac7b3e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org678fdc0" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -625,7 +625,7 @@ calling the functions:
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-C" id="org78db11a"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_set_ao_basis_$V$</span> ( <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<pre class="src src-C" id="org153aefd"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_set_ao_basis_$V$</span> ( <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #a020f0;">const</span> $type_of_V$ $V$);
|
||||
|
||||
<span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_ao_basis_$V$</span> ( <span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
@ -662,7 +662,7 @@ For array variables, use the rule:
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-C" id="org3557474"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_set_ao_basis_$V$</span> ( <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<pre class="src src-C" id="org340ed13"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_set_ao_basis_$V$</span> ( <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #a020f0;">const</span> $type_of_V$ $V$,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">size_max</span>);
|
||||
|
||||
@ -700,17 +700,17 @@ For array variables, use the rule:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgfbd878e" class="outline-4">
|
||||
<h4 id="orgfbd878e"><span class="section-number-4">2.1.1</span> Initialization functions</h4>
|
||||
<div id="outline-container-org6f6e920" class="outline-4">
|
||||
<h4 id="org6f6e920"><span class="section-number-4">2.1.1</span> Initialization functions</h4>
|
||||
<div class="outline-text-4" id="text-2-1-1">
|
||||
<p>
|
||||
<code>size_max</code> is the dimension of the input array, which should be
|
||||
equal of larger than the value given in the table of section <a href="#org38eec00">2</a>.
|
||||
equal of larger than the value given in the table of section <a href="#org84cb176">2</a>.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org28378c8" class="outline-5">
|
||||
<h5 id="org28378c8"><span class="section-number-5">2.1.1.1</span> C interface</h5>
|
||||
<div id="outline-container-org67eca7d" class="outline-5">
|
||||
<h5 id="org67eca7d"><span class="section-number-5">2.1.1.1</span> C interface</h5>
|
||||
<div class="outline-text-5" id="text-2-1-1-1">
|
||||
<p>
|
||||
To set the basis set, all the following functions need to be
|
||||
@ -834,8 +834,8 @@ called.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge6a3122" class="outline-5">
|
||||
<h5 id="orge6a3122"><span class="section-number-5">2.1.1.2</span> Fortran interface</h5>
|
||||
<div id="outline-container-orgb724326" class="outline-5">
|
||||
<h5 id="orgb724326"><span class="section-number-5">2.1.1.2</span> Fortran interface</h5>
|
||||
<div class="outline-text-5" id="text-2-1-1-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #a020f0;">interface</span>
|
||||
@ -1018,17 +1018,17 @@ called.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org44d9d1e" class="outline-4">
|
||||
<h4 id="org44d9d1e"><span class="section-number-4">2.1.2</span> Access functions</h4>
|
||||
<div id="outline-container-org0149bf8" class="outline-4">
|
||||
<h4 id="org0149bf8"><span class="section-number-4">2.1.2</span> Access functions</h4>
|
||||
<div class="outline-text-4" id="text-2-1-2">
|
||||
<p>
|
||||
<code>size_max</code> is the dimension of the input array, which should be
|
||||
equal of larger than the value given in the table of section <a href="#org38eec00">2</a>.
|
||||
equal of larger than the value given in the table of section <a href="#org84cb176">2</a>.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge65ab46" class="outline-5">
|
||||
<h5 id="orge65ab46"><span class="section-number-5">2.1.2.1</span> C interface</h5>
|
||||
<div id="outline-container-org382532b" class="outline-5">
|
||||
<h5 id="org382532b"><span class="section-number-5">2.1.2.1</span> C interface</h5>
|
||||
<div class="outline-text-5" id="text-2-1-2-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
|
||||
@ -1150,8 +1150,8 @@ function returns <code>true</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7523a28" class="outline-5">
|
||||
<h5 id="org7523a28"><span class="section-number-5">2.1.2.2</span> Fortran interface</h5>
|
||||
<div id="outline-container-org27f1aef" class="outline-5">
|
||||
<h5 id="org27f1aef"><span class="section-number-5">2.1.2.2</span> Fortran interface</h5>
|
||||
<div class="outline-text-5" id="text-2-1-2-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #a020f0;">interface</span>
|
||||
@ -1335,8 +1335,8 @@ function returns <code>true</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org03c6031" class="outline-3">
|
||||
<h3 id="org03c6031"><span class="section-number-3">2.2</span> Computed data</h3>
|
||||
<div id="outline-container-orgd994fb6" class="outline-3">
|
||||
<h3 id="orgd994fb6"><span class="section-number-3">2.2</span> Computed data</h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
<p>
|
||||
The following data is computed as described in the next sections:
|
||||
@ -1399,8 +1399,8 @@ The following data is computed as described in the next sections:
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org149e33d" class="outline-4">
|
||||
<h4 id="org149e33d"><span class="section-number-4">2.2.1</span> After initialization</h4>
|
||||
<div id="outline-container-org2b76433" class="outline-4">
|
||||
<h4 id="org2b76433"><span class="section-number-4">2.2.1</span> After initialization</h4>
|
||||
<div class="outline-text-4" id="text-2-2-1">
|
||||
<p>
|
||||
When the basis set is completely entered, extra data structures may be
|
||||
@ -1414,8 +1414,8 @@ the context.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge2747ff" class="outline-4">
|
||||
<h4 id="orge2747ff"><span class="section-number-4">2.2.2</span> <span class="todo TODO">TODO</span> HPC-specific data structures</h4>
|
||||
<div id="outline-container-org57f92e7" class="outline-4">
|
||||
<h4 id="org57f92e7"><span class="section-number-4">2.2.2</span> <span class="todo TODO">TODO</span> HPC-specific data structures</h4>
|
||||
<div class="outline-text-4" id="text-2-2-2">
|
||||
<p>
|
||||
For faster access, we provide extra arrays for the shell information as:
|
||||
@ -1445,8 +1445,8 @@ which is a matrix-vector product.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5bb1b20" class="outline-4">
|
||||
<h4 id="org5bb1b20"><span class="section-number-4">2.2.3</span> Access functions</h4>
|
||||
<div id="outline-container-org7bdcf13" class="outline-4">
|
||||
<h4 id="org7bdcf13"><span class="section-number-4">2.2.3</span> Access functions</h4>
|
||||
<div class="outline-text-4" id="text-2-2-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
|
||||
@ -1459,7 +1459,7 @@ which is a matrix-vector product.
|
||||
<p>
|
||||
Returns the array of values, gradients an Laplacian of primitive
|
||||
basis functions evaluated at the current coordinates.
|
||||
See section <a href="#orgbe731cf">3.2</a>.
|
||||
See section <a href="#org49910a0">3.2</a>.
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
@ -1472,7 +1472,7 @@ See section <a href="#orgbe731cf">3.2</a>.
|
||||
|
||||
<p>
|
||||
Returns the array of values, gradients an Laplacian of contracted shells
|
||||
evaluated at the current coordinates. See section <a href="#orgced065d">3.3</a>.
|
||||
evaluated at the current coordinates. See section <a href="#org9a1dce6">3.3</a>.
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
@ -1486,7 +1486,7 @@ evaluated at the current coordinates. See section <a href="#orgced065d">3.3</a>.
|
||||
<p>
|
||||
Returns the array of values, gradients an Laplacian of the atomic orbitals
|
||||
evaluated at the current coordinates.
|
||||
See section <a href="#orgb1eec97">5</a>.
|
||||
See section <a href="#org238c4d3">5</a>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
@ -1505,12 +1505,12 @@ Uses the give array to compute the VGL.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgaded954" class="outline-2">
|
||||
<h2 id="orgaded954"><span class="section-number-2">3</span> Radial part</h2>
|
||||
<div id="outline-container-orgedf94d8" class="outline-2">
|
||||
<h2 id="orgedf94d8"><span class="section-number-2">3</span> Radial part</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
</div>
|
||||
<div id="outline-container-orgfb01e6e" class="outline-3">
|
||||
<h3 id="orgfb01e6e"><span class="section-number-3">3.1</span> General functions for Gaussian basis functions</h3>
|
||||
<div id="outline-container-org82f5382" class="outline-3">
|
||||
<h3 id="org82f5382"><span class="section-number-3">3.1</span> General functions for Gaussian basis functions</h3>
|
||||
<div class="outline-text-3" id="text-3-1">
|
||||
<p>
|
||||
<code>qmckl_ao_gaussian_vgl</code> computes the values, gradients and
|
||||
@ -1681,10 +1681,10 @@ Requirements:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbe731cf" class="outline-3">
|
||||
<h3 id="orgbe731cf"><span class="section-number-3">3.2</span> Computation of primitives</h3>
|
||||
<div id="outline-container-org49910a0" class="outline-3">
|
||||
<h3 id="org49910a0"><span class="section-number-3">3.2</span> Computation of primitives</h3>
|
||||
<div class="outline-text-3" id="text-3-2">
|
||||
<table id="org4fe35a0" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org1201cc0" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1843,10 +1843,10 @@ Requirements:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgced065d" class="outline-3">
|
||||
<h3 id="orgced065d"><span class="section-number-3">3.3</span> Computation of shells</h3>
|
||||
<div id="outline-container-org9a1dce6" class="outline-3">
|
||||
<h3 id="org9a1dce6"><span class="section-number-3">3.3</span> Computation of shells</h3>
|
||||
<div class="outline-text-3" id="text-3-3">
|
||||
<table id="orgc8edce4" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org052e98e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2098,8 +2098,8 @@ Requirements:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2b0397e" class="outline-2">
|
||||
<h2 id="org2b0397e"><span class="section-number-2">4</span> Polynomial part</h2>
|
||||
<div id="outline-container-orgc8ff6cc" class="outline-2">
|
||||
<h2 id="orgc8ff6cc"><span class="section-number-2">4</span> Polynomial part</h2>
|
||||
<div class="outline-text-2" id="text-4">
|
||||
<p>
|
||||
Going from the atomic basis set to AOs implies a systematic
|
||||
@ -2119,8 +2119,8 @@ f & : & f_{xxx}, f_{xxy}, f_{xxz}, f_{xyy}, f_{xyz}, f_{xzz}, f_{yyy}, f_{yyz},
|
||||
\end{eqnarray}
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org584bada" class="outline-3">
|
||||
<h3 id="org584bada"><span class="section-number-3">4.1</span> General functions for Powers of \(x-X_i\)</h3>
|
||||
<div id="outline-container-orgf305a59" class="outline-3">
|
||||
<h3 id="orgf305a59"><span class="section-number-3">4.1</span> General functions for Powers of \(x-X_i\)</h3>
|
||||
<div class="outline-text-3" id="text-4-1">
|
||||
<p>
|
||||
The <code>qmckl_ao_power</code> function computes all the powers of the <code>n</code>
|
||||
@ -2132,7 +2132,7 @@ the \(n\) points:
|
||||
\[ P_{ik} = X_i^k \]
|
||||
</p>
|
||||
|
||||
<table id="org06d3fac" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org2bdad2b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2270,8 +2270,8 @@ Requirements:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org25fa513" class="outline-3">
|
||||
<h3 id="org25fa513"><span class="section-number-3">4.2</span> General functions for Value, Gradient and Laplacian of a polynomial</h3>
|
||||
<div id="outline-container-orga5cb19e" class="outline-3">
|
||||
<h3 id="orga5cb19e"><span class="section-number-3">4.2</span> General functions for Value, Gradient and Laplacian of a polynomial</h3>
|
||||
<div class="outline-text-3" id="text-4-2">
|
||||
<p>
|
||||
A polynomial is centered on a nucleus \(\mathbf{R}_i\)
|
||||
@ -2316,7 +2316,7 @@ Laplacians at a given point in space, of all polynomials with an
|
||||
angular momentum up to <code>lmax</code>.
|
||||
</p>
|
||||
|
||||
<table id="org39d3e5b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgee0e2b2" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3080,15 +3080,15 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb1eec97" class="outline-2">
|
||||
<h2 id="orgb1eec97"><span class="section-number-2">5</span> Combining radial and polynomial parts</h2>
|
||||
<div id="outline-container-org238c4d3" class="outline-2">
|
||||
<h2 id="org238c4d3"><span class="section-number-2">5</span> Combining radial and polynomial parts</h2>
|
||||
<div class="outline-text-2" id="text-5">
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgfa08491" class="outline-3">
|
||||
<h3 id="orgfa08491"><span class="section-number-3">5.1</span> Unoptimized version</h3>
|
||||
<div id="outline-container-org6f6674d" class="outline-3">
|
||||
<h3 id="org6f6674d"><span class="section-number-3">5.1</span> Unoptimized version</h3>
|
||||
<div class="outline-text-3" id="text-5-1">
|
||||
<table id="orgc8f63f0" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org2ecb347" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3353,10 +3353,10 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6d4fff5" class="outline-3">
|
||||
<h3 id="org6d4fff5"><span class="section-number-3">5.2</span> HPC version</h3>
|
||||
<div id="outline-container-org5ba375c" class="outline-3">
|
||||
<h3 id="org5ba375c"><span class="section-number-3">5.2</span> HPC version</h3>
|
||||
<div class="outline-text-3" id="text-5-2">
|
||||
<table id="org0c11db2" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org67e38ee" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3515,8 +3515,8 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org26df615" class="outline-3">
|
||||
<h3 id="org26df615"><span class="section-number-3">5.3</span> Interfaces</h3>
|
||||
<div id="outline-container-org3c7b05e" class="outline-3">
|
||||
<h3 id="org3c7b05e"><span class="section-number-3">5.3</span> Interfaces</h3>
|
||||
<div class="outline-text-3" id="text-5-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_compute_ao_vgl_doc</span> (
|
||||
@ -3566,7 +3566,7 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-03-21 Mon 17:34</p>
|
||||
<p class="date">Created: 2022-03-28 Mon 15:59</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
150
qmckl_blas.html
150
qmckl_blas.html
@ -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-03-21 Mon 17:34 -->
|
||||
<!-- 2022-03-28 Mon 15:59 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>BLAS functions</title>
|
||||
@ -333,48 +333,48 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org75addb4">-</a></li>
|
||||
<li><a href="#orgd92041e">1. Data types</a>
|
||||
<li><a href="#org184902f">-</a></li>
|
||||
<li><a href="#orgcb20c2b">1. Data types</a>
|
||||
<ul>
|
||||
<li><a href="#org9e61159">1.1. Vector</a></li>
|
||||
<li><a href="#orge4f2e80">1.2. Matrix</a></li>
|
||||
<li><a href="#org29a24e9">1.3. Tensor</a></li>
|
||||
<li><a href="#orgddbc74c">1.4. Reshaping</a>
|
||||
<li><a href="#orgcfb7cb3">1.1. Vector</a></li>
|
||||
<li><a href="#org4f4a564">1.2. Matrix</a></li>
|
||||
<li><a href="#org0935dc0">1.3. Tensor</a></li>
|
||||
<li><a href="#org5574aa5">1.4. Reshaping</a>
|
||||
<ul>
|
||||
<li><a href="#org22ebffc">1.4.1. Vector -> Matrix</a></li>
|
||||
<li><a href="#org532d6c8">1.4.2. Vector -> Tensor</a></li>
|
||||
<li><a href="#orgc4faece">1.4.3. Matrix -> Vector</a></li>
|
||||
<li><a href="#org17c7236">1.4.4. Matrix -> Tensor</a></li>
|
||||
<li><a href="#org5494c3c">1.4.5. Tensor -> Vector</a></li>
|
||||
<li><a href="#org7876736">1.4.6. Tensor -> Matrix</a></li>
|
||||
<li><a href="#org067ed5d">1.4.1. Vector -> Matrix</a></li>
|
||||
<li><a href="#orgf6a0dd2">1.4.2. Vector -> Tensor</a></li>
|
||||
<li><a href="#org6ffd6ad">1.4.3. Matrix -> Vector</a></li>
|
||||
<li><a href="#org5efee99">1.4.4. Matrix -> Tensor</a></li>
|
||||
<li><a href="#orgbdb397a">1.4.5. Tensor -> Vector</a></li>
|
||||
<li><a href="#org4ceb3d4">1.4.6. Tensor -> Matrix</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org93ec220">1.5. Access macros</a></li>
|
||||
<li><a href="#org9cd0fd4">1.6. Set all elements</a>
|
||||
<li><a href="#orgd2e91d4">1.5. Access macros</a></li>
|
||||
<li><a href="#org584d953">1.6. Set all elements</a>
|
||||
<ul>
|
||||
<li><a href="#org90e08bc">1.6.1. Vector</a></li>
|
||||
<li><a href="#orgb8f2f26">1.6.2. Matrix</a></li>
|
||||
<li><a href="#org6673958">1.6.3. Tensor</a></li>
|
||||
<li><a href="#org5b7fd2d">1.6.1. Vector</a></li>
|
||||
<li><a href="#org5f9cb62">1.6.2. Matrix</a></li>
|
||||
<li><a href="#orgb99bc9d">1.6.3. Tensor</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgca1e7c1">1.7. Copy to/from to <code>double*</code></a></li>
|
||||
<li><a href="#orgf7b6f90">1.7. Copy to/from to <code>double*</code></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org6fb358b">2. Matrix operations</a>
|
||||
<li><a href="#orgd30b52f">2. Matrix operations</a>
|
||||
<ul>
|
||||
<li><a href="#orga2dc4f4">2.1. <code>qmckl_dgemm</code></a></li>
|
||||
<li><a href="#org4b4df88">2.2. <code>qmckl_matmul</code></a></li>
|
||||
<li><a href="#org83e0fe1">2.3. <code>qmckl_adjugate</code></a></li>
|
||||
<li><a href="#org489419b">2.4. <code>qmckl_transpose</code></a></li>
|
||||
<li><a href="#org30bae32">2.1. <code>qmckl_dgemm</code></a></li>
|
||||
<li><a href="#orge934e05">2.2. <code>qmckl_matmul</code></a></li>
|
||||
<li><a href="#orgdc2868a">2.3. <code>qmckl_adjugate</code></a></li>
|
||||
<li><a href="#org40caa54">2.4. <code>qmckl_transpose</code></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org75addb4" class="outline-2">
|
||||
<h2 id="org75addb4">-</h2>
|
||||
<div class="outline-text-2" id="text-org75addb4">
|
||||
<div id="outline-container-org184902f" class="outline-2">
|
||||
<h2 id="org184902f">-</h2>
|
||||
<div class="outline-text-2" id="text-org184902f">
|
||||
<p>
|
||||
Basic linear algebra data types and operations are described in this file.
|
||||
The data types are private, so that HPC implementations can use
|
||||
@ -388,12 +388,12 @@ are not intended to be passed to external codes.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd92041e" class="outline-2">
|
||||
<h2 id="orgd92041e"><span class="section-number-2">1</span> Data types</h2>
|
||||
<div id="outline-container-orgcb20c2b" class="outline-2">
|
||||
<h2 id="orgcb20c2b"><span class="section-number-2">1</span> Data types</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
</div>
|
||||
<div id="outline-container-org9e61159" class="outline-3">
|
||||
<h3 id="org9e61159"><span class="section-number-3">1.1</span> Vector</h3>
|
||||
<div id="outline-container-orgcfb7cb3" class="outline-3">
|
||||
<h3 id="orgcfb7cb3"><span class="section-number-3">1.1</span> Vector</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
@ -447,8 +447,8 @@ Allocates a new vector. If the allocation failed the size is zero.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge4f2e80" class="outline-3">
|
||||
<h3 id="orge4f2e80"><span class="section-number-3">1.2</span> Matrix</h3>
|
||||
<div id="outline-container-org4f4a564" class="outline-3">
|
||||
<h3 id="org4f4a564"><span class="section-number-3">1.2</span> Matrix</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
@ -508,8 +508,8 @@ Allocates a new matrix. If the allocation failed the sizes are zero.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org29a24e9" class="outline-3">
|
||||
<h3 id="org29a24e9"><span class="section-number-3">1.3</span> Tensor</h3>
|
||||
<div id="outline-container-org0935dc0" class="outline-3">
|
||||
<h3 id="org0935dc0"><span class="section-number-3">1.3</span> Tensor</h3>
|
||||
<div class="outline-text-3" id="text-1-3">
|
||||
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
@ -576,16 +576,16 @@ is zero.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgddbc74c" class="outline-3">
|
||||
<h3 id="orgddbc74c"><span class="section-number-3">1.4</span> Reshaping</h3>
|
||||
<div id="outline-container-org5574aa5" class="outline-3">
|
||||
<h3 id="org5574aa5"><span class="section-number-3">1.4</span> Reshaping</h3>
|
||||
<div class="outline-text-3" id="text-1-4">
|
||||
<p>
|
||||
Reshaping occurs in-place and the pointer to the data is copied.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org22ebffc" class="outline-4">
|
||||
<h4 id="org22ebffc"><span class="section-number-4">1.4.1</span> Vector -> Matrix</h4>
|
||||
<div id="outline-container-org067ed5d" class="outline-4">
|
||||
<h4 id="org067ed5d"><span class="section-number-4">1.4.1</span> Vector -> Matrix</h4>
|
||||
<div class="outline-text-4" id="text-1-4-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_matrix</span>
|
||||
@ -601,8 +601,8 @@ Reshapes a vector into a matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org532d6c8" class="outline-4">
|
||||
<h4 id="org532d6c8"><span class="section-number-4">1.4.2</span> Vector -> Tensor</h4>
|
||||
<div id="outline-container-orgf6a0dd2" class="outline-4">
|
||||
<h4 id="orgf6a0dd2"><span class="section-number-4">1.4.2</span> Vector -> Tensor</h4>
|
||||
<div class="outline-text-4" id="text-1-4-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_tensor</span>
|
||||
@ -618,8 +618,8 @@ Reshapes a vector into a tensor.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc4faece" class="outline-4">
|
||||
<h4 id="orgc4faece"><span class="section-number-4">1.4.3</span> Matrix -> Vector</h4>
|
||||
<div id="outline-container-org6ffd6ad" class="outline-4">
|
||||
<h4 id="org6ffd6ad"><span class="section-number-4">1.4.3</span> Matrix -> Vector</h4>
|
||||
<div class="outline-text-4" id="text-1-4-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_vector</span>
|
||||
@ -633,8 +633,8 @@ Reshapes a matrix into a vector.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org17c7236" class="outline-4">
|
||||
<h4 id="org17c7236"><span class="section-number-4">1.4.4</span> Matrix -> Tensor</h4>
|
||||
<div id="outline-container-org5efee99" class="outline-4">
|
||||
<h4 id="org5efee99"><span class="section-number-4">1.4.4</span> Matrix -> Tensor</h4>
|
||||
<div class="outline-text-4" id="text-1-4-4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_tensor</span>
|
||||
@ -650,8 +650,8 @@ Reshapes a matrix into a tensor.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5494c3c" class="outline-4">
|
||||
<h4 id="org5494c3c"><span class="section-number-4">1.4.5</span> Tensor -> Vector</h4>
|
||||
<div id="outline-container-orgbdb397a" class="outline-4">
|
||||
<h4 id="orgbdb397a"><span class="section-number-4">1.4.5</span> Tensor -> Vector</h4>
|
||||
<div class="outline-text-4" id="text-1-4-5">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_vector</span>
|
||||
@ -665,8 +665,8 @@ Reshapes a tensor into a vector.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7876736" class="outline-4">
|
||||
<h4 id="org7876736"><span class="section-number-4">1.4.6</span> Tensor -> Matrix</h4>
|
||||
<div id="outline-container-org4ceb3d4" class="outline-4">
|
||||
<h4 id="org4ceb3d4"><span class="section-number-4">1.4.6</span> Tensor -> Matrix</h4>
|
||||
<div class="outline-text-4" id="text-1-4-6">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_matrix</span>
|
||||
@ -683,8 +683,8 @@ Reshapes a tensor into a vector.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org93ec220" class="outline-3">
|
||||
<h3 id="org93ec220"><span class="section-number-3">1.5</span> Access macros</h3>
|
||||
<div id="outline-container-orgd2e91d4" class="outline-3">
|
||||
<h3 id="orgd2e91d4"><span class="section-number-3">1.5</span> Access macros</h3>
|
||||
<div class="outline-text-3" id="text-1-5">
|
||||
<p>
|
||||
Macros are provided to ease the access to vectors, matrices and
|
||||
@ -708,12 +708,12 @@ For example:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9cd0fd4" class="outline-3">
|
||||
<h3 id="org9cd0fd4"><span class="section-number-3">1.6</span> Set all elements</h3>
|
||||
<div id="outline-container-org584d953" class="outline-3">
|
||||
<h3 id="org584d953"><span class="section-number-3">1.6</span> Set all elements</h3>
|
||||
<div class="outline-text-3" id="text-1-6">
|
||||
</div>
|
||||
<div id="outline-container-org90e08bc" class="outline-4">
|
||||
<h4 id="org90e08bc"><span class="section-number-4">1.6.1</span> Vector</h4>
|
||||
<div id="outline-container-org5b7fd2d" class="outline-4">
|
||||
<h4 id="org5b7fd2d"><span class="section-number-4">1.6.1</span> Vector</h4>
|
||||
<div class="outline-text-4" id="text-1-6-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_vector</span>
|
||||
@ -723,8 +723,8 @@ For example:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb8f2f26" class="outline-4">
|
||||
<h4 id="orgb8f2f26"><span class="section-number-4">1.6.2</span> Matrix</h4>
|
||||
<div id="outline-container-org5f9cb62" class="outline-4">
|
||||
<h4 id="org5f9cb62"><span class="section-number-4">1.6.2</span> Matrix</h4>
|
||||
<div class="outline-text-4" id="text-1-6-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_matrix</span>
|
||||
@ -734,8 +734,8 @@ For example:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6673958" class="outline-4">
|
||||
<h4 id="org6673958"><span class="section-number-4">1.6.3</span> Tensor</h4>
|
||||
<div id="outline-container-orgb99bc9d" class="outline-4">
|
||||
<h4 id="orgb99bc9d"><span class="section-number-4">1.6.3</span> Tensor</h4>
|
||||
<div class="outline-text-4" id="text-1-6-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_tensor</span>
|
||||
@ -746,8 +746,8 @@ For example:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgca1e7c1" class="outline-3">
|
||||
<h3 id="orgca1e7c1"><span class="section-number-3">1.7</span> Copy to/from to <code>double*</code></h3>
|
||||
<div id="outline-container-orgf7b6f90" class="outline-3">
|
||||
<h3 id="orgf7b6f90"><span class="section-number-3">1.7</span> Copy to/from to <code>double*</code></h3>
|
||||
<div class="outline-text-3" id="text-1-7">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
|
||||
@ -830,12 +830,12 @@ Converts a <code>double*</code> to a tensor.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6fb358b" class="outline-2">
|
||||
<h2 id="org6fb358b"><span class="section-number-2">2</span> Matrix operations</h2>
|
||||
<div id="outline-container-orgd30b52f" class="outline-2">
|
||||
<h2 id="orgd30b52f"><span class="section-number-2">2</span> Matrix operations</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-orga2dc4f4" class="outline-3">
|
||||
<h3 id="orga2dc4f4"><span class="section-number-3">2.1</span> <code>qmckl_dgemm</code></h3>
|
||||
<div id="outline-container-org30bae32" class="outline-3">
|
||||
<h3 id="org30bae32"><span class="section-number-3">2.1</span> <code>qmckl_dgemm</code></h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
<p>
|
||||
Matrix multiplication with a BLAS interface:
|
||||
@ -847,7 +847,7 @@ Matrix multiplication with a BLAS interface:
|
||||
\]
|
||||
</p>
|
||||
|
||||
<table id="org2723c13" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgc53afc6" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1006,8 +1006,8 @@ Requirements:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4b4df88" class="outline-3">
|
||||
<h3 id="org4b4df88"><span class="section-number-3">2.2</span> <code>qmckl_matmul</code></h3>
|
||||
<div id="outline-container-orge934e05" class="outline-3">
|
||||
<h3 id="orge934e05"><span class="section-number-3">2.2</span> <code>qmckl_matmul</code></h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
<p>
|
||||
Matrix multiplication using the <code>qmckl_matrix</code> data type:
|
||||
@ -1019,7 +1019,7 @@ Matrix multiplication using the <code>qmckl_matrix</code> data type:
|
||||
\]
|
||||
</p>
|
||||
|
||||
<table id="orgceac46f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgfa9ae25" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1113,8 +1113,8 @@ Matrix multiplication using the <code>qmckl_matrix</code> data type:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org83e0fe1" class="outline-3">
|
||||
<h3 id="org83e0fe1"><span class="section-number-3">2.3</span> <code>qmckl_adjugate</code></h3>
|
||||
<div id="outline-container-orgdc2868a" class="outline-3">
|
||||
<h3 id="orgdc2868a"><span class="section-number-3">2.3</span> <code>qmckl_adjugate</code></h3>
|
||||
<div class="outline-text-3" id="text-2-3">
|
||||
<p>
|
||||
Given a matrix \(\mathbf{A}\), the adjugate matrix
|
||||
@ -1132,7 +1132,7 @@ of \(\mathbf{A}\).
|
||||
See also: <a href="https://en.wikipedia.org/wiki/Adjugate_matrix">https://en.wikipedia.org/wiki/Adjugate_matrix</a>
|
||||
</p>
|
||||
|
||||
<table id="org65909a4" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org9614d69" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1328,8 +1328,8 @@ determinant with the inverse:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org489419b" class="outline-3">
|
||||
<h3 id="org489419b"><span class="section-number-3">2.4</span> <code>qmckl_transpose</code></h3>
|
||||
<div id="outline-container-org40caa54" class="outline-3">
|
||||
<h3 id="org40caa54"><span class="section-number-3">2.4</span> <code>qmckl_transpose</code></h3>
|
||||
<div class="outline-text-3" id="text-2-4">
|
||||
<p>
|
||||
Transposes a matrix: \(A^\dagger_{ji} = A_{ij}\).
|
||||
@ -1392,7 +1392,7 @@ Transposes a matrix: \(A^\dagger_{ji} = A_{ij}\).
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-03-21 Mon 17:34</p>
|
||||
<p class="date">Created: 2022-03-28 Mon 15:59</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -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-03-21 Mon 17:34 -->
|
||||
<!-- 2022-03-28 Mon 15:59 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Context</title>
|
||||
@ -311,21 +311,21 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#orgfdf2f2f">1. Context handling</a>
|
||||
<li><a href="#orged2c395">1. Context handling</a>
|
||||
<ul>
|
||||
<li><a href="#org279fe51">1.1. Data structure</a></li>
|
||||
<li><a href="#org7ad0d3e">1.2. Creation</a></li>
|
||||
<li><a href="#org2f1f07c">1.3. Locking</a></li>
|
||||
<li><a href="#org6be88b0">1.4. <span class="todo TODO">TODO</span> Copy</a></li>
|
||||
<li><a href="#orge1b87df">1.5. Destroy</a></li>
|
||||
<li><a href="#orgf8860ec">1.1. Data structure</a></li>
|
||||
<li><a href="#orgffe4aa3">1.2. Creation</a></li>
|
||||
<li><a href="#org86e067d">1.3. Locking</a></li>
|
||||
<li><a href="#org44d3f6f">1.4. <span class="todo TODO">TODO</span> Copy</a></li>
|
||||
<li><a href="#org26c44a7">1.5. Destroy</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgfdf2f2f" class="outline-2">
|
||||
<h2 id="orgfdf2f2f"><span class="section-number-2">1</span> Context handling</h2>
|
||||
<div id="outline-container-orged2c395" class="outline-2">
|
||||
<h2 id="orged2c395"><span class="section-number-2">1</span> Context handling</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
The context variable is a handle for the state of the library,
|
||||
@ -338,7 +338,7 @@ A value of <code>QMCKL_NULL_CONTEXT</code> for the context is equivalent to a
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c" id="org34bf204"><span style="color: #a020f0;">typedef</span> <span style="color: #228b22;">int64_t</span> <span style="color: #228b22;">qmckl_context</span> ;
|
||||
<pre class="src src-c" id="org471b056"><span style="color: #a020f0;">typedef</span> <span style="color: #228b22;">int64_t</span> <span style="color: #228b22;">qmckl_context</span> ;
|
||||
<span style="color: #483d8b;">#define</span> <span style="color: #a0522d;">QMCKL_NULL_CONTEXT</span> (qmckl_context) 0
|
||||
</pre>
|
||||
</div>
|
||||
@ -356,8 +356,8 @@ and <code>ctx</code> is a <code>qmckl_context_struct*</code> pointer.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org279fe51" class="outline-3">
|
||||
<h3 id="org279fe51"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-orgf8860ec" class="outline-3">
|
||||
<h3 id="orgf8860ec"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<p>
|
||||
A tag is used internally to check if the memory domain pointed
|
||||
@ -385,7 +385,7 @@ to be recomputed. The date is incremented when the context is touched.
|
||||
|
||||
<p>
|
||||
When a new element is added to the context, the functions
|
||||
<a href="#org7ad0d3e"><code>qmckl_context_create</code></a> <a href="#orge1b87df"><code>qmckl_context_destroy</code></a> and <a href="#org6be88b0"><code>qmckl_context_copy</code></a>
|
||||
<a href="#orgffe4aa3"><code>qmckl_context_create</code></a> <a href="#org26c44a7"><code>qmckl_context_destroy</code></a> and <a href="#org44d3f6f"><code>qmckl_context_copy</code></a>
|
||||
should be updated in order to make deep copies.
|
||||
</p>
|
||||
|
||||
@ -406,8 +406,8 @@ This has the effect to increment the date of the context.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7ad0d3e" class="outline-3">
|
||||
<h3 id="org7ad0d3e"><span class="section-number-3">1.2</span> Creation</h3>
|
||||
<div id="outline-container-orgffe4aa3" class="outline-3">
|
||||
<h3 id="orgffe4aa3"><span class="section-number-3">1.2</span> Creation</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<p>
|
||||
To create a new context, <code>qmckl_context_create()</code> should be used.
|
||||
@ -424,8 +424,8 @@ To create a new context, <code>qmckl_context_create()</code> should be used.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org2f1f07c" class="outline-3">
|
||||
<h3 id="org2f1f07c"><span class="section-number-3">1.3</span> Locking</h3>
|
||||
<div id="outline-container-org86e067d" class="outline-3">
|
||||
<h3 id="org86e067d"><span class="section-number-3">1.3</span> Locking</h3>
|
||||
<div class="outline-text-3" id="text-1-3">
|
||||
<p>
|
||||
For thread safety, the context may be locked/unlocked. The lock is
|
||||
@ -441,8 +441,8 @@ number of times the thread has locked it is saved in the
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org6be88b0" class="outline-3">
|
||||
<h3 id="org6be88b0"><span class="section-number-3">1.4</span> <span class="todo TODO">TODO</span> Copy</h3>
|
||||
<div id="outline-container-org44d3f6f" class="outline-3">
|
||||
<h3 id="org44d3f6f"><span class="section-number-3">1.4</span> <span class="todo TODO">TODO</span> Copy</h3>
|
||||
<div class="outline-text-3" id="text-1-4">
|
||||
<p>
|
||||
<code>qmckl_context_copy</code> makes a deep copy of a context. It returns
|
||||
@ -450,8 +450,8 @@ number of times the thread has locked it is saved in the
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orge1b87df" class="outline-3">
|
||||
<h3 id="orge1b87df"><span class="section-number-3">1.5</span> Destroy</h3>
|
||||
<div id="outline-container-org26c44a7" class="outline-3">
|
||||
<h3 id="org26c44a7"><span class="section-number-3">1.5</span> Destroy</h3>
|
||||
<div class="outline-text-3" id="text-1-5">
|
||||
<p>
|
||||
The context is destroyed with <code>qmckl_context_destroy</code>, leaving the ancestors untouched.
|
||||
@ -469,7 +469,7 @@ It frees the context, and returns the previous context.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-03-21 Mon 17:34</p>
|
||||
<p class="date">Created: 2022-03-28 Mon 15:59</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -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-03-21 Mon 17:34 -->
|
||||
<!-- 2022-03-28 Mon 15:59 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Slater Determinant</title>
|
||||
@ -311,32 +311,32 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org1c3b360">1. Context</a>
|
||||
<li><a href="#orgcf2b307">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#orgaae0d39">1.1. Data structure</a></li>
|
||||
<li><a href="#org6372a92">1.2. Access functions</a></li>
|
||||
<li><a href="#org3060112">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org138cd4a">1.4. Fortran Interfaces</a></li>
|
||||
<li><a href="#org97b40d4">1.5. Test</a></li>
|
||||
<li><a href="#org87e6277">1.1. Data structure</a></li>
|
||||
<li><a href="#org84d6865">1.2. Access functions</a></li>
|
||||
<li><a href="#orgc8fa6b6">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org42d4207">1.4. Fortran Interfaces</a></li>
|
||||
<li><a href="#org1d26969">1.5. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgd575fa4">2. Computation</a>
|
||||
<li><a href="#org7f23dde">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#orga317395">2.1. Determinant matrix</a>
|
||||
<li><a href="#org4531152">2.1. Determinant matrix</a>
|
||||
<ul>
|
||||
<li><a href="#orgcbdafe8">2.1.1. Get</a></li>
|
||||
<li><a href="#org41a0237">2.1.2. Provide</a></li>
|
||||
<li><a href="#org32c4e50">2.1.3. Compute alpha</a></li>
|
||||
<li><a href="#org4eeb4ce">2.1.4. Compute beta</a></li>
|
||||
<li><a href="#org9954641">2.1.5. Test</a></li>
|
||||
<li><a href="#orgd5e1c80">2.1.1. Get</a></li>
|
||||
<li><a href="#org7f81039">2.1.2. Provide</a></li>
|
||||
<li><a href="#org33a7a55">2.1.3. Compute alpha</a></li>
|
||||
<li><a href="#org14242e2">2.1.4. Compute beta</a></li>
|
||||
<li><a href="#orgd74addf">2.1.5. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org8e16960">2.2. Inverse of Determinant matrix</a>
|
||||
<li><a href="#org7b67468">2.2. Inverse of Determinant matrix</a>
|
||||
<ul>
|
||||
<li><a href="#org021d6b8">2.2.1. Get</a></li>
|
||||
<li><a href="#orgd3bc48b">2.2.2. Provide</a></li>
|
||||
<li><a href="#org4871db9">2.2.3. Compute alpha</a></li>
|
||||
<li><a href="#org33573d1">2.2.4. Compute beta</a></li>
|
||||
<li><a href="#orgab78c57">2.2.1. Get</a></li>
|
||||
<li><a href="#orgf77ad0e">2.2.2. Provide</a></li>
|
||||
<li><a href="#org338a465">2.2.3. Compute alpha</a></li>
|
||||
<li><a href="#orgb58eec3">2.2.4. Compute beta</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -345,8 +345,8 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1c3b360" class="outline-2">
|
||||
<h2 id="org1c3b360"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-orgcf2b307" class="outline-2">
|
||||
<h2 id="orgcf2b307"><span class="section-number-2">1</span> Context</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
The following arrays are stored in the context:
|
||||
@ -528,8 +528,8 @@ Computed data:
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgaae0d39" class="outline-3">
|
||||
<h3 id="orgaae0d39"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-org87e6277" class="outline-3">
|
||||
<h3 id="org87e6277"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #a020f0;">typedef</span> <span style="color: #a020f0;">struct</span> <span style="color: #228b22;">qmckl_determinant_struct</span> {
|
||||
@ -598,8 +598,8 @@ this mechanism.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6372a92" class="outline-3">
|
||||
<h3 id="org6372a92"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-org84d6865" class="outline-3">
|
||||
<h3 id="org84d6865"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<p>
|
||||
When all the data for the slater determinants have been provided, the following
|
||||
@ -613,8 +613,8 @@ function returns <code>true</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3060112" class="outline-3">
|
||||
<h3 id="org3060112"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-orgc8fa6b6" class="outline-3">
|
||||
<h3 id="orgc8fa6b6"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div class="outline-text-3" id="text-1-3">
|
||||
<p>
|
||||
To set the basis set, all the following functions need to be
|
||||
@ -638,24 +638,24 @@ computed to accelerate the calculations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org138cd4a" class="outline-3">
|
||||
<h3 id="org138cd4a"><span class="section-number-3">1.4</span> Fortran Interfaces</h3>
|
||||
<div id="outline-container-org42d4207" class="outline-3">
|
||||
<h3 id="org42d4207"><span class="section-number-3">1.4</span> Fortran Interfaces</h3>
|
||||
</div>
|
||||
<div id="outline-container-org97b40d4" class="outline-3">
|
||||
<h3 id="org97b40d4"><span class="section-number-3">1.5</span> Test</h3>
|
||||
<div id="outline-container-org1d26969" class="outline-3">
|
||||
<h3 id="org1d26969"><span class="section-number-3">1.5</span> Test</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgd575fa4" class="outline-2">
|
||||
<h2 id="orgd575fa4"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-org7f23dde" class="outline-2">
|
||||
<h2 id="org7f23dde"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-orga317395" class="outline-3">
|
||||
<h3 id="orga317395"><span class="section-number-3">2.1</span> Determinant matrix</h3>
|
||||
<div id="outline-container-org4531152" class="outline-3">
|
||||
<h3 id="org4531152"><span class="section-number-3">2.1</span> Determinant matrix</h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgcbdafe8" class="outline-4">
|
||||
<h4 id="orgcbdafe8"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-orgd5e1c80" class="outline-4">
|
||||
<h4 id="orgd5e1c80"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-1-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_det_vgl_alpha</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">det_vgl_alpha</span>);
|
||||
@ -665,14 +665,14 @@ computed to accelerate the calculations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org41a0237" class="outline-4">
|
||||
<h4 id="org41a0237"><span class="section-number-4">2.1.2</span> Provide</h4>
|
||||
<div id="outline-container-org7f81039" class="outline-4">
|
||||
<h4 id="org7f81039"><span class="section-number-4">2.1.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org32c4e50" class="outline-4">
|
||||
<h4 id="org32c4e50"><span class="section-number-4">2.1.3</span> Compute alpha</h4>
|
||||
<div id="outline-container-org33a7a55" class="outline-4">
|
||||
<h4 id="org33a7a55"><span class="section-number-4">2.1.3</span> Compute alpha</h4>
|
||||
<div class="outline-text-4" id="text-2-1-3">
|
||||
<table id="orgc110724" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgdb5f7c0" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -846,10 +846,10 @@ computed to accelerate the calculations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4eeb4ce" class="outline-4">
|
||||
<h4 id="org4eeb4ce"><span class="section-number-4">2.1.4</span> Compute beta</h4>
|
||||
<div id="outline-container-org14242e2" class="outline-4">
|
||||
<h4 id="org14242e2"><span class="section-number-4">2.1.4</span> Compute beta</h4>
|
||||
<div class="outline-text-4" id="text-2-1-4">
|
||||
<table id="orgccc04d7" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org03dc4c1" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1023,18 +1023,18 @@ computed to accelerate the calculations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9954641" class="outline-4">
|
||||
<h4 id="org9954641"><span class="section-number-4">2.1.5</span> Test</h4>
|
||||
<div id="outline-container-orgd74addf" class="outline-4">
|
||||
<h4 id="orgd74addf"><span class="section-number-4">2.1.5</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8e16960" class="outline-3">
|
||||
<h3 id="org8e16960"><span class="section-number-3">2.2</span> Inverse of Determinant matrix</h3>
|
||||
<div id="outline-container-org7b67468" class="outline-3">
|
||||
<h3 id="org7b67468"><span class="section-number-3">2.2</span> Inverse of Determinant matrix</h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org021d6b8" class="outline-4">
|
||||
<h4 id="org021d6b8"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div id="outline-container-orgab78c57" class="outline-4">
|
||||
<h4 id="orgab78c57"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-2-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_det_inv_matrix_alpha</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">det_inv_matrix_alpha</span>);
|
||||
@ -1048,14 +1048,14 @@ computed to accelerate the calculations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd3bc48b" class="outline-4">
|
||||
<h4 id="orgd3bc48b"><span class="section-number-4">2.2.2</span> Provide</h4>
|
||||
<div id="outline-container-orgf77ad0e" class="outline-4">
|
||||
<h4 id="orgf77ad0e"><span class="section-number-4">2.2.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4871db9" class="outline-4">
|
||||
<h4 id="org4871db9"><span class="section-number-4">2.2.3</span> Compute alpha</h4>
|
||||
<div id="outline-container-org338a465" class="outline-4">
|
||||
<h4 id="org338a465"><span class="section-number-4">2.2.3</span> Compute alpha</h4>
|
||||
<div class="outline-text-4" id="text-2-2-3">
|
||||
<table id="org2ceeec7" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orge0c97b7" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1217,10 +1217,10 @@ computed to accelerate the calculations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org33573d1" class="outline-4">
|
||||
<h4 id="org33573d1"><span class="section-number-4">2.2.4</span> Compute beta</h4>
|
||||
<div id="outline-container-orgb58eec3" class="outline-4">
|
||||
<h4 id="orgb58eec3"><span class="section-number-4">2.2.4</span> Compute beta</h4>
|
||||
<div class="outline-text-4" id="text-2-2-4">
|
||||
<table id="orgb11dbce" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org3595947" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1387,7 +1387,7 @@ computed to accelerate the calculations.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-03-21 Mon 17:34</p>
|
||||
<p class="date">Created: 2022-03-28 Mon 15:59</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -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-03-21 Mon 17:34 -->
|
||||
<!-- 2022-03-28 Mon 15:59 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Inter-particle distances</title>
|
||||
@ -333,54 +333,54 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org63d4119">1. Squared distance</a>
|
||||
<li><a href="#org1c0d7d0">1. Squared distance</a>
|
||||
<ul>
|
||||
<li><a href="#org16852de">1.1. <code>qmckl_distance_sq</code></a>
|
||||
<li><a href="#org5724403">1.1. <code>qmckl_distance_sq</code></a>
|
||||
<ul>
|
||||
<li><a href="#org2d49e01">1.1.1. Performance</a></li>
|
||||
<li><a href="#org37419bd">1.1.1. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgd6a372d">2. Distance</a>
|
||||
<li><a href="#org26f951b">2. Distance</a>
|
||||
<ul>
|
||||
<li><a href="#org4116cf0">2.1. <code>qmckl_distance</code></a>
|
||||
<li><a href="#org21500a4">2.1. <code>qmckl_distance</code></a>
|
||||
<ul>
|
||||
<li><a href="#orge611112">2.1.1. Requirements</a></li>
|
||||
<li><a href="#orgd9068ac">2.1.2. C header</a></li>
|
||||
<li><a href="#orge8452e4">2.1.3. Source</a></li>
|
||||
<li><a href="#org29f55f4">2.1.4. Performance</a></li>
|
||||
<li><a href="#org60471d4">2.1.1. Requirements</a></li>
|
||||
<li><a href="#orge5b7ec0">2.1.2. C header</a></li>
|
||||
<li><a href="#org9d12f39">2.1.3. Source</a></li>
|
||||
<li><a href="#orgc1be09d">2.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgc5fe002">3. Rescaled Distance</a>
|
||||
<li><a href="#org0f4ca53">3. Rescaled Distance</a>
|
||||
<ul>
|
||||
<li><a href="#org0ccb325">3.1. <code>qmckl_distance_rescaled</code></a>
|
||||
<li><a href="#org1adc9c2">3.1. <code>qmckl_distance_rescaled</code></a>
|
||||
<ul>
|
||||
<li><a href="#orgc116f04">3.1.1. Requirements</a></li>
|
||||
<li><a href="#orgeadefe9">3.1.2. C header</a></li>
|
||||
<li><a href="#org85ee1f9">3.1.3. Source</a></li>
|
||||
<li><a href="#org50d1030">3.1.4. Performance</a></li>
|
||||
<li><a href="#orge01149f">3.1.1. Requirements</a></li>
|
||||
<li><a href="#org5d3bed4">3.1.2. C header</a></li>
|
||||
<li><a href="#org18f762c">3.1.3. Source</a></li>
|
||||
<li><a href="#orgf121116">3.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org06a3bd8">4. Rescaled Distance Derivatives</a>
|
||||
<li><a href="#org2af4ec9">4. Rescaled Distance Derivatives</a>
|
||||
<ul>
|
||||
<li><a href="#org433a2c1">4.1. <code>qmckl_distance_rescaled_deriv_e</code></a></li>
|
||||
<li><a href="#orgc7c8e1a">4.1. <code>qmckl_distance_rescaled_deriv_e</code></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org63d4119" class="outline-2">
|
||||
<h2 id="org63d4119"><span class="section-number-2">1</span> Squared distance</h2>
|
||||
<div id="outline-container-org1c0d7d0" class="outline-2">
|
||||
<h2 id="org1c0d7d0"><span class="section-number-2">1</span> Squared distance</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
</div>
|
||||
<div id="outline-container-org16852de" class="outline-3">
|
||||
<h3 id="org16852de"><span class="section-number-3">1.1</span> <code>qmckl_distance_sq</code></h3>
|
||||
<div id="outline-container-org5724403" class="outline-3">
|
||||
<h3 id="org5724403"><span class="section-number-3">1.1</span> <code>qmckl_distance_sq</code></h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<p>
|
||||
<code>qmckl_distance_sq</code> computes the matrix of the squared distances
|
||||
@ -393,7 +393,7 @@ between all pairs of points in two sets, one point within each set:
|
||||
\]
|
||||
</p>
|
||||
|
||||
<table id="org54e4a3c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org1f5a65a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -659,8 +659,8 @@ Requirements:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2d49e01" class="outline-4">
|
||||
<h4 id="org2d49e01"><span class="section-number-4">1.1.1</span> Performance</h4>
|
||||
<div id="outline-container-org37419bd" class="outline-4">
|
||||
<h4 id="org37419bd"><span class="section-number-4">1.1.1</span> Performance</h4>
|
||||
<div class="outline-text-4" id="text-1-1-1">
|
||||
<p>
|
||||
This function is more efficient when <code>A</code> and <code>B</code> are
|
||||
@ -670,12 +670,12 @@ transposed.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgd6a372d" class="outline-2">
|
||||
<h2 id="orgd6a372d"><span class="section-number-2">2</span> Distance</h2>
|
||||
<div id="outline-container-org26f951b" class="outline-2">
|
||||
<h2 id="org26f951b"><span class="section-number-2">2</span> Distance</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-org4116cf0" class="outline-3">
|
||||
<h3 id="org4116cf0"><span class="section-number-3">2.1</span> <code>qmckl_distance</code></h3>
|
||||
<div id="outline-container-org21500a4" class="outline-3">
|
||||
<h3 id="org21500a4"><span class="section-number-3">2.1</span> <code>qmckl_distance</code></h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
<p>
|
||||
<code>qmckl_distance</code> computes the matrix of the distances between all
|
||||
@ -693,7 +693,7 @@ If the input array is normal (<code>'N'</code>), the xyz coordinates are in
|
||||
the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortran.
|
||||
</p>
|
||||
|
||||
<table id="org88993cf" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org28db42d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -794,8 +794,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge611112" class="outline-4">
|
||||
<h4 id="orge611112"><span class="section-number-4">2.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org60471d4" class="outline-4">
|
||||
<h4 id="org60471d4"><span class="section-number-4">2.1.1</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-2-1-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>context</code> is not <code>QMCKL_NULL_CONTEXT</code></li>
|
||||
@ -813,8 +813,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd9068ac" class="outline-4">
|
||||
<h4 id="orgd9068ac"><span class="section-number-4">2.1.2</span> C header</h4>
|
||||
<div id="outline-container-orge5b7ec0" class="outline-4">
|
||||
<h4 id="orge5b7ec0"><span class="section-number-4">2.1.2</span> C header</h4>
|
||||
<div class="outline-text-4" id="text-2-1-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_distance</span> (
|
||||
@ -834,8 +834,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge8452e4" class="outline-4">
|
||||
<h4 id="orge8452e4"><span class="section-number-4">2.1.3</span> Source</h4>
|
||||
<div id="outline-container-org9d12f39" class="outline-4">
|
||||
<h4 id="org9d12f39"><span class="section-number-4">2.1.3</span> Source</h4>
|
||||
<div class="outline-text-4" id="text-2-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer</span><span style="color: #a0522d;"> function qmckl_distance_f(context, transa, transb, m, n, </span><span style="color: #a020f0;">&</span>
|
||||
@ -1002,8 +1002,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org29f55f4" class="outline-4">
|
||||
<h4 id="org29f55f4"><span class="section-number-4">2.1.4</span> Performance</h4>
|
||||
<div id="outline-container-orgc1be09d" class="outline-4">
|
||||
<h4 id="orgc1be09d"><span class="section-number-4">2.1.4</span> Performance</h4>
|
||||
<div class="outline-text-4" id="text-2-1-4">
|
||||
<p>
|
||||
This function is more efficient when <code>A</code> and <code>B</code> are transposed.
|
||||
@ -1013,12 +1013,12 @@ This function is more efficient when <code>A</code> and <code>B</code> are trans
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc5fe002" class="outline-2">
|
||||
<h2 id="orgc5fe002"><span class="section-number-2">3</span> Rescaled Distance</h2>
|
||||
<div id="outline-container-org0f4ca53" class="outline-2">
|
||||
<h2 id="org0f4ca53"><span class="section-number-2">3</span> Rescaled Distance</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
</div>
|
||||
<div id="outline-container-org0ccb325" class="outline-3">
|
||||
<h3 id="org0ccb325"><span class="section-number-3">3.1</span> <code>qmckl_distance_rescaled</code></h3>
|
||||
<div id="outline-container-org1adc9c2" class="outline-3">
|
||||
<h3 id="org1adc9c2"><span class="section-number-3">3.1</span> <code>qmckl_distance_rescaled</code></h3>
|
||||
<div class="outline-text-3" id="text-3-1">
|
||||
<p>
|
||||
<code>qmckl_distance_rescaled</code> computes the matrix of the rescaled distances between all
|
||||
@ -1036,7 +1036,7 @@ If the input array is normal (<code>'N'</code>), the xyz coordinates are in
|
||||
the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortran.
|
||||
</p>
|
||||
|
||||
<table id="orgaba5c52" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org472b6f3" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1144,8 +1144,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc116f04" class="outline-4">
|
||||
<h4 id="orgc116f04"><span class="section-number-4">3.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-orge01149f" class="outline-4">
|
||||
<h4 id="orge01149f"><span class="section-number-4">3.1.1</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-3-1-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>context</code> is not <code>QMCKL_NULL_CONTEXT</code></li>
|
||||
@ -1163,8 +1163,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgeadefe9" class="outline-4">
|
||||
<h4 id="orgeadefe9"><span class="section-number-4">3.1.2</span> C header</h4>
|
||||
<div id="outline-container-org5d3bed4" class="outline-4">
|
||||
<h4 id="org5d3bed4"><span class="section-number-4">3.1.2</span> C header</h4>
|
||||
<div class="outline-text-4" id="text-3-1-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_distance_rescaled</span> (
|
||||
@ -1185,8 +1185,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org85ee1f9" class="outline-4">
|
||||
<h4 id="org85ee1f9"><span class="section-number-4">3.1.3</span> Source</h4>
|
||||
<div id="outline-container-org18f762c" class="outline-4">
|
||||
<h4 id="org18f762c"><span class="section-number-4">3.1.3</span> Source</h4>
|
||||
<div class="outline-text-4" id="text-3-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer</span><span style="color: #a0522d;"> function qmckl_distance_rescaled_f(context, transa, transb, m, n, </span><span style="color: #a020f0;">&</span>
|
||||
@ -1356,8 +1356,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org50d1030" class="outline-4">
|
||||
<h4 id="org50d1030"><span class="section-number-4">3.1.4</span> Performance</h4>
|
||||
<div id="outline-container-orgf121116" class="outline-4">
|
||||
<h4 id="orgf121116"><span class="section-number-4">3.1.4</span> Performance</h4>
|
||||
<div class="outline-text-4" id="text-3-1-4">
|
||||
<p>
|
||||
This function is more efficient when <code>A</code> and <code>B</code> are transposed.
|
||||
@ -1366,12 +1366,12 @@ This function is more efficient when <code>A</code> and <code>B</code> are trans
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org06a3bd8" class="outline-2">
|
||||
<h2 id="org06a3bd8"><span class="section-number-2">4</span> Rescaled Distance Derivatives</h2>
|
||||
<div id="outline-container-org2af4ec9" class="outline-2">
|
||||
<h2 id="org2af4ec9"><span class="section-number-2">4</span> Rescaled Distance Derivatives</h2>
|
||||
<div class="outline-text-2" id="text-4">
|
||||
</div>
|
||||
<div id="outline-container-org433a2c1" class="outline-3">
|
||||
<h3 id="org433a2c1"><span class="section-number-3">4.1</span> <code>qmckl_distance_rescaled_deriv_e</code></h3>
|
||||
<div id="outline-container-orgc7c8e1a" class="outline-3">
|
||||
<h3 id="orgc7c8e1a"><span class="section-number-3">4.1</span> <code>qmckl_distance_rescaled_deriv_e</code></h3>
|
||||
<div class="outline-text-3" id="text-4-1">
|
||||
<p>
|
||||
<code>qmckl_distance_rescaled_deriv_e</code> computes the matrix of the gradient and laplacian of the
|
||||
@ -1438,7 +1438,7 @@ If the input array is normal (<code>'N'</code>), the xyz coordinates are in
|
||||
the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortran.
|
||||
</p>
|
||||
|
||||
<table id="orgc919b6f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org26e787d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1776,7 +1776,7 @@ This function is more efficient when <code>A</code> and <code>B</code> are trans
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-03-21 Mon 17:34</p>
|
||||
<p class="date">Created: 2022-03-28 Mon 15:59</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -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-03-21 Mon 17:34 -->
|
||||
<!-- 2022-03-28 Mon 15:59 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Electrons</title>
|
||||
@ -333,88 +333,88 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#orgd513f99">1. Context</a>
|
||||
<li><a href="#org5baa222">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#orgdc7d6e9">1.1. Data structure</a></li>
|
||||
<li><a href="#orgf5b9bdd">1.2. Access functions</a>
|
||||
<li><a href="#org6bc7b43">1.1. Data structure</a></li>
|
||||
<li><a href="#orgdcd7fe5">1.2. Access functions</a>
|
||||
<ul>
|
||||
<li><a href="#org7c4db76">1.2.1. Number of electrons</a></li>
|
||||
<li><a href="#orgfbc4dd0">1.2.2. Number of walkers</a></li>
|
||||
<li><a href="#orgc6f28f8">1.2.3. Scaling factors Kappa</a></li>
|
||||
<li><a href="#org6660f7d">1.2.4. Electron coordinates</a></li>
|
||||
<li><a href="#org874ed5e">1.2.1. Number of electrons</a></li>
|
||||
<li><a href="#org076cef2">1.2.2. Number of walkers</a></li>
|
||||
<li><a href="#orgc387d1a">1.2.3. Scaling factors Kappa</a></li>
|
||||
<li><a href="#org6c0cdc7">1.2.4. Electron coordinates</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org28bb53f">1.3. Initialization functions</a></li>
|
||||
<li><a href="#orgba61f90">1.4. Test</a></li>
|
||||
<li><a href="#org1a88915">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org9b7bdae">1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org1e7a9d4">2. Computation</a>
|
||||
<li><a href="#org6fce346">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#orgcf2db15">2.1. Electron-electron distances</a>
|
||||
<li><a href="#org656e1e9">2.1. Electron-electron distances</a>
|
||||
<ul>
|
||||
<li><a href="#orgfd0e63d">2.1.1. Get</a></li>
|
||||
<li><a href="#org4bccd6d">2.1.2. Compute</a></li>
|
||||
<li><a href="#org57298bb">2.1.3. Test</a></li>
|
||||
<li><a href="#orgc55789d">2.1.1. Get</a></li>
|
||||
<li><a href="#org1acc24c">2.1.2. Compute</a></li>
|
||||
<li><a href="#orgacba5c9">2.1.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgf2cae42">2.2. Electron-electron rescaled distances</a>
|
||||
<li><a href="#org362a5a9">2.2. Electron-electron rescaled distances</a>
|
||||
<ul>
|
||||
<li><a href="#org20ce036">2.2.1. Get</a></li>
|
||||
<li><a href="#org98844c7">2.2.2. Compute</a></li>
|
||||
<li><a href="#orge6702c1">2.2.3. Test</a></li>
|
||||
<li><a href="#orgbf4db3f">2.2.1. Get</a></li>
|
||||
<li><a href="#orge984399">2.2.2. Compute</a></li>
|
||||
<li><a href="#orgd8fe298">2.2.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org9431926">2.3. Electron-electron rescaled distance gradients and laplacian with respect to electron coords</a>
|
||||
<li><a href="#org841fa90">2.3. Electron-electron rescaled distance gradients and laplacian with respect to electron coords</a>
|
||||
<ul>
|
||||
<li><a href="#org5ca5988">2.3.1. Get</a></li>
|
||||
<li><a href="#org33663f5">2.3.2. Compute</a></li>
|
||||
<li><a href="#orga9f82d6">2.3.3. Test</a></li>
|
||||
<li><a href="#orge80d4cc">2.3.1. Get</a></li>
|
||||
<li><a href="#orgd8629f9">2.3.2. Compute</a></li>
|
||||
<li><a href="#org27fb37b">2.3.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org30b8ee8">2.4. Electron-electron potential</a>
|
||||
<li><a href="#org59ac6e8">2.4. Electron-electron potential</a>
|
||||
<ul>
|
||||
<li><a href="#org7d52ad5">2.4.1. Get</a></li>
|
||||
<li><a href="#org7d32ddc">2.4.2. Compute</a></li>
|
||||
<li><a href="#org38fd9a3">2.4.3. Test</a></li>
|
||||
<li><a href="#org02f1fba">2.4.1. Get</a></li>
|
||||
<li><a href="#org0829549">2.4.2. Compute</a></li>
|
||||
<li><a href="#org8e3489e">2.4.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org3320b99">2.5. Electron-nucleus distances</a>
|
||||
<li><a href="#orge4b71f8">2.5. Electron-nucleus distances</a>
|
||||
<ul>
|
||||
<li><a href="#orga79c6be">2.5.1. Get</a></li>
|
||||
<li><a href="#orgd568059">2.5.2. Compute</a></li>
|
||||
<li><a href="#org5b756c7">2.5.3. Test</a></li>
|
||||
<li><a href="#org831b529">2.5.1. Get</a></li>
|
||||
<li><a href="#org08b7efd">2.5.2. Compute</a></li>
|
||||
<li><a href="#orga493962">2.5.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org04933f7">2.6. Electron-nucleus rescaled distances</a>
|
||||
<li><a href="#orgcb25eac">2.6. Electron-nucleus rescaled distances</a>
|
||||
<ul>
|
||||
<li><a href="#orgf26fcbe">2.6.1. Get</a></li>
|
||||
<li><a href="#orgf86d8c5">2.6.2. Compute</a></li>
|
||||
<li><a href="#org0eeeba8">2.6.3. Test</a></li>
|
||||
<li><a href="#org2acd85f">2.6.1. Get</a></li>
|
||||
<li><a href="#org2b653af">2.6.2. Compute</a></li>
|
||||
<li><a href="#org86fb7c8">2.6.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org2b88f34">2.7. Electron-nucleus rescaled distance gradients and laplacian with respect to electron coords</a>
|
||||
<li><a href="#org4405a75">2.7. Electron-nucleus rescaled distance gradients and laplacian with respect to electron coords</a>
|
||||
<ul>
|
||||
<li><a href="#org74df460">2.7.1. Get</a></li>
|
||||
<li><a href="#orgf36e391">2.7.2. Compute</a></li>
|
||||
<li><a href="#orga4b7d23">2.7.3. Test</a></li>
|
||||
<li><a href="#orgb7d5ad0">2.7.1. Get</a></li>
|
||||
<li><a href="#org3cfe869">2.7.2. Compute</a></li>
|
||||
<li><a href="#org322f7ff">2.7.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org2828708">2.8. Electron-nucleus potential</a>
|
||||
<li><a href="#org467574c">2.8. Electron-nucleus potential</a>
|
||||
<ul>
|
||||
<li><a href="#org1f3eb3b">2.8.1. Get</a></li>
|
||||
<li><a href="#org1e720a7">2.8.2. Compute</a></li>
|
||||
<li><a href="#org5419f7b">2.8.3. Test</a></li>
|
||||
<li><a href="#org2418be2">2.8.1. Get</a></li>
|
||||
<li><a href="#org34ba43e">2.8.2. Compute</a></li>
|
||||
<li><a href="#orgd6ad521">2.8.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org0a9681a">2.9. Generate initial coordinates</a></li>
|
||||
<li><a href="#orgbd5e851">2.9. Generate initial coordinates</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd513f99" class="outline-2">
|
||||
<h2 id="orgd513f99"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-org5baa222" class="outline-2">
|
||||
<h2 id="org5baa222"><span class="section-number-2">1</span> Context</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
The following data stored in the context:
|
||||
@ -627,8 +627,8 @@ Computed data:
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgdc7d6e9" class="outline-3">
|
||||
<h3 id="orgdc7d6e9"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-org6bc7b43" class="outline-3">
|
||||
<h3 id="org6bc7b43"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #a020f0;">typedef</span> <span style="color: #a020f0;">struct</span> <span style="color: #228b22;">qmckl_electron_struct</span> {
|
||||
@ -707,8 +707,8 @@ this mechanism.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf5b9bdd" class="outline-3">
|
||||
<h3 id="orgf5b9bdd"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-orgdcd7fe5" class="outline-3">
|
||||
<h3 id="orgdcd7fe5"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<p>
|
||||
Access functions return <code>QMCKL_SUCCESS</code> when the data has been
|
||||
@ -720,12 +720,12 @@ contains the requested data. Otherwise, this variable is untouched.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7c4db76" class="outline-4">
|
||||
<h4 id="org7c4db76"><span class="section-number-4">1.2.1</span> Number of electrons</h4>
|
||||
<div id="outline-container-org874ed5e" class="outline-4">
|
||||
<h4 id="org874ed5e"><span class="section-number-4">1.2.1</span> Number of electrons</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgfbc4dd0" class="outline-4">
|
||||
<h4 id="orgfbc4dd0"><span class="section-number-4">1.2.2</span> Number of walkers</h4>
|
||||
<div id="outline-container-org076cef2" class="outline-4">
|
||||
<h4 id="org076cef2"><span class="section-number-4">1.2.2</span> Number of walkers</h4>
|
||||
<div class="outline-text-4" id="text-1-2-2">
|
||||
<p>
|
||||
A walker is a set of electron coordinates that are arguments of
|
||||
@ -734,12 +734,12 @@ the wave function. <code>walk_num</code> is the number of walkers.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc6f28f8" class="outline-4">
|
||||
<h4 id="orgc6f28f8"><span class="section-number-4">1.2.3</span> Scaling factors Kappa</h4>
|
||||
<div id="outline-container-orgc387d1a" class="outline-4">
|
||||
<h4 id="orgc387d1a"><span class="section-number-4">1.2.3</span> Scaling factors Kappa</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6660f7d" class="outline-4">
|
||||
<h4 id="org6660f7d"><span class="section-number-4">1.2.4</span> Electron coordinates</h4>
|
||||
<div id="outline-container-org6c0cdc7" class="outline-4">
|
||||
<h4 id="org6c0cdc7"><span class="section-number-4">1.2.4</span> Electron coordinates</h4>
|
||||
<div class="outline-text-4" id="text-1-2-4">
|
||||
<p>
|
||||
Returns the current electron coordinates. The pointer is assumed
|
||||
@ -789,8 +789,8 @@ returning the current points.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org28bb53f" class="outline-3">
|
||||
<h3 id="org28bb53f"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-org1a88915" class="outline-3">
|
||||
<h3 id="org1a88915"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div class="outline-text-3" id="text-1-3">
|
||||
<p>
|
||||
To set the data relative to the electrons in the context, the
|
||||
@ -884,8 +884,8 @@ in the context.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgba61f90" class="outline-3">
|
||||
<h3 id="orgba61f90"><span class="section-number-3">1.4</span> Test</h3>
|
||||
<div id="outline-container-org9b7bdae" class="outline-3">
|
||||
<h3 id="org9b7bdae"><span class="section-number-3">1.4</span> Test</h3>
|
||||
<div class="outline-text-3" id="text-1-4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Reference input data </span>*/
|
||||
@ -992,8 +992,8 @@ rc = qmckl_get_electron_coord (context, <span style="color: #8b2252;">'N'</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1e7a9d4" class="outline-2">
|
||||
<h2 id="org1e7a9d4"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-org6fce346" class="outline-2">
|
||||
<h2 id="org6fce346"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
<p>
|
||||
The computed data is stored in the context so that it can be reused
|
||||
@ -1006,12 +1006,12 @@ current date is stored.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgcf2db15" class="outline-3">
|
||||
<h3 id="orgcf2db15"><span class="section-number-3">2.1</span> Electron-electron distances</h3>
|
||||
<div id="outline-container-org656e1e9" class="outline-3">
|
||||
<h3 id="org656e1e9"><span class="section-number-3">2.1</span> Electron-electron distances</h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
</div>
|
||||
<div id="outline-container-orgfd0e63d" class="outline-4">
|
||||
<h4 id="orgfd0e63d"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-orgc55789d" class="outline-4">
|
||||
<h4 id="orgc55789d"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-1-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_electron_ee_distance</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">distance</span>);
|
||||
@ -1020,10 +1020,10 @@ current date is stored.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4bccd6d" class="outline-4">
|
||||
<h4 id="org4bccd6d"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div id="outline-container-org1acc24c" class="outline-4">
|
||||
<h4 id="org1acc24c"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-1-2">
|
||||
<table id="orgfe961cb" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgaf28968" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1128,8 +1128,8 @@ current date is stored.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org57298bb" class="outline-4">
|
||||
<h4 id="org57298bb"><span class="section-number-4">2.1.3</span> Test</h4>
|
||||
<div id="outline-container-orgacba5c9" class="outline-4">
|
||||
<h4 id="orgacba5c9"><span class="section-number-4">2.1.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #0000ff;">assert</span>(<span style="color: #228b22;">qmckl_electron_provided</span>(<span style="color: #a0522d;">context</span>));
|
||||
@ -1163,8 +1163,8 @@ rc = qmckl_get_electron_ee_distance(context, ee_distance);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf2cae42" class="outline-3">
|
||||
<h3 id="orgf2cae42"><span class="section-number-3">2.2</span> Electron-electron rescaled distances</h3>
|
||||
<div id="outline-container-org362a5a9" class="outline-3">
|
||||
<h3 id="org362a5a9"><span class="section-number-3">2.2</span> Electron-electron rescaled distances</h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
<p>
|
||||
<code>ee_distance_rescaled</code> stores the matrix of the rescaled distances between all
|
||||
@ -1182,8 +1182,8 @@ where \(C_{ij}\) is the matrix of electron-electron distances.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org20ce036" class="outline-4">
|
||||
<h4 id="org20ce036"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div id="outline-container-orgbf4db3f" class="outline-4">
|
||||
<h4 id="orgbf4db3f"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-2-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_electron_ee_distance_rescaled</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">distance_rescaled</span>);
|
||||
@ -1192,10 +1192,10 @@ where \(C_{ij}\) is the matrix of electron-electron distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org98844c7" class="outline-4">
|
||||
<h4 id="org98844c7"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div id="outline-container-orge984399" class="outline-4">
|
||||
<h4 id="orge984399"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-2-2">
|
||||
<table id="org3ca2200" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgda48061" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1308,8 +1308,8 @@ where \(C_{ij}\) is the matrix of electron-electron distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge6702c1" class="outline-4">
|
||||
<h4 id="orge6702c1"><span class="section-number-4">2.2.3</span> Test</h4>
|
||||
<div id="outline-container-orgd8fe298" class="outline-4">
|
||||
<h4 id="orgd8fe298"><span class="section-number-4">2.2.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-2-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #0000ff;">assert</span>(<span style="color: #228b22;">qmckl_electron_provided</span>(<span style="color: #a0522d;">context</span>));
|
||||
@ -1343,8 +1343,8 @@ rc = qmckl_get_electron_ee_distance_rescaled(context, ee_distance_rescaled);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9431926" class="outline-3">
|
||||
<h3 id="org9431926"><span class="section-number-3">2.3</span> Electron-electron rescaled distance gradients and laplacian with respect to electron coords</h3>
|
||||
<div id="outline-container-org841fa90" class="outline-3">
|
||||
<h3 id="org841fa90"><span class="section-number-3">2.3</span> Electron-electron rescaled distance gradients and laplacian with respect to electron coords</h3>
|
||||
<div class="outline-text-3" id="text-2-3">
|
||||
<p>
|
||||
The rescaled distances which is given as \(R = (1 - \exp{-\kappa r})/\kappa\)
|
||||
@ -1356,8 +1356,8 @@ gives the Laplacian \(\partial x^2 + \partial y^2 + \partial z^2\).
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5ca5988" class="outline-4">
|
||||
<h4 id="org5ca5988"><span class="section-number-4">2.3.1</span> Get</h4>
|
||||
<div id="outline-container-orge80d4cc" class="outline-4">
|
||||
<h4 id="orge80d4cc"><span class="section-number-4">2.3.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-3-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_electron_ee_distance_rescaled_deriv_e</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">distance_rescaled_deriv_e</span>);
|
||||
@ -1366,10 +1366,10 @@ gives the Laplacian \(\partial x^2 + \partial y^2 + \partial z^2\).
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org33663f5" class="outline-4">
|
||||
<h4 id="org33663f5"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div id="outline-container-orgd8629f9" class="outline-4">
|
||||
<h4 id="orgd8629f9"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-3-2">
|
||||
<table id="orgbd68c94" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org577df5f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1482,8 +1482,8 @@ gives the Laplacian \(\partial x^2 + \partial y^2 + \partial z^2\).
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga9f82d6" class="outline-4">
|
||||
<h4 id="orga9f82d6"><span class="section-number-4">2.3.3</span> Test</h4>
|
||||
<div id="outline-container-org27fb37b" class="outline-4">
|
||||
<h4 id="org27fb37b"><span class="section-number-4">2.3.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-3-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #0000ff;">assert</span>(<span style="color: #228b22;">qmckl_electron_provided</span>(<span style="color: #a0522d;">context</span>));
|
||||
@ -1518,8 +1518,8 @@ rc = qmckl_get_electron_ee_distance_rescaled_deriv_e(context, ee_distance_rescal
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org30b8ee8" class="outline-3">
|
||||
<h3 id="org30b8ee8"><span class="section-number-3">2.4</span> Electron-electron potential</h3>
|
||||
<div id="outline-container-org59ac6e8" class="outline-3">
|
||||
<h3 id="org59ac6e8"><span class="section-number-3">2.4</span> Electron-electron potential</h3>
|
||||
<div class="outline-text-3" id="text-2-4">
|
||||
<p>
|
||||
<code>ee_pot</code> calculates the <code>ee</code> potential energy.
|
||||
@ -1537,8 +1537,8 @@ distance.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7d52ad5" class="outline-4">
|
||||
<h4 id="org7d52ad5"><span class="section-number-4">2.4.1</span> Get</h4>
|
||||
<div id="outline-container-org02f1fba" class="outline-4">
|
||||
<h4 id="org02f1fba"><span class="section-number-4">2.4.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-4-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_electron_ee_potential</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">ee_pot</span>);
|
||||
@ -1547,10 +1547,10 @@ distance.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7d32ddc" class="outline-4">
|
||||
<h4 id="org7d32ddc"><span class="section-number-4">2.4.2</span> Compute</h4>
|
||||
<div id="outline-container-org0829549" class="outline-4">
|
||||
<h4 id="org0829549"><span class="section-number-4">2.4.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-4-2">
|
||||
<table id="org4dfbf5a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgce12f3a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1666,8 +1666,8 @@ distance.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org38fd9a3" class="outline-4">
|
||||
<h4 id="org38fd9a3"><span class="section-number-4">2.4.3</span> Test</h4>
|
||||
<div id="outline-container-org8e3489e" class="outline-4">
|
||||
<h4 id="org8e3489e"><span class="section-number-4">2.4.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-4-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">double</span> <span style="color: #a0522d;">ee_pot</span>[walk_num];
|
||||
@ -1679,12 +1679,12 @@ rc = qmckl_get_electron_ee_potential(context, &(ee_pot[0]));
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org3320b99" class="outline-3">
|
||||
<h3 id="org3320b99"><span class="section-number-3">2.5</span> Electron-nucleus distances</h3>
|
||||
<div id="outline-container-orge4b71f8" class="outline-3">
|
||||
<h3 id="orge4b71f8"><span class="section-number-3">2.5</span> Electron-nucleus distances</h3>
|
||||
<div class="outline-text-3" id="text-2-5">
|
||||
</div>
|
||||
<div id="outline-container-orga79c6be" class="outline-4">
|
||||
<h4 id="orga79c6be"><span class="section-number-4">2.5.1</span> Get</h4>
|
||||
<div id="outline-container-org831b529" class="outline-4">
|
||||
<h4 id="org831b529"><span class="section-number-4">2.5.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-5-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_electron_en_distance</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">distance</span>);
|
||||
@ -1693,10 +1693,10 @@ rc = qmckl_get_electron_ee_potential(context, &(ee_pot[0]));
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd568059" class="outline-4">
|
||||
<h4 id="orgd568059"><span class="section-number-4">2.5.2</span> Compute</h4>
|
||||
<div id="outline-container-org08b7efd" class="outline-4">
|
||||
<h4 id="org08b7efd"><span class="section-number-4">2.5.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-5-2">
|
||||
<table id="orge9ecc7c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgeb8092c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1821,8 +1821,8 @@ rc = qmckl_get_electron_ee_potential(context, &(ee_pot[0]));
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5b756c7" class="outline-4">
|
||||
<h4 id="org5b756c7"><span class="section-number-4">2.5.3</span> Test</h4>
|
||||
<div id="outline-container-orga493962" class="outline-4">
|
||||
<h4 id="orga493962"><span class="section-number-4">2.5.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-5-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">
|
||||
@ -1870,8 +1870,8 @@ rc = qmckl_get_electron_en_distance(context, &(en_distance[0][0][0]));
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org04933f7" class="outline-3">
|
||||
<h3 id="org04933f7"><span class="section-number-3">2.6</span> Electron-nucleus rescaled distances</h3>
|
||||
<div id="outline-container-orgcb25eac" class="outline-3">
|
||||
<h3 id="orgcb25eac"><span class="section-number-3">2.6</span> Electron-nucleus rescaled distances</h3>
|
||||
<div class="outline-text-3" id="text-2-6">
|
||||
<p>
|
||||
<code>en_distance_rescaled</code> stores the matrix of the rescaled distances between
|
||||
@ -1889,8 +1889,8 @@ where \(C_{ij}\) is the matrix of electron-nucleus distances.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf26fcbe" class="outline-4">
|
||||
<h4 id="orgf26fcbe"><span class="section-number-4">2.6.1</span> Get</h4>
|
||||
<div id="outline-container-org2acd85f" class="outline-4">
|
||||
<h4 id="org2acd85f"><span class="section-number-4">2.6.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-6-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_electron_en_distance_rescaled</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">distance_rescaled</span>);
|
||||
@ -1900,10 +1900,10 @@ where \(C_{ij}\) is the matrix of electron-nucleus distances.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgf86d8c5" class="outline-4">
|
||||
<h4 id="orgf86d8c5"><span class="section-number-4">2.6.2</span> Compute</h4>
|
||||
<div id="outline-container-org2b653af" class="outline-4">
|
||||
<h4 id="org2b653af"><span class="section-number-4">2.6.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-6-2">
|
||||
<table id="org002ab8f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org4c5baff" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2043,8 +2043,8 @@ where \(C_{ij}\) is the matrix of electron-nucleus distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0eeeba8" class="outline-4">
|
||||
<h4 id="org0eeeba8"><span class="section-number-4">2.6.3</span> Test</h4>
|
||||
<div id="outline-container-org86fb7c8" class="outline-4">
|
||||
<h4 id="org86fb7c8"><span class="section-number-4">2.6.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-6-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">
|
||||
@ -2092,8 +2092,8 @@ rc = qmckl_get_electron_en_distance_rescaled(context, &(en_distance_rescaled
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2b88f34" class="outline-3">
|
||||
<h3 id="org2b88f34"><span class="section-number-3">2.7</span> Electron-nucleus rescaled distance gradients and laplacian with respect to electron coords</h3>
|
||||
<div id="outline-container-org4405a75" class="outline-3">
|
||||
<h3 id="org4405a75"><span class="section-number-3">2.7</span> Electron-nucleus rescaled distance gradients and laplacian with respect to electron coords</h3>
|
||||
<div class="outline-text-3" id="text-2-7">
|
||||
<p>
|
||||
The rescaled distances which is given as \(R = (1 - \exp{-\kappa r})/\kappa\)
|
||||
@ -2105,8 +2105,8 @@ gives the Laplacian \(\partial x^2 + \partial y^2 + \partial z^2\).
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org74df460" class="outline-4">
|
||||
<h4 id="org74df460"><span class="section-number-4">2.7.1</span> Get</h4>
|
||||
<div id="outline-container-orgb7d5ad0" class="outline-4">
|
||||
<h4 id="orgb7d5ad0"><span class="section-number-4">2.7.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-7-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_electron_en_distance_rescaled_deriv_e</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">distance_rescaled_deriv_e</span>);
|
||||
@ -2115,10 +2115,10 @@ gives the Laplacian \(\partial x^2 + \partial y^2 + \partial z^2\).
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf36e391" class="outline-4">
|
||||
<h4 id="orgf36e391"><span class="section-number-4">2.7.2</span> Compute</h4>
|
||||
<div id="outline-container-org3cfe869" class="outline-4">
|
||||
<h4 id="org3cfe869"><span class="section-number-4">2.7.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-7-2">
|
||||
<table id="org808c301" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org40db32e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2259,8 +2259,8 @@ gives the Laplacian \(\partial x^2 + \partial y^2 + \partial z^2\).
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga4b7d23" class="outline-4">
|
||||
<h4 id="orga4b7d23"><span class="section-number-4">2.7.3</span> Test</h4>
|
||||
<div id="outline-container-org322f7ff" class="outline-4">
|
||||
<h4 id="org322f7ff"><span class="section-number-4">2.7.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-7-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">
|
||||
@ -2312,8 +2312,8 @@ rc = qmckl_get_electron_en_distance_rescaled_deriv_e(context, &(en_distance_
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2828708" class="outline-3">
|
||||
<h3 id="org2828708"><span class="section-number-3">2.8</span> Electron-nucleus potential</h3>
|
||||
<div id="outline-container-org467574c" class="outline-3">
|
||||
<h3 id="org467574c"><span class="section-number-3">2.8</span> Electron-nucleus potential</h3>
|
||||
<div class="outline-text-3" id="text-2-8">
|
||||
<p>
|
||||
<code>en_potential</code> stores the <code>en</code> potential energy
|
||||
@ -2331,8 +2331,8 @@ distance and \[Z_A\] is the nuclear charge.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1f3eb3b" class="outline-4">
|
||||
<h4 id="org1f3eb3b"><span class="section-number-4">2.8.1</span> Get</h4>
|
||||
<div id="outline-container-org2418be2" class="outline-4">
|
||||
<h4 id="org2418be2"><span class="section-number-4">2.8.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-8-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_electron_en_potential</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">en_pot</span>);
|
||||
@ -2341,10 +2341,10 @@ distance and \[Z_A\] is the nuclear charge.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1e720a7" class="outline-4">
|
||||
<h4 id="org1e720a7"><span class="section-number-4">2.8.2</span> Compute</h4>
|
||||
<div id="outline-container-org34ba43e" class="outline-4">
|
||||
<h4 id="org34ba43e"><span class="section-number-4">2.8.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-8-2">
|
||||
<table id="org65680a6" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org3e1096d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2478,8 +2478,8 @@ distance and \[Z_A\] is the nuclear charge.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5419f7b" class="outline-4">
|
||||
<h4 id="org5419f7b"><span class="section-number-4">2.8.3</span> Test</h4>
|
||||
<div id="outline-container-orgd6ad521" class="outline-4">
|
||||
<h4 id="orgd6ad521"><span class="section-number-4">2.8.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-8-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">double</span> <span style="color: #a0522d;">en_pot</span>[walk_num];
|
||||
@ -2492,14 +2492,14 @@ rc = qmckl_get_electron_en_potential(context, &(en_pot[0]));
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0a9681a" class="outline-3">
|
||||
<h3 id="org0a9681a"><span class="section-number-3">2.9</span> Generate initial coordinates</h3>
|
||||
<div id="outline-container-orgbd5e851" class="outline-3">
|
||||
<h3 id="orgbd5e851"><span class="section-number-3">2.9</span> Generate initial coordinates</h3>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-03-21 Mon 17:34</p>
|
||||
<p class="date">Created: 2022-03-28 Mon 15:59</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -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-03-21 Mon 17:34 -->
|
||||
<!-- 2022-03-28 Mon 15:59 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Error handling</title>
|
||||
@ -311,19 +311,19 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org0fad952">-</a></li>
|
||||
<li><a href="#org9e4bec3">1. Decoding errors</a></li>
|
||||
<li><a href="#org519f1d7">2. Data structure in context</a></li>
|
||||
<li><a href="#orgb2a2716">3. Updating errors in the context</a></li>
|
||||
<li><a href="#org42d482d">4. Get the error</a></li>
|
||||
<li><a href="#org1e4fb4d">5. Failing</a></li>
|
||||
<li><a href="#org977fbb8">-</a></li>
|
||||
<li><a href="#orgdd9256e">1. Decoding errors</a></li>
|
||||
<li><a href="#orgc18ade0">2. Data structure in context</a></li>
|
||||
<li><a href="#org07e0bb7">3. Updating errors in the context</a></li>
|
||||
<li><a href="#org88ff5e0">4. Get the error</a></li>
|
||||
<li><a href="#org0bc7314">5. Failing</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0fad952" class="outline-2">
|
||||
<h2 id="org0fad952">-</h2>
|
||||
<div class="outline-text-2" id="text-org0fad952">
|
||||
<div id="outline-container-org977fbb8" class="outline-2">
|
||||
<h2 id="org977fbb8">-</h2>
|
||||
<div class="outline-text-2" id="text-org977fbb8">
|
||||
<p>
|
||||
The library should never make the calling programs abort, nor
|
||||
perform any input/output operations. This decision has to be taken
|
||||
@ -334,7 +334,7 @@ by the developer of the code calling the library.
|
||||
All the functions return with an exit code, defined as
|
||||
</p>
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c" id="orgefa2e9b"><span style="color: #a020f0;">typedef</span> <span style="color: #228b22;">int32_t</span> <span style="color: #228b22;">qmckl_exit_code</span>;
|
||||
<pre class="src src-c" id="orgcfb16ac"><span style="color: #a020f0;">typedef</span> <span style="color: #228b22;">int32_t</span> <span style="color: #228b22;">qmckl_exit_code</span>;
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
@ -351,7 +351,7 @@ error code is returned to the program.
|
||||
Here is the complete list of exit codes.
|
||||
</p>
|
||||
|
||||
<table id="org1beff46" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orge70dfc9" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -553,8 +553,8 @@ string is assumed to be large enough to contain the error message
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9e4bec3" class="outline-2">
|
||||
<h2 id="org9e4bec3"><span class="section-number-2">1</span> Decoding errors</h2>
|
||||
<div id="outline-container-orgdd9256e" class="outline-2">
|
||||
<h2 id="orgdd9256e"><span class="section-number-2">1</span> Decoding errors</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
To decode the error messages, <code>qmckl_string_of_error</code> converts an
|
||||
@ -572,8 +572,8 @@ The text strings are extracted from the previous table.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org519f1d7" class="outline-2">
|
||||
<h2 id="org519f1d7"><span class="section-number-2">2</span> Data structure in context</h2>
|
||||
<div id="outline-container-orgc18ade0" class="outline-2">
|
||||
<h2 id="orgc18ade0"><span class="section-number-2">2</span> Data structure in context</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
<p>
|
||||
The strings are declared internally with a maximum fixed size to avoid
|
||||
@ -596,8 +596,8 @@ dynamic memory allocation.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb2a2716" class="outline-2">
|
||||
<h2 id="orgb2a2716"><span class="section-number-2">3</span> Updating errors in the context</h2>
|
||||
<div id="outline-container-org07e0bb7" class="outline-2">
|
||||
<h2 id="org07e0bb7"><span class="section-number-2">3</span> Updating errors in the context</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
<p>
|
||||
The error is updated in the context using <code>qmckl_set_error</code>.
|
||||
@ -616,8 +616,8 @@ explaining the error. The exit code can't be <code>QMCKL_SUCCESS</code>.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org42d482d" class="outline-2">
|
||||
<h2 id="org42d482d"><span class="section-number-2">4</span> Get the error</h2>
|
||||
<div id="outline-container-org88ff5e0" class="outline-2">
|
||||
<h2 id="org88ff5e0"><span class="section-number-2">4</span> Get the error</h2>
|
||||
<div class="outline-text-2" id="text-4">
|
||||
<p>
|
||||
Upon error, the error type and message can be obtained from the
|
||||
@ -636,8 +636,8 @@ function name and message is mandatory.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org1e4fb4d" class="outline-2">
|
||||
<h2 id="org1e4fb4d"><span class="section-number-2">5</span> Failing</h2>
|
||||
<div id="outline-container-org0bc7314" class="outline-2">
|
||||
<h2 id="org0bc7314"><span class="section-number-2">5</span> Failing</h2>
|
||||
<div class="outline-text-2" id="text-5">
|
||||
<p>
|
||||
To make a function fail, the <code>qmckl_failwith</code> function should be
|
||||
@ -676,7 +676,7 @@ For example, this function can be used as
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-03-21 Mon 17:34</p>
|
||||
<p class="date">Created: 2022-03-28 Mon 15:59</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -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-03-21 Mon 17:34 -->
|
||||
<!-- 2022-03-28 Mon 15:59 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Jastrow Factor</title>
|
||||
@ -333,105 +333,105 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org21ed892">1. Introduction</a></li>
|
||||
<li><a href="#org310d951">2. Context</a>
|
||||
<li><a href="#org950ed9f">1. Introduction</a></li>
|
||||
<li><a href="#orgf0f24ba">2. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org7ccb09c">2.1. Data structure</a></li>
|
||||
<li><a href="#org2fc0ffc">2.2. Access functions</a></li>
|
||||
<li><a href="#org69726c4">2.3. Initialization functions</a></li>
|
||||
<li><a href="#orgbe6640f">2.4. Test</a></li>
|
||||
<li><a href="#org106c964">2.1. Data structure</a></li>
|
||||
<li><a href="#org67d3e52">2.2. Access functions</a></li>
|
||||
<li><a href="#org150f8e7">2.3. Initialization functions</a></li>
|
||||
<li><a href="#org6426c9a">2.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org041563a">3. Computation</a>
|
||||
<li><a href="#org511c8a8">3. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#orgdd8b76f">3.1. Asymptotic component for \(J_{ee}\)</a>
|
||||
<li><a href="#org7e429c3">3.1. Asymptotic component for \(J_{ee}\)</a>
|
||||
<ul>
|
||||
<li><a href="#orgb5251f5">3.1.1. Get</a></li>
|
||||
<li><a href="#org73b4572">3.1.2. Compute</a></li>
|
||||
<li><a href="#orgb07f358">3.1.3. Test</a></li>
|
||||
<li><a href="#org0c101aa">3.1.1. Get</a></li>
|
||||
<li><a href="#org7eb9a41">3.1.2. Compute</a></li>
|
||||
<li><a href="#orgf427190">3.1.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org65452ff">3.2. Electron-electron component \(f_{ee}\)</a>
|
||||
<li><a href="#org06ca38b">3.2. Electron-electron component \(f_{ee}\)</a>
|
||||
<ul>
|
||||
<li><a href="#org4577b7e">3.2.1. Get</a></li>
|
||||
<li><a href="#orga144bec">3.2.2. Compute</a></li>
|
||||
<li><a href="#org79dd989">3.2.3. Test</a></li>
|
||||
<li><a href="#org69a75cf">3.2.1. Get</a></li>
|
||||
<li><a href="#orgffec99e">3.2.2. Compute</a></li>
|
||||
<li><a href="#orged24fe5">3.2.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org81c1376">3.3. Electron-electron component derivative \(f'_{ee}\)</a>
|
||||
<li><a href="#orge2f9be1">3.3. Electron-electron component derivative \(f'_{ee}\)</a>
|
||||
<ul>
|
||||
<li><a href="#orgecd7f8a">3.3.1. Get</a></li>
|
||||
<li><a href="#orgd867d30">3.3.2. Compute</a></li>
|
||||
<li><a href="#orgb6737b2">3.3.3. Test</a></li>
|
||||
<li><a href="#org8d4b79d">3.3.1. Get</a></li>
|
||||
<li><a href="#org5a3760a">3.3.2. Compute</a></li>
|
||||
<li><a href="#org3b02a52">3.3.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org9c482c3">3.4. Electron-nucleus component \(f_{en}\)</a>
|
||||
<li><a href="#orge17c511">3.4. Electron-nucleus component \(f_{en}\)</a>
|
||||
<ul>
|
||||
<li><a href="#orgdcfefa4">3.4.1. Get</a></li>
|
||||
<li><a href="#orgbb83945">3.4.2. Compute</a></li>
|
||||
<li><a href="#org242af11">3.4.3. Test</a></li>
|
||||
<li><a href="#org9430b35">3.4.1. Get</a></li>
|
||||
<li><a href="#org9e3ff29">3.4.2. Compute</a></li>
|
||||
<li><a href="#orgd9fe696">3.4.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org1f2ef97">3.5. Electron-nucleus component derivative \(f'_{en}\)</a>
|
||||
<li><a href="#org37a47b0">3.5. Electron-nucleus component derivative \(f'_{en}\)</a>
|
||||
<ul>
|
||||
<li><a href="#org47cbec2">3.5.1. Get</a></li>
|
||||
<li><a href="#orgb6caf58">3.5.2. Compute</a></li>
|
||||
<li><a href="#org85a9fd0">3.5.3. Test</a></li>
|
||||
<li><a href="#org3703c95">3.5.1. Get</a></li>
|
||||
<li><a href="#orgaa3747b">3.5.2. Compute</a></li>
|
||||
<li><a href="#orgdefb744">3.5.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgbf57d7a">3.6. Electron-electron rescaled distances for each order</a>
|
||||
<li><a href="#org0ec4c76">3.6. Electron-electron rescaled distances for each order</a>
|
||||
<ul>
|
||||
<li><a href="#orga4f9f62">3.6.1. Get</a></li>
|
||||
<li><a href="#org6cc9cd3">3.6.2. Compute</a></li>
|
||||
<li><a href="#orgbab7c6b">3.6.3. Test</a></li>
|
||||
<li><a href="#orgb2134bc">3.6.1. Get</a></li>
|
||||
<li><a href="#org4aeb1a8">3.6.2. Compute</a></li>
|
||||
<li><a href="#org8c033de">3.6.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orge968727">3.7. Electron-electron rescaled distances for each order and derivatives</a>
|
||||
<li><a href="#orgdcd9c80">3.7. Electron-electron rescaled distances for each order and derivatives</a>
|
||||
<ul>
|
||||
<li><a href="#org370f4c2">3.7.1. Get</a></li>
|
||||
<li><a href="#orgf9b8acc">3.7.2. Compute</a></li>
|
||||
<li><a href="#orgee405e1">3.7.3. Test</a></li>
|
||||
<li><a href="#orgf812063">3.7.1. Get</a></li>
|
||||
<li><a href="#orgeed7964">3.7.2. Compute</a></li>
|
||||
<li><a href="#org44815b1">3.7.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org62ce052">3.8. Electron-nucleus rescaled distances for each order</a>
|
||||
<li><a href="#orgcc32b66">3.8. Electron-nucleus rescaled distances for each order</a>
|
||||
<ul>
|
||||
<li><a href="#org57e62dd">3.8.1. Get</a></li>
|
||||
<li><a href="#org6ebd272">3.8.2. Compute</a></li>
|
||||
<li><a href="#org4969a02">3.8.3. Test</a></li>
|
||||
<li><a href="#org82daf42">3.8.1. Get</a></li>
|
||||
<li><a href="#org4150bb3">3.8.2. Compute</a></li>
|
||||
<li><a href="#org3793de2">3.8.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org74c8ba4">3.9. Electron-nucleus rescaled distances for each order and derivatives</a>
|
||||
<li><a href="#org77c0bca">3.9. Electron-nucleus rescaled distances for each order and derivatives</a>
|
||||
<ul>
|
||||
<li><a href="#orgc7235d4">3.9.1. Get</a></li>
|
||||
<li><a href="#org2b29571">3.9.2. Compute</a></li>
|
||||
<li><a href="#orgad7525e">3.9.3. Test</a></li>
|
||||
<li><a href="#org7a65dad">3.9.1. Get</a></li>
|
||||
<li><a href="#orgb791ddd">3.9.2. Compute</a></li>
|
||||
<li><a href="#orgd298688">3.9.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org2f17990">3.10. Prepare for electron-electron-nucleus Jastrow \(f_{een}\)</a>
|
||||
<li><a href="#org6294fae">3.10. Prepare for electron-electron-nucleus Jastrow \(f_{een}\)</a>
|
||||
<ul>
|
||||
<li><a href="#orgb204ede">3.10.1. Get</a></li>
|
||||
<li><a href="#org8a43c8e">3.10.2. Compute dim<sub>cord</sub><sub>vect</sub></a></li>
|
||||
<li><a href="#org7d80c5d">3.10.3. Compute cord<sub>vect</sub><sub>full</sub></a></li>
|
||||
<li><a href="#orgff141fd">3.10.4. Compute lkpm<sub>combined</sub><sub>index</sub></a></li>
|
||||
<li><a href="#orgd0cf1b2">3.10.5. Compute tmp<sub>c</sub></a></li>
|
||||
<li><a href="#org3b34ec8">3.10.6. Compute dtmp<sub>c</sub></a></li>
|
||||
<li><a href="#org99d39d1">3.10.7. Test</a></li>
|
||||
<li><a href="#org4744991">3.10.1. Get</a></li>
|
||||
<li><a href="#org8641b43">3.10.2. Compute dim<sub>cord</sub><sub>vect</sub></a></li>
|
||||
<li><a href="#orgfac7d97">3.10.3. Compute cord<sub>vect</sub><sub>full</sub></a></li>
|
||||
<li><a href="#orgb4c231a">3.10.4. Compute lkpm<sub>combined</sub><sub>index</sub></a></li>
|
||||
<li><a href="#org400c327">3.10.5. Compute tmp<sub>c</sub></a></li>
|
||||
<li><a href="#org9510778">3.10.6. Compute dtmp<sub>c</sub></a></li>
|
||||
<li><a href="#org6e08722">3.10.7. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgb895df6">3.11. Electron-electron-nucleus Jastrow \(f_{een}\)</a>
|
||||
<li><a href="#orgd1b538b">3.11. Electron-electron-nucleus Jastrow \(f_{een}\)</a>
|
||||
<ul>
|
||||
<li><a href="#org0e643a5">3.11.1. Get</a></li>
|
||||
<li><a href="#orgc0abe51">3.11.2. Compute naive</a></li>
|
||||
<li><a href="#orgddc98d3">3.11.3. Compute</a></li>
|
||||
<li><a href="#org7c018e8">3.11.4. Test</a></li>
|
||||
<li><a href="#org3c06c3b">3.11.1. Get</a></li>
|
||||
<li><a href="#org0898bc7">3.11.2. Compute naive</a></li>
|
||||
<li><a href="#orgf524f71">3.11.3. Compute</a></li>
|
||||
<li><a href="#orgacbaaa4">3.11.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgd963d2c">3.12. Electron-electron-nucleus Jastrow \(f_{een}\) derivative</a>
|
||||
<li><a href="#orgb11427e">3.12. Electron-electron-nucleus Jastrow \(f_{een}\) derivative</a>
|
||||
<ul>
|
||||
<li><a href="#org7bfb14a">3.12.1. Get</a></li>
|
||||
<li><a href="#org29065a1">3.12.2. Compute Naive</a></li>
|
||||
<li><a href="#orgb587eef">3.12.3. Compute</a></li>
|
||||
<li><a href="#orgfa4abb2">3.12.4. Test</a></li>
|
||||
<li><a href="#org5fcc3ad">3.12.1. Get</a></li>
|
||||
<li><a href="#orga7c8ffc">3.12.2. Compute Naive</a></li>
|
||||
<li><a href="#org9da8fef">3.12.3. Compute</a></li>
|
||||
<li><a href="#orge156337">3.12.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -440,8 +440,8 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org21ed892" class="outline-2">
|
||||
<h2 id="org21ed892"><span class="section-number-2">1</span> Introduction</h2>
|
||||
<div id="outline-container-org950ed9f" class="outline-2">
|
||||
<h2 id="org950ed9f"><span class="section-number-2">1</span> Introduction</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
The Jastrow factor depends on the electronic (\(\mathbf{r}\)) and
|
||||
@ -523,14 +523,14 @@ The terms \(J_{\text{ee}}^\infty\) and \(J_{\text{eN}}^\infty\) are shifts to en
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org310d951" class="outline-2">
|
||||
<h2 id="org310d951"><span class="section-number-2">2</span> Context</h2>
|
||||
<div id="outline-container-orgf0f24ba" class="outline-2">
|
||||
<h2 id="orgf0f24ba"><span class="section-number-2">2</span> Context</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
<p>
|
||||
The following data stored in the context:
|
||||
</p>
|
||||
|
||||
<table id="org618d34f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org8e58a76" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -855,8 +855,8 @@ computed data:
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7ccb09c" class="outline-3">
|
||||
<h3 id="org7ccb09c"><span class="section-number-3">2.1</span> Data structure</h3>
|
||||
<div id="outline-container-org106c964" class="outline-3">
|
||||
<h3 id="org106c964"><span class="section-number-3">2.1</span> Data structure</h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #a020f0;">typedef</span> <span style="color: #a020f0;">struct</span> <span style="color: #228b22;">qmckl_jastrow_struct</span>{
|
||||
@ -943,8 +943,8 @@ this mechanism.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2fc0ffc" class="outline-3">
|
||||
<h3 id="org2fc0ffc"><span class="section-number-3">2.2</span> Access functions</h3>
|
||||
<div id="outline-container-org67d3e52" class="outline-3">
|
||||
<h3 id="org67d3e52"><span class="section-number-3">2.2</span> Access functions</h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
<p>
|
||||
Along with these core functions, calculation of the jastrow factor
|
||||
@ -964,8 +964,8 @@ function returns <code>true</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org69726c4" class="outline-3">
|
||||
<h3 id="org69726c4"><span class="section-number-3">2.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-org150f8e7" class="outline-3">
|
||||
<h3 id="org150f8e7"><span class="section-number-3">2.3</span> Initialization functions</h3>
|
||||
<div class="outline-text-3" id="text-2-3">
|
||||
<p>
|
||||
To prepare for the Jastrow and its derivative, all the following functions need to be
|
||||
@ -990,8 +990,8 @@ are precontracted using BLAS LEVEL 3 operations for an optimal flop count.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbe6640f" class="outline-3">
|
||||
<h3 id="orgbe6640f"><span class="section-number-3">2.4</span> Test</h3>
|
||||
<div id="outline-container-org6426c9a" class="outline-3">
|
||||
<h3 id="org6426c9a"><span class="section-number-3">2.4</span> Test</h3>
|
||||
<div class="outline-text-3" id="text-2-4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Reference input data </span>*/
|
||||
@ -1167,8 +1167,8 @@ rc = qmckl_get_nucleus_charge(context, nucl_charge2, nucl_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org041563a" class="outline-2">
|
||||
<h2 id="org041563a"><span class="section-number-2">3</span> Computation</h2>
|
||||
<div id="outline-container-org511c8a8" class="outline-2">
|
||||
<h2 id="org511c8a8"><span class="section-number-2">3</span> Computation</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
<p>
|
||||
The computed data is stored in the context so that it can be reused
|
||||
@ -1181,8 +1181,8 @@ current date is stored.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgdd8b76f" class="outline-3">
|
||||
<h3 id="orgdd8b76f"><span class="section-number-3">3.1</span> Asymptotic component for \(J_{ee}\)</h3>
|
||||
<div id="outline-container-org7e429c3" class="outline-3">
|
||||
<h3 id="org7e429c3"><span class="section-number-3">3.1</span> Asymptotic component for \(J_{ee}\)</h3>
|
||||
<div class="outline-text-3" id="text-3-1">
|
||||
<p>
|
||||
Calculate the asymptotic component <code>asymp_jasb</code> to be substracted from the final
|
||||
@ -1197,8 +1197,8 @@ via the <code>bord_vector</code> and the electron-electron rescale factor <code>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb5251f5" class="outline-4">
|
||||
<h4 id="orgb5251f5"><span class="section-number-4">3.1.1</span> Get</h4>
|
||||
<div id="outline-container-org0c101aa" class="outline-4">
|
||||
<h4 id="org0c101aa"><span class="section-number-4">3.1.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-3-1-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
|
||||
@ -1210,10 +1210,10 @@ via the <code>bord_vector</code> and the electron-electron rescale factor <code>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org73b4572" class="outline-4">
|
||||
<h4 id="org73b4572"><span class="section-number-4">3.1.2</span> Compute</h4>
|
||||
<div id="outline-container-org7eb9a41" class="outline-4">
|
||||
<h4 id="org7eb9a41"><span class="section-number-4">3.1.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-3-1-2">
|
||||
<table id="orge49ed1e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgc6ffd61" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1363,8 +1363,8 @@ via the <code>bord_vector</code> and the electron-electron rescale factor <code>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgb07f358" class="outline-4">
|
||||
<h4 id="orgb07f358"><span class="section-number-4">3.1.3</span> Test</h4>
|
||||
<div id="outline-container-orgf427190" class="outline-4">
|
||||
<h4 id="orgf427190"><span class="section-number-4">3.1.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-3-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #0000ff;">assert</span>(<span style="color: #228b22;">qmckl_electron_provided</span>(<span style="color: #a0522d;">context</span>));
|
||||
@ -1415,8 +1415,8 @@ rc = qmckl_get_jastrow_asymp_jasb(context, asymp_jasb,2);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org65452ff" class="outline-3">
|
||||
<h3 id="org65452ff"><span class="section-number-3">3.2</span> Electron-electron component \(f_{ee}\)</h3>
|
||||
<div id="outline-container-org06ca38b" class="outline-3">
|
||||
<h3 id="org06ca38b"><span class="section-number-3">3.2</span> Electron-electron component \(f_{ee}\)</h3>
|
||||
<div class="outline-text-3" id="text-3-2">
|
||||
<p>
|
||||
Calculate the electron-electron jastrow component <code>factor_ee</code> using the <code>asymp_jasb</code>
|
||||
@ -1431,8 +1431,8 @@ f_{ee} = \sum_{i,j<i} \left\{ \frac{ \eta B_0 C_{ij}}{1 - B_1 C_{ij}} - J_{asym
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org4577b7e" class="outline-4">
|
||||
<h4 id="org4577b7e"><span class="section-number-4">3.2.1</span> Get</h4>
|
||||
<div id="outline-container-org69a75cf" class="outline-4">
|
||||
<h4 id="org69a75cf"><span class="section-number-4">3.2.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-3-2-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
|
||||
@ -1444,10 +1444,10 @@ f_{ee} = \sum_{i,j<i} \left\{ \frac{ \eta B_0 C_{ij}}{1 - B_1 C_{ij}} - J_{asym
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga144bec" class="outline-4">
|
||||
<h4 id="orga144bec"><span class="section-number-4">3.2.2</span> Compute</h4>
|
||||
<div id="outline-container-orgffec99e" class="outline-4">
|
||||
<h4 id="orgffec99e"><span class="section-number-4">3.2.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-3-2-2">
|
||||
<table id="org48b7dbc" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org138c139" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1622,8 +1622,8 @@ f_{ee} = \sum_{i,j<i} \left\{ \frac{ \eta B_0 C_{ij}}{1 - B_1 C_{ij}} - J_{asym
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org79dd989" class="outline-4">
|
||||
<h4 id="org79dd989"><span class="section-number-4">3.2.3</span> Test</h4>
|
||||
<div id="outline-container-orged24fe5" class="outline-4">
|
||||
<h4 id="orged24fe5"><span class="section-number-4">3.2.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-3-2-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Check if Jastrow is properly initialized </span>*/
|
||||
@ -1641,8 +1641,8 @@ rc = qmckl_get_jastrow_factor_ee(context, factor_ee, walk_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org81c1376" class="outline-3">
|
||||
<h3 id="org81c1376"><span class="section-number-3">3.3</span> Electron-electron component derivative \(f'_{ee}\)</h3>
|
||||
<div id="outline-container-orge2f9be1" class="outline-3">
|
||||
<h3 id="orge2f9be1"><span class="section-number-3">3.3</span> Electron-electron component derivative \(f'_{ee}\)</h3>
|
||||
<div class="outline-text-3" id="text-3-3">
|
||||
<p>
|
||||
Calculate the derivative of the <code>factor_ee</code> using the <code>ee_distance_rescaled</code> and
|
||||
@ -1657,8 +1657,8 @@ TODO: Add equation
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgecd7f8a" class="outline-4">
|
||||
<h4 id="orgecd7f8a"><span class="section-number-4">3.3.1</span> Get</h4>
|
||||
<div id="outline-container-org8d4b79d" class="outline-4">
|
||||
<h4 id="org8d4b79d"><span class="section-number-4">3.3.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-3-3-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
|
||||
@ -1670,10 +1670,10 @@ TODO: Add equation
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd867d30" class="outline-4">
|
||||
<h4 id="orgd867d30"><span class="section-number-4">3.3.2</span> Compute</h4>
|
||||
<div id="outline-container-org5a3760a" class="outline-4">
|
||||
<h4 id="org5a3760a"><span class="section-number-4">3.3.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-3-3-2">
|
||||
<table id="org8f00be0" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgbd9c69d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1889,8 +1889,8 @@ TODO: Add equation
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgb6737b2" class="outline-4">
|
||||
<h4 id="orgb6737b2"><span class="section-number-4">3.3.3</span> Test</h4>
|
||||
<div id="outline-container-org3b02a52" class="outline-4">
|
||||
<h4 id="org3b02a52"><span class="section-number-4">3.3.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-3-3-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Check if Jastrow is properly initialized </span>*/
|
||||
@ -1912,8 +1912,8 @@ rc = qmckl_get_jastrow_factor_ee_deriv_e(context, &(factor_ee_deriv_e[0][0][
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9c482c3" class="outline-3">
|
||||
<h3 id="org9c482c3"><span class="section-number-3">3.4</span> Electron-nucleus component \(f_{en}\)</h3>
|
||||
<div id="outline-container-orge17c511" class="outline-3">
|
||||
<h3 id="orge17c511"><span class="section-number-3">3.4</span> Electron-nucleus component \(f_{en}\)</h3>
|
||||
<div class="outline-text-3" id="text-3-4">
|
||||
<p>
|
||||
Calculate the electron-electron jastrow component <code>factor_en</code> using the <code>aord_vector</code>
|
||||
@ -1928,8 +1928,8 @@ f_{en} = \sum_{i,j<i} \left\{ \frac{ A_0 C_{ij}}{1 - A_1 C_{ij}} + \sum^{nord}_{
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgdcfefa4" class="outline-4">
|
||||
<h4 id="orgdcfefa4"><span class="section-number-4">3.4.1</span> Get</h4>
|
||||
<div id="outline-container-org9430b35" class="outline-4">
|
||||
<h4 id="org9430b35"><span class="section-number-4">3.4.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-3-4-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
|
||||
@ -1941,10 +1941,10 @@ f_{en} = \sum_{i,j<i} \left\{ \frac{ A_0 C_{ij}}{1 - A_1 C_{ij}} + \sum^{nord}_{
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbb83945" class="outline-4">
|
||||
<h4 id="orgbb83945"><span class="section-number-4">3.4.2</span> Compute</h4>
|
||||
<div id="outline-container-org9e3ff29" class="outline-4">
|
||||
<h4 id="org9e3ff29"><span class="section-number-4">3.4.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-3-4-2">
|
||||
<table id="org9c7deae" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org65a7248" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2126,8 +2126,8 @@ f_{en} = \sum_{i,j<i} \left\{ \frac{ A_0 C_{ij}}{1 - A_1 C_{ij}} + \sum^{nord}_{
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org242af11" class="outline-4">
|
||||
<h4 id="org242af11"><span class="section-number-4">3.4.3</span> Test</h4>
|
||||
<div id="outline-container-orgd9fe696" class="outline-4">
|
||||
<h4 id="orgd9fe696"><span class="section-number-4">3.4.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-3-4-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Check if Jastrow is properly initialized </span>*/
|
||||
@ -2145,8 +2145,8 @@ rc = qmckl_get_jastrow_factor_en(context, factor_en,walk_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1f2ef97" class="outline-3">
|
||||
<h3 id="org1f2ef97"><span class="section-number-3">3.5</span> Electron-nucleus component derivative \(f'_{en}\)</h3>
|
||||
<div id="outline-container-org37a47b0" class="outline-3">
|
||||
<h3 id="org37a47b0"><span class="section-number-3">3.5</span> Electron-nucleus component derivative \(f'_{en}\)</h3>
|
||||
<div class="outline-text-3" id="text-3-5">
|
||||
<p>
|
||||
Calculate the electron-electron jastrow component <code>factor_en_deriv_e</code> derivative
|
||||
@ -2159,8 +2159,8 @@ TODO: write equations.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org47cbec2" class="outline-4">
|
||||
<h4 id="org47cbec2"><span class="section-number-4">3.5.1</span> Get</h4>
|
||||
<div id="outline-container-org3703c95" class="outline-4">
|
||||
<h4 id="org3703c95"><span class="section-number-4">3.5.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-3-5-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
|
||||
@ -2172,10 +2172,10 @@ TODO: write equations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb6caf58" class="outline-4">
|
||||
<h4 id="orgb6caf58"><span class="section-number-4">3.5.2</span> Compute</h4>
|
||||
<div id="outline-container-orgaa3747b" class="outline-4">
|
||||
<h4 id="orgaa3747b"><span class="section-number-4">3.5.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-3-5-2">
|
||||
<table id="org267938c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgad7395d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2396,8 +2396,8 @@ TODO: write equations.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org85a9fd0" class="outline-4">
|
||||
<h4 id="org85a9fd0"><span class="section-number-4">3.5.3</span> Test</h4>
|
||||
<div id="outline-container-orgdefb744" class="outline-4">
|
||||
<h4 id="orgdefb744"><span class="section-number-4">3.5.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-3-5-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Check if Jastrow is properly initialized </span>*/
|
||||
@ -2419,8 +2419,8 @@ rc = qmckl_get_jastrow_factor_en_deriv_e(context, &(factor_en_deriv_e[0][0][
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbf57d7a" class="outline-3">
|
||||
<h3 id="orgbf57d7a"><span class="section-number-3">3.6</span> Electron-electron rescaled distances for each order</h3>
|
||||
<div id="outline-container-org0ec4c76" class="outline-3">
|
||||
<h3 id="org0ec4c76"><span class="section-number-3">3.6</span> Electron-electron rescaled distances for each order</h3>
|
||||
<div class="outline-text-3" id="text-3-6">
|
||||
<p>
|
||||
<code>een_rescaled_e</code> stores the table of the rescaled distances between all
|
||||
@ -2438,8 +2438,8 @@ where \(C_{ij}\) is the matrix of electron-electron distances.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga4f9f62" class="outline-4">
|
||||
<h4 id="orga4f9f62"><span class="section-number-4">3.6.1</span> Get</h4>
|
||||
<div id="outline-container-orgb2134bc" class="outline-4">
|
||||
<h4 id="orgb2134bc"><span class="section-number-4">3.6.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-3-6-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
|
||||
@ -2451,10 +2451,10 @@ where \(C_{ij}\) is the matrix of electron-electron distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6cc9cd3" class="outline-4">
|
||||
<h4 id="org6cc9cd3"><span class="section-number-4">3.6.2</span> Compute</h4>
|
||||
<div id="outline-container-org4aeb1a8" class="outline-4">
|
||||
<h4 id="org4aeb1a8"><span class="section-number-4">3.6.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-3-6-2">
|
||||
<table id="orgb9ef301" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org7e98c95" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2628,8 +2628,8 @@ where \(C_{ij}\) is the matrix of electron-electron distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbab7c6b" class="outline-4">
|
||||
<h4 id="orgbab7c6b"><span class="section-number-4">3.6.3</span> Test</h4>
|
||||
<div id="outline-container-org8c033de" class="outline-4">
|
||||
<h4 id="org8c033de"><span class="section-number-4">3.6.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-3-6-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #0000ff;">assert</span>(<span style="color: #228b22;">qmckl_electron_provided</span>(<span style="color: #a0522d;">context</span>));
|
||||
@ -2652,8 +2652,8 @@ rc = qmckl_get_jastrow_een_rescaled_e(context, &(een_rescaled_e[0][0][0][0])
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge968727" class="outline-3">
|
||||
<h3 id="orge968727"><span class="section-number-3">3.7</span> Electron-electron rescaled distances for each order and derivatives</h3>
|
||||
<div id="outline-container-orgdcd9c80" class="outline-3">
|
||||
<h3 id="orgdcd9c80"><span class="section-number-3">3.7</span> Electron-electron rescaled distances for each order and derivatives</h3>
|
||||
<div class="outline-text-3" id="text-3-7">
|
||||
<p>
|
||||
<code>een_rescaled_e_deriv_e</code> stores the table of the derivatives of the
|
||||
@ -2668,8 +2668,8 @@ TODO: write formulae
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org370f4c2" class="outline-4">
|
||||
<h4 id="org370f4c2"><span class="section-number-4">3.7.1</span> Get</h4>
|
||||
<div id="outline-container-orgf812063" class="outline-4">
|
||||
<h4 id="orgf812063"><span class="section-number-4">3.7.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-3-7-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
|
||||
@ -2681,10 +2681,10 @@ TODO: write formulae
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf9b8acc" class="outline-4">
|
||||
<h4 id="orgf9b8acc"><span class="section-number-4">3.7.2</span> Compute</h4>
|
||||
<div id="outline-container-orgeed7964" class="outline-4">
|
||||
<h4 id="orgeed7964"><span class="section-number-4">3.7.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-3-7-2">
|
||||
<table id="org5a0a295" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org5485d67" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2876,8 +2876,8 @@ TODO: write formulae
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgee405e1" class="outline-4">
|
||||
<h4 id="orgee405e1"><span class="section-number-4">3.7.3</span> Test</h4>
|
||||
<div id="outline-container-org44815b1" class="outline-4">
|
||||
<h4 id="org44815b1"><span class="section-number-4">3.7.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-3-7-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">//<span style="color: #b22222;">assert(qmckl_electron_provided(context));</span>
|
||||
@ -2899,8 +2899,8 @@ rc = qmckl_get_jastrow_een_rescaled_e_deriv_e(context,
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org62ce052" class="outline-3">
|
||||
<h3 id="org62ce052"><span class="section-number-3">3.8</span> Electron-nucleus rescaled distances for each order</h3>
|
||||
<div id="outline-container-orgcc32b66" class="outline-3">
|
||||
<h3 id="orgcc32b66"><span class="section-number-3">3.8</span> Electron-nucleus rescaled distances for each order</h3>
|
||||
<div class="outline-text-3" id="text-3-8">
|
||||
<p>
|
||||
<code>een_rescaled_n</code> stores the table of the rescaled distances between
|
||||
@ -2918,8 +2918,8 @@ where \(C_{ia}\) is the matrix of electron-nucleus distances.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org57e62dd" class="outline-4">
|
||||
<h4 id="org57e62dd"><span class="section-number-4">3.8.1</span> Get</h4>
|
||||
<div id="outline-container-org82daf42" class="outline-4">
|
||||
<h4 id="org82daf42"><span class="section-number-4">3.8.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-3-8-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
|
||||
@ -2931,10 +2931,10 @@ where \(C_{ia}\) is the matrix of electron-nucleus distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6ebd272" class="outline-4">
|
||||
<h4 id="org6ebd272"><span class="section-number-4">3.8.2</span> Compute</h4>
|
||||
<div id="outline-container-org4150bb3" class="outline-4">
|
||||
<h4 id="org4150bb3"><span class="section-number-4">3.8.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-3-8-2">
|
||||
<table id="org7c86619" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org25d5490" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3098,8 +3098,8 @@ where \(C_{ia}\) is the matrix of electron-nucleus distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4969a02" class="outline-4">
|
||||
<h4 id="org4969a02"><span class="section-number-4">3.8.3</span> Test</h4>
|
||||
<div id="outline-container-org3793de2" class="outline-4">
|
||||
<h4 id="org3793de2"><span class="section-number-4">3.8.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-3-8-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #0000ff;">assert</span>(<span style="color: #228b22;">qmckl_electron_provided</span>(<span style="color: #a0522d;">context</span>));
|
||||
@ -3122,8 +3122,8 @@ rc = qmckl_get_jastrow_een_rescaled_n(context, &(een_rescaled_n[0][0][0][0])
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org74c8ba4" class="outline-3">
|
||||
<h3 id="org74c8ba4"><span class="section-number-3">3.9</span> Electron-nucleus rescaled distances for each order and derivatives</h3>
|
||||
<div id="outline-container-org77c0bca" class="outline-3">
|
||||
<h3 id="org77c0bca"><span class="section-number-3">3.9</span> Electron-nucleus rescaled distances for each order and derivatives</h3>
|
||||
<div class="outline-text-3" id="text-3-9">
|
||||
<p>
|
||||
<code>een_rescaled_n_deriv_e</code> stores the table of the rescaled distances between
|
||||
@ -3132,8 +3132,8 @@ electrons and nucleii raised to the power \(p\) defined by <code>cord_num</code>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgc7235d4" class="outline-4">
|
||||
<h4 id="orgc7235d4"><span class="section-number-4">3.9.1</span> Get</h4>
|
||||
<div id="outline-container-org7a65dad" class="outline-4">
|
||||
<h4 id="org7a65dad"><span class="section-number-4">3.9.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-3-9-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
|
||||
@ -3145,10 +3145,10 @@ electrons and nucleii raised to the power \(p\) defined by <code>cord_num</code>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2b29571" class="outline-4">
|
||||
<h4 id="org2b29571"><span class="section-number-4">3.9.2</span> Compute</h4>
|
||||
<div id="outline-container-orgb791ddd" class="outline-4">
|
||||
<h4 id="orgb791ddd"><span class="section-number-4">3.9.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-3-9-2">
|
||||
<table id="org61a85b7" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orga595446" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3363,8 +3363,8 @@ electrons and nucleii raised to the power \(p\) defined by <code>cord_num</code>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgad7525e" class="outline-4">
|
||||
<h4 id="orgad7525e"><span class="section-number-4">3.9.3</span> Test</h4>
|
||||
<div id="outline-container-orgd298688" class="outline-4">
|
||||
<h4 id="orgd298688"><span class="section-number-4">3.9.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-3-9-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #0000ff;">assert</span>(<span style="color: #228b22;">qmckl_electron_provided</span>(<span style="color: #a0522d;">context</span>));
|
||||
@ -3387,8 +3387,8 @@ rc = qmckl_get_jastrow_een_rescaled_n_deriv_e(context, &(een_rescaled_n_deri
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2f17990" class="outline-3">
|
||||
<h3 id="org2f17990"><span class="section-number-3">3.10</span> Prepare for electron-electron-nucleus Jastrow \(f_{een}\)</h3>
|
||||
<div id="outline-container-org6294fae" class="outline-3">
|
||||
<h3 id="org6294fae"><span class="section-number-3">3.10</span> Prepare for electron-electron-nucleus Jastrow \(f_{een}\)</h3>
|
||||
<div class="outline-text-3" id="text-3-10">
|
||||
<p>
|
||||
Prepare <code>cord_vect_full</code> and <code>lkpm_combined_index</code> tables required for the
|
||||
@ -3397,8 +3397,8 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb204ede" class="outline-4">
|
||||
<h4 id="orgb204ede"><span class="section-number-4">3.10.1</span> Get</h4>
|
||||
<div id="outline-container-org4744991" class="outline-4">
|
||||
<h4 id="org4744991"><span class="section-number-4">3.10.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-3-10-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_jastrow_dim_cord_vect</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">int64_t</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">dim_cord_vect</span>);
|
||||
@ -3411,10 +3411,10 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8a43c8e" class="outline-4">
|
||||
<h4 id="org8a43c8e"><span class="section-number-4">3.10.2</span> Compute dim<sub>cord</sub><sub>vect</sub></h4>
|
||||
<div id="outline-container-org8641b43" class="outline-4">
|
||||
<h4 id="org8641b43"><span class="section-number-4">3.10.2</span> Compute dim<sub>cord</sub><sub>vect</sub></h4>
|
||||
<div class="outline-text-4" id="text-3-10-2">
|
||||
<table id="org46badae" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgc5477ca" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3512,10 +3512,10 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org7d80c5d" class="outline-4">
|
||||
<h4 id="org7d80c5d"><span class="section-number-4">3.10.3</span> Compute cord<sub>vect</sub><sub>full</sub></h4>
|
||||
<div id="outline-container-orgfac7d97" class="outline-4">
|
||||
<h4 id="orgfac7d97"><span class="section-number-4">3.10.3</span> Compute cord<sub>vect</sub><sub>full</sub></h4>
|
||||
<div class="outline-text-4" id="text-3-10-3">
|
||||
<table id="org43bd7af" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org3a70f9a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3649,10 +3649,10 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgff141fd" class="outline-4">
|
||||
<h4 id="orgff141fd"><span class="section-number-4">3.10.4</span> Compute lkpm<sub>combined</sub><sub>index</sub></h4>
|
||||
<div id="outline-container-orgb4c231a" class="outline-4">
|
||||
<h4 id="orgb4c231a"><span class="section-number-4">3.10.4</span> Compute lkpm<sub>combined</sub><sub>index</sub></h4>
|
||||
<div class="outline-text-4" id="text-3-10-4">
|
||||
<table id="org6d8ad8f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org9dbce75" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3770,10 +3770,10 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgd0cf1b2" class="outline-4">
|
||||
<h4 id="orgd0cf1b2"><span class="section-number-4">3.10.5</span> Compute tmp<sub>c</sub></h4>
|
||||
<div id="outline-container-org400c327" class="outline-4">
|
||||
<h4 id="org400c327"><span class="section-number-4">3.10.5</span> Compute tmp<sub>c</sub></h4>
|
||||
<div class="outline-text-4" id="text-3-10-5">
|
||||
<table id="orge7860c9" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orga1b844b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3936,10 +3936,10 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org3b34ec8" class="outline-4">
|
||||
<h4 id="org3b34ec8"><span class="section-number-4">3.10.6</span> Compute dtmp<sub>c</sub></h4>
|
||||
<div id="outline-container-org9510778" class="outline-4">
|
||||
<h4 id="org9510778"><span class="section-number-4">3.10.6</span> Compute dtmp<sub>c</sub></h4>
|
||||
<div class="outline-text-4" id="text-3-10-6">
|
||||
<table id="org148db3f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgce7dd74" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -4102,8 +4102,8 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org99d39d1" class="outline-4">
|
||||
<h4 id="org99d39d1"><span class="section-number-4">3.10.7</span> Test</h4>
|
||||
<div id="outline-container-org6e08722" class="outline-4">
|
||||
<h4 id="org6e08722"><span class="section-number-4">3.10.7</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-3-10-7">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #0000ff;">assert</span>(<span style="color: #228b22;">qmckl_electron_provided</span>(<span style="color: #a0522d;">context</span>));
|
||||
@ -4123,8 +4123,8 @@ rc = qmckl_get_jastrow_dtmp_c(context, &(dtmp_c[0][0][0][0][0][0]));
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb895df6" class="outline-3">
|
||||
<h3 id="orgb895df6"><span class="section-number-3">3.11</span> Electron-electron-nucleus Jastrow \(f_{een}\)</h3>
|
||||
<div id="outline-container-orgd1b538b" class="outline-3">
|
||||
<h3 id="orgd1b538b"><span class="section-number-3">3.11</span> Electron-electron-nucleus Jastrow \(f_{een}\)</h3>
|
||||
<div class="outline-text-3" id="text-3-11">
|
||||
<p>
|
||||
Calculate the electron-electron-nuclear three-body jastrow component <code>factor_een</code>
|
||||
@ -4136,8 +4136,8 @@ TODO: write equations.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0e643a5" class="outline-4">
|
||||
<h4 id="org0e643a5"><span class="section-number-4">3.11.1</span> Get</h4>
|
||||
<div id="outline-container-org3c06c3b" class="outline-4">
|
||||
<h4 id="org3c06c3b"><span class="section-number-4">3.11.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-3-11-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
|
||||
@ -4149,10 +4149,10 @@ TODO: write equations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc0abe51" class="outline-4">
|
||||
<h4 id="orgc0abe51"><span class="section-number-4">3.11.2</span> Compute naive</h4>
|
||||
<div id="outline-container-org0898bc7" class="outline-4">
|
||||
<h4 id="org0898bc7"><span class="section-number-4">3.11.2</span> Compute naive</h4>
|
||||
<div class="outline-text-4" id="text-3-11-2">
|
||||
<table id="orge9593af" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org8f2f737" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -4348,10 +4348,10 @@ TODO: write equations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgddc98d3" class="outline-4">
|
||||
<h4 id="orgddc98d3"><span class="section-number-4">3.11.3</span> Compute</h4>
|
||||
<div id="outline-container-orgf524f71" class="outline-4">
|
||||
<h4 id="orgf524f71"><span class="section-number-4">3.11.3</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-3-11-3">
|
||||
<table id="org277d8e2" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org29b73c9" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -4540,8 +4540,8 @@ TODO: write equations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7c018e8" class="outline-4">
|
||||
<h4 id="org7c018e8"><span class="section-number-4">3.11.4</span> Test</h4>
|
||||
<div id="outline-container-orgacbaaa4" class="outline-4">
|
||||
<h4 id="orgacbaaa4"><span class="section-number-4">3.11.4</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-3-11-4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Check if Jastrow is properly initialized </span>*/
|
||||
@ -4557,8 +4557,8 @@ rc = qmckl_get_jastrow_factor_een(context, &(factor_een[0]),walk_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd963d2c" class="outline-3">
|
||||
<h3 id="orgd963d2c"><span class="section-number-3">3.12</span> Electron-electron-nucleus Jastrow \(f_{een}\) derivative</h3>
|
||||
<div id="outline-container-orgb11427e" class="outline-3">
|
||||
<h3 id="orgb11427e"><span class="section-number-3">3.12</span> Electron-electron-nucleus Jastrow \(f_{een}\) derivative</h3>
|
||||
<div class="outline-text-3" id="text-3-12">
|
||||
<p>
|
||||
Calculate the electron-electron-nuclear three-body jastrow component <code>factor_een_deriv_e</code>
|
||||
@ -4570,8 +4570,8 @@ TODO: write equations.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7bfb14a" class="outline-4">
|
||||
<h4 id="org7bfb14a"><span class="section-number-4">3.12.1</span> Get</h4>
|
||||
<div id="outline-container-org5fcc3ad" class="outline-4">
|
||||
<h4 id="org5fcc3ad"><span class="section-number-4">3.12.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-3-12-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
|
||||
@ -4583,10 +4583,10 @@ TODO: write equations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org29065a1" class="outline-4">
|
||||
<h4 id="org29065a1"><span class="section-number-4">3.12.2</span> Compute Naive</h4>
|
||||
<div id="outline-container-orga7c8ffc" class="outline-4">
|
||||
<h4 id="orga7c8ffc"><span class="section-number-4">3.12.2</span> Compute Naive</h4>
|
||||
<div class="outline-text-4" id="text-3-12-2">
|
||||
<table id="orgd6e30e5" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgd1ef439" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -4819,10 +4819,10 @@ TODO: write equations.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgb587eef" class="outline-4">
|
||||
<h4 id="orgb587eef"><span class="section-number-4">3.12.3</span> Compute</h4>
|
||||
<div id="outline-container-org9da8fef" class="outline-4">
|
||||
<h4 id="org9da8fef"><span class="section-number-4">3.12.3</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-3-12-3">
|
||||
<table id="orge1f2e1b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org7428f41" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -5048,8 +5048,8 @@ TODO: write equations.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgfa4abb2" class="outline-4">
|
||||
<h4 id="orgfa4abb2"><span class="section-number-4">3.12.4</span> Test</h4>
|
||||
<div id="outline-container-orge156337" class="outline-4">
|
||||
<h4 id="orge156337"><span class="section-number-4">3.12.4</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-3-12-4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Check if Jastrow is properly initialized </span>*/
|
||||
@ -5068,7 +5068,7 @@ rc = qmckl_get_jastrow_factor_een_deriv_e(context, &(factor_een_deriv_e[0][0
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-03-21 Mon 17:34</p>
|
||||
<p class="date">Created: 2022-03-28 Mon 15:59</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -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-03-21 Mon 17:34 -->
|
||||
<!-- 2022-03-28 Mon 15:59 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Local Energy</title>
|
||||
@ -333,43 +333,43 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org49f3363">1. Context</a>
|
||||
<li><a href="#org6994c3d">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org32499e4">1.1. Data structure</a></li>
|
||||
<li><a href="#org5a6f464">1.1. Data structure</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgeb1b867">2. Computation</a>
|
||||
<li><a href="#orgc07fccf">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#orga30bff5">2.1. Kinetic energy</a>
|
||||
<li><a href="#orga7c2ca0">2.1. Kinetic energy</a>
|
||||
<ul>
|
||||
<li><a href="#org5f6464c">2.1.1. Get</a></li>
|
||||
<li><a href="#org4dcb3fd">2.1.2. Provide</a></li>
|
||||
<li><a href="#orgf37f850">2.1.3. Compute kinetic enregy</a></li>
|
||||
<li><a href="#orge5b5be3">2.1.4. Test</a></li>
|
||||
<li><a href="#orga79c04a">2.1.1. Get</a></li>
|
||||
<li><a href="#orge3efb0c">2.1.2. Provide</a></li>
|
||||
<li><a href="#orgd853846">2.1.3. Compute kinetic enregy</a></li>
|
||||
<li><a href="#org5e2a2d6">2.1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org93226e4">2.2. Potential energy</a>
|
||||
<li><a href="#org903480e">2.2. Potential energy</a>
|
||||
<ul>
|
||||
<li><a href="#orge03f555">2.2.1. Get</a></li>
|
||||
<li><a href="#org1e58841">2.2.2. Provide</a></li>
|
||||
<li><a href="#orga3dfb53">2.2.3. Compute potential enregy</a></li>
|
||||
<li><a href="#orgff25cbf">2.2.4. Test</a></li>
|
||||
<li><a href="#orga235789">2.2.1. Get</a></li>
|
||||
<li><a href="#org32bdc6e">2.2.2. Provide</a></li>
|
||||
<li><a href="#orgc6f0dee">2.2.3. Compute potential enregy</a></li>
|
||||
<li><a href="#org3e5cc04">2.2.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org8f0ced2">2.3. Local energy</a>
|
||||
<li><a href="#orgd02d3a2">2.3. Local energy</a>
|
||||
<ul>
|
||||
<li><a href="#orgdeb304c">2.3.1. Get</a></li>
|
||||
<li><a href="#org3c4897e">2.3.2. Provide</a></li>
|
||||
<li><a href="#orge82e071">2.3.3. Compute local enregy</a></li>
|
||||
<li><a href="#orgee221e7">2.3.4. Test</a></li>
|
||||
<li><a href="#orgde3998a">2.3.1. Get</a></li>
|
||||
<li><a href="#orgc840d56">2.3.2. Provide</a></li>
|
||||
<li><a href="#org4b208c3">2.3.3. Compute local enregy</a></li>
|
||||
<li><a href="#orgd04124d">2.3.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org839d079">2.4. Drift vector</a>
|
||||
<li><a href="#org3268b09">2.4. Drift vector</a>
|
||||
<ul>
|
||||
<li><a href="#org9e8f9f8">2.4.1. Get</a></li>
|
||||
<li><a href="#org242a83f">2.4.2. Provide</a></li>
|
||||
<li><a href="#orgeaa0dea">2.4.3. Compute drift vector</a></li>
|
||||
<li><a href="#org7f24508">2.4.4. Test</a></li>
|
||||
<li><a href="#org9dd1cb2">2.4.1. Get</a></li>
|
||||
<li><a href="#org54080bf">2.4.2. Provide</a></li>
|
||||
<li><a href="#org568ef88">2.4.3. Compute drift vector</a></li>
|
||||
<li><a href="#orgdaecb42">2.4.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -378,8 +378,8 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org49f3363" class="outline-2">
|
||||
<h2 id="org49f3363"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-org6994c3d" class="outline-2">
|
||||
<h2 id="org6994c3d"><span class="section-number-2">1</span> Context</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
The following arrays are stored in the context:
|
||||
@ -452,8 +452,8 @@ Computed data:
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org32499e4" class="outline-3">
|
||||
<h3 id="org32499e4"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-org5a6f464" class="outline-3">
|
||||
<h3 id="org5a6f464"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #a020f0;">typedef</span> <span style="color: #a020f0;">struct</span> <span style="color: #228b22;">qmckl_local_energy_struct</span> {
|
||||
@ -488,12 +488,12 @@ this mechanism.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgeb1b867" class="outline-2">
|
||||
<h2 id="orgeb1b867"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-orgc07fccf" class="outline-2">
|
||||
<h2 id="orgc07fccf"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-orga30bff5" class="outline-3">
|
||||
<h3 id="orga30bff5"><span class="section-number-3">2.1</span> Kinetic energy</h3>
|
||||
<div id="outline-container-orga7c2ca0" class="outline-3">
|
||||
<h3 id="orga7c2ca0"><span class="section-number-3">2.1</span> Kinetic energy</h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
<p>
|
||||
Where the kinetic energy is given as:
|
||||
@ -517,8 +517,8 @@ case is given as follows:
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5f6464c" class="outline-4">
|
||||
<h4 id="org5f6464c"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-orga79c04a" class="outline-4">
|
||||
<h4 id="orga79c04a"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-1-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_kinetic_energy</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">kinetic_energy</span>);
|
||||
@ -527,14 +527,14 @@ case is given as follows:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4dcb3fd" class="outline-4">
|
||||
<h4 id="org4dcb3fd"><span class="section-number-4">2.1.2</span> Provide</h4>
|
||||
<div id="outline-container-orge3efb0c" class="outline-4">
|
||||
<h4 id="orge3efb0c"><span class="section-number-4">2.1.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf37f850" class="outline-4">
|
||||
<h4 id="orgf37f850"><span class="section-number-4">2.1.3</span> Compute kinetic enregy</h4>
|
||||
<div id="outline-container-orgd853846" class="outline-4">
|
||||
<h4 id="orgd853846"><span class="section-number-4">2.1.3</span> Compute kinetic enregy</h4>
|
||||
<div class="outline-text-4" id="text-2-1-3">
|
||||
<table id="orge2e79f7" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org0efd195" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -763,12 +763,12 @@ case is given as follows:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge5b5be3" class="outline-4">
|
||||
<h4 id="orge5b5be3"><span class="section-number-4">2.1.4</span> Test</h4>
|
||||
<div id="outline-container-org5e2a2d6" class="outline-4">
|
||||
<h4 id="org5e2a2d6"><span class="section-number-4">2.1.4</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org93226e4" class="outline-3">
|
||||
<h3 id="org93226e4"><span class="section-number-3">2.2</span> Potential energy</h3>
|
||||
<div id="outline-container-org903480e" class="outline-3">
|
||||
<h3 id="org903480e"><span class="section-number-3">2.2</span> Potential energy</h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
<p>
|
||||
The potential energy is the sum of all the following terms
|
||||
@ -804,8 +804,8 @@ contributions.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge03f555" class="outline-4">
|
||||
<h4 id="orge03f555"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div id="outline-container-orga235789" class="outline-4">
|
||||
<h4 id="orga235789"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-2-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_potential_energy</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">potential_energy</span>);
|
||||
@ -814,14 +814,14 @@ contributions.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1e58841" class="outline-4">
|
||||
<h4 id="org1e58841"><span class="section-number-4">2.2.2</span> Provide</h4>
|
||||
<div id="outline-container-org32bdc6e" class="outline-4">
|
||||
<h4 id="org32bdc6e"><span class="section-number-4">2.2.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga3dfb53" class="outline-4">
|
||||
<h4 id="orga3dfb53"><span class="section-number-4">2.2.3</span> Compute potential enregy</h4>
|
||||
<div id="outline-container-orgc6f0dee" class="outline-4">
|
||||
<h4 id="orgc6f0dee"><span class="section-number-4">2.2.3</span> Compute potential enregy</h4>
|
||||
<div class="outline-text-4" id="text-2-2-3">
|
||||
<table id="orgb0c212f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org0d2ba1c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -949,12 +949,12 @@ contributions.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgff25cbf" class="outline-4">
|
||||
<h4 id="orgff25cbf"><span class="section-number-4">2.2.4</span> Test</h4>
|
||||
<div id="outline-container-org3e5cc04" class="outline-4">
|
||||
<h4 id="org3e5cc04"><span class="section-number-4">2.2.4</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org8f0ced2" class="outline-3">
|
||||
<h3 id="org8f0ced2"><span class="section-number-3">2.3</span> Local energy</h3>
|
||||
<div id="outline-container-orgd02d3a2" class="outline-3">
|
||||
<h3 id="orgd02d3a2"><span class="section-number-3">2.3</span> Local energy</h3>
|
||||
<div class="outline-text-3" id="text-2-3">
|
||||
<p>
|
||||
The local energy is the sum of kinetic and potential energies.
|
||||
@ -968,8 +968,8 @@ E_L = KE + PE
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgdeb304c" class="outline-4">
|
||||
<h4 id="orgdeb304c"><span class="section-number-4">2.3.1</span> Get</h4>
|
||||
<div id="outline-container-orgde3998a" class="outline-4">
|
||||
<h4 id="orgde3998a"><span class="section-number-4">2.3.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-3-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_local_energy</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">local_energy</span>);
|
||||
@ -978,14 +978,14 @@ E_L = KE + PE
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3c4897e" class="outline-4">
|
||||
<h4 id="org3c4897e"><span class="section-number-4">2.3.2</span> Provide</h4>
|
||||
<div id="outline-container-orgc840d56" class="outline-4">
|
||||
<h4 id="orgc840d56"><span class="section-number-4">2.3.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge82e071" class="outline-4">
|
||||
<h4 id="orge82e071"><span class="section-number-4">2.3.3</span> Compute local enregy</h4>
|
||||
<div id="outline-container-org4b208c3" class="outline-4">
|
||||
<h4 id="org4b208c3"><span class="section-number-4">2.3.3</span> Compute local enregy</h4>
|
||||
<div class="outline-text-4" id="text-2-3-3">
|
||||
<table id="orgb036500" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgb71f7fd" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1081,12 +1081,12 @@ E_L = KE + PE
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgee221e7" class="outline-4">
|
||||
<h4 id="orgee221e7"><span class="section-number-4">2.3.4</span> Test</h4>
|
||||
<div id="outline-container-orgd04124d" class="outline-4">
|
||||
<h4 id="orgd04124d"><span class="section-number-4">2.3.4</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org839d079" class="outline-3">
|
||||
<h3 id="org839d079"><span class="section-number-3">2.4</span> Drift vector</h3>
|
||||
<div id="outline-container-org3268b09" class="outline-3">
|
||||
<h3 id="org3268b09"><span class="section-number-3">2.4</span> Drift vector</h3>
|
||||
<div class="outline-text-3" id="text-2-4">
|
||||
<p>
|
||||
The drift vector is calculated as the ration of the gradient
|
||||
@ -1100,8 +1100,8 @@ with the determinant of the wavefunction.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9e8f9f8" class="outline-4">
|
||||
<h4 id="org9e8f9f8"><span class="section-number-4">2.4.1</span> Get</h4>
|
||||
<div id="outline-container-org9dd1cb2" class="outline-4">
|
||||
<h4 id="org9dd1cb2"><span class="section-number-4">2.4.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-4-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_drift_vector</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">drift_vector</span>);
|
||||
@ -1110,14 +1110,14 @@ with the determinant of the wavefunction.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org242a83f" class="outline-4">
|
||||
<h4 id="org242a83f"><span class="section-number-4">2.4.2</span> Provide</h4>
|
||||
<div id="outline-container-org54080bf" class="outline-4">
|
||||
<h4 id="org54080bf"><span class="section-number-4">2.4.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgeaa0dea" class="outline-4">
|
||||
<h4 id="orgeaa0dea"><span class="section-number-4">2.4.3</span> Compute drift vector</h4>
|
||||
<div id="outline-container-org568ef88" class="outline-4">
|
||||
<h4 id="org568ef88"><span class="section-number-4">2.4.3</span> Compute drift vector</h4>
|
||||
<div class="outline-text-4" id="text-2-4-3">
|
||||
<table id="orga72fc36" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org5977054" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1338,15 +1338,15 @@ with the determinant of the wavefunction.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7f24508" class="outline-4">
|
||||
<h4 id="org7f24508"><span class="section-number-4">2.4.4</span> Test</h4>
|
||||
<div id="outline-container-orgdaecb42" class="outline-4">
|
||||
<h4 id="orgdaecb42"><span class="section-number-4">2.4.4</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-03-21 Mon 17:34</p>
|
||||
<p class="date">Created: 2022-03-28 Mon 15:59</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -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-03-21 Mon 17:34 -->
|
||||
<!-- 2022-03-28 Mon 15:59 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Memory management</title>
|
||||
@ -311,15 +311,15 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org4b47561">1. Memory data structure for the context</a></li>
|
||||
<li><a href="#org1db4778">2. Passing info to allocation routines</a></li>
|
||||
<li><a href="#orgd8f8192">3. Allocation/deallocation functions</a></li>
|
||||
<li><a href="#org62069fa">1. Memory data structure for the context</a></li>
|
||||
<li><a href="#org884df31">2. Passing info to allocation routines</a></li>
|
||||
<li><a href="#orgd83e378">3. Allocation/deallocation functions</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4b47561" class="outline-2">
|
||||
<h2 id="org4b47561"><span class="section-number-2">1</span> Memory data structure for the context</h2>
|
||||
<div id="outline-container-org62069fa" class="outline-2">
|
||||
<h2 id="org62069fa"><span class="section-number-2">1</span> Memory data structure for the context</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
Every time a new block of memory is allocated, the information
|
||||
@ -361,8 +361,8 @@ array, and the number of allocated blocks.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1db4778" class="outline-2">
|
||||
<h2 id="org1db4778"><span class="section-number-2">2</span> Passing info to allocation routines</h2>
|
||||
<div id="outline-container-org884df31" class="outline-2">
|
||||
<h2 id="org884df31"><span class="section-number-2">2</span> Passing info to allocation routines</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
<p>
|
||||
Passing information to the allocation routine should be done by
|
||||
@ -371,8 +371,8 @@ passing an instance of a <code>qmckl_memory_info_struct</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd8f8192" class="outline-2">
|
||||
<h2 id="orgd8f8192"><span class="section-number-2">3</span> Allocation/deallocation functions</h2>
|
||||
<div id="outline-container-orgd83e378" class="outline-2">
|
||||
<h2 id="orgd83e378"><span class="section-number-2">3</span> Allocation/deallocation functions</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
<p>
|
||||
Memory allocation inside the library should be done with
|
||||
@ -535,7 +535,7 @@ allocation and needs to be updated.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-03-21 Mon 17:34</p>
|
||||
<p class="date">Created: 2022-03-28 Mon 15:59</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
375
qmckl_mo.html
375
qmckl_mo.html
@ -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-03-21 Mon 17:34 -->
|
||||
<!-- 2022-03-28 Mon 15:59 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Molecular Orbitals</title>
|
||||
@ -311,21 +311,22 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org0c6fd69">1. Context</a>
|
||||
<li><a href="#orgde6dbe8">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org253346b">1.1. Data structure</a></li>
|
||||
<li><a href="#org40478e8">1.2. Access functions</a></li>
|
||||
<li><a href="#orga72a824">1.3. Initialization functions</a></li>
|
||||
<li><a href="#orgf9b5f47">1.1. Data structure</a></li>
|
||||
<li><a href="#org44a7ee4">1.2. Access functions</a></li>
|
||||
<li><a href="#orga87bb98">1.3. Initialization functions</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org7988667">2. Computation</a>
|
||||
<li><a href="#org2f28f37">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#orgf26327b">2.1. Computation of MOs</a>
|
||||
<li><a href="#org591bdcb">2.1. Computation of MOs</a>
|
||||
<ul>
|
||||
<li><a href="#org7ea7783">2.1.1. Get</a></li>
|
||||
<li><a href="#orgc69cde4">2.1.2. Provide</a></li>
|
||||
<li><a href="#org9e65119">2.1.3. Compute</a></li>
|
||||
<li><a href="#orgcf0d9ff">2.1.4. Test</a></li>
|
||||
<li><a href="#org12d69ef">2.1.1. Get</a></li>
|
||||
<li><a href="#orga9d3f4e">2.1.2. Provide</a></li>
|
||||
<li><a href="#orge8ee9ac">2.1.3. Compute</a></li>
|
||||
<li><a href="#org866a66b">2.1.4. HPC version</a></li>
|
||||
<li><a href="#org82c7a13">2.1.5. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -334,8 +335,8 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0c6fd69" class="outline-2">
|
||||
<h2 id="org0c6fd69"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-orgde6dbe8" class="outline-2">
|
||||
<h2 id="orgde6dbe8"><span class="section-number-2">1</span> Context</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
The following arrays are stored in the context:
|
||||
@ -364,6 +365,12 @@ The following arrays are stored in the context:
|
||||
<td class="org-left"><code>[mo_num][ao_num]</code></td>
|
||||
<td class="org-left">Orbital coefficients</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>coefficient_t</code></td>
|
||||
<td class="org-left"><code>[ao_num][mo_num]</code></td>
|
||||
<td class="org-left">Transposed of the Orbital coefficients</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
@ -397,15 +404,16 @@ Computed data:
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org253346b" class="outline-3">
|
||||
<h3 id="org253346b"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-orgf9b5f47" class="outline-3">
|
||||
<h3 id="orgf9b5f47"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #a020f0;">typedef</span> <span style="color: #a020f0;">struct</span> <span style="color: #228b22;">qmckl_mo_basis_struct</span> {
|
||||
<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">mo_num</span>;
|
||||
<span style="color: #228b22;">double</span> * <span style="color: #a0522d;">coefficient</span>;
|
||||
<span style="color: #228b22;">double</span> * <span style="color: #a020f0;">restrict</span> <span style="color: #a0522d;">coefficient</span>;
|
||||
<span style="color: #228b22;">double</span> * <span style="color: #a020f0;">restrict</span> <span style="color: #a0522d;">coefficient_t</span>;
|
||||
|
||||
<span style="color: #228b22;">double</span> * <span style="color: #a0522d;">mo_vgl</span>;
|
||||
<span style="color: #228b22;">double</span> * <span style="color: #a020f0;">restrict</span> <span style="color: #a0522d;">mo_vgl</span>;
|
||||
<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">mo_vgl_date</span>;
|
||||
|
||||
<span style="color: #228b22;">int32_t</span> <span style="color: #a0522d;">uninitialized</span>;
|
||||
@ -447,8 +455,8 @@ this mechanism.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org40478e8" class="outline-3">
|
||||
<h3 id="org40478e8"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-org44a7ee4" class="outline-3">
|
||||
<h3 id="org44a7ee4"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<p>
|
||||
When all the data for the AOs have been provided, the following
|
||||
@ -462,8 +470,8 @@ function returns <code>true</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga72a824" class="outline-3">
|
||||
<h3 id="orga72a824"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-orga87bb98" class="outline-3">
|
||||
<h3 id="orga87bb98"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div class="outline-text-3" id="text-1-3">
|
||||
<p>
|
||||
To set the basis set, all the following functions need to be
|
||||
@ -484,32 +492,47 @@ computed to accelerate the calculations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7988667" class="outline-2">
|
||||
<h2 id="org7988667"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-org2f28f37" class="outline-2">
|
||||
<h2 id="org2f28f37"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-orgf26327b" class="outline-3">
|
||||
<h3 id="orgf26327b"><span class="section-number-3">2.1</span> Computation of MOs</h3>
|
||||
<div id="outline-container-org591bdcb" class="outline-3">
|
||||
<h3 id="org591bdcb"><span class="section-number-3">2.1</span> Computation of MOs</h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
</div>
|
||||
<div id="outline-container-org7ea7783" class="outline-4">
|
||||
<h4 id="org7ea7783"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-org12d69ef" class="outline-4">
|
||||
<h4 id="org12d69ef"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-1-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_mo_basis_vgl</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">mo_vgl</span>);
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
|
||||
<span style="color: #0000ff;">qmckl_get_mo_basis_mo_vgl</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">mo_vgl</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">size_max</span>);
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
Uses the given array to compute the VGL.
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
|
||||
<span style="color: #0000ff;">qmckl_get_mo_basis_mo_vgl_inplace</span> (<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">mo_vgl</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">size_max</span>);
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc69cde4" class="outline-4">
|
||||
<h4 id="orgc69cde4"><span class="section-number-4">2.1.2</span> Provide</h4>
|
||||
<div id="outline-container-orga9d3f4e" class="outline-4">
|
||||
<h4 id="orga9d3f4e"><span class="section-number-4">2.1.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9e65119" class="outline-4">
|
||||
<h4 id="org9e65119"><span class="section-number-4">2.1.3</span> Compute</h4>
|
||||
<div id="outline-container-orge8ee9ac" class="outline-4">
|
||||
<h4 id="orge8ee9ac"><span class="section-number-4">2.1.3</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-1-3">
|
||||
<table id="orgd3b3b4f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org2027190" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -521,52 +544,60 @@ computed to accelerate the calculations.
|
||||
|
||||
<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">In/Out</th>
|
||||
<th scope="col" class="org-left">Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="org-left"><code>qmckl_context</code></td>
|
||||
<td class="org-left"><code>context</code></td>
|
||||
<td class="org-left"><code>qmckl_context</code></td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Global state</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>int64_t</code></td>
|
||||
<td class="org-left"><code>ao_num</code></td>
|
||||
<td class="org-left"><code>int64_t</code></td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Number of AOs</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>int64_t</code></td>
|
||||
<td class="org-left"><code>mo_num</code></td>
|
||||
<td class="org-left"><code>int64_t</code></td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Number of MOs</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>int64_t</code></td>
|
||||
<td class="org-left"><code>point_num</code></td>
|
||||
<td class="org-left"><code>int64_t</code></td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Number of points</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>double</code></td>
|
||||
<td class="org-left"><code>coef_normalized[mo_num][ao_num]</code></td>
|
||||
<td class="org-left"><code>coef_normalized_t</code></td>
|
||||
<td class="org-left"><code>double[mo_num][ao_num]</code></td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">AO to MO transformation matrix</td>
|
||||
<td class="org-left">Transpose of the AO to MO transformation matrix</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>double</code></td>
|
||||
<td class="org-left"><code>ao_vgl[point_num][5][ao_num]</code></td>
|
||||
<td class="org-left"><code>ao_vgl</code></td>
|
||||
<td class="org-left"><code>double[point_num][5][ao_num]</code></td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Value, gradients and Laplacian of the AOs</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>double</code></td>
|
||||
<td class="org-left"><code>mo_vgl[point_num][5][mo_num]</code></td>
|
||||
<td class="org-left"><code>mo_vgl</code></td>
|
||||
<td class="org-left"><code>double[point_num][5][mo_num]</code></td>
|
||||
<td class="org-left">out</td>
|
||||
<td class="org-left">Value, gradients and Laplacian of the MOs</td>
|
||||
</tr>
|
||||
@ -574,10 +605,18 @@ computed to accelerate the calculations.
|
||||
</table>
|
||||
|
||||
|
||||
<p>
|
||||
The matrix of AO values is very sparse, so we use a sparse-dense
|
||||
matrix multiplication instead of a dgemm, as exposed in
|
||||
<a href="https://dx.doi.org/10.1007/978-3-642-38718-0_14">https://dx.doi.org/10.1007/978-3-642-38718-0_14</a>.
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer</span><span style="color: #a0522d;"> function qmckl_compute_mo_basis_vgl_f(context, </span><span style="color: #a020f0;">&</span>
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer</span><span style="color: #a0522d;"> function qmckl_compute_mo_basis_mo_vgl_doc_f(context, </span><span style="color: #a020f0;">&</span>
|
||||
ao_num, mo_num, point_num, <span style="color: #a020f0;">&</span>
|
||||
coef_normalized, ao_vgl, mo_vgl) <span style="color: #a020f0;">&</span>
|
||||
coef_normalized_t, ao_vgl, mo_vgl) <span style="color: #a020f0;">&</span>
|
||||
<span style="color: #a020f0;">result</span>(info)
|
||||
<span style="color: #a020f0;">use</span> <span style="color: #0000ff;">qmckl</span>
|
||||
<span style="color: #a020f0;">implicit</span> <span style="color: #228b22;">none</span>
|
||||
@ -585,58 +624,236 @@ computed to accelerate the calculations.
|
||||
<span style="color: #228b22;">integer</span>*8 , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> ao_num, mo_num</span>
|
||||
<span style="color: #228b22;">integer</span>*8 , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> point_num</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> ao_vgl(ao_num,5,point_num)</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> coef_normalized(ao_num,mo_num)</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> coef_normalized_t(ao_num,mo_num)</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(out) ::<span style="color: #a0522d;"> mo_vgl(mo_num,5,point_num)</span>
|
||||
<span style="color: #228b22;">character</span> ::<span style="color: #a0522d;"> TransA, TransB</span>
|
||||
<span style="color: #228b22;">double precision</span> ::<span style="color: #a0522d;"> alpha, beta</span>
|
||||
<span style="color: #228b22;">integer</span>*8 ::<span style="color: #a0522d;"> M, N, K, LDA, LDB, LDC, i,j</span>
|
||||
<span style="color: #228b22;">integer</span> ::<span style="color: #a0522d;"> i,j,k</span>
|
||||
<span style="color: #228b22;">double precision</span> ::<span style="color: #a0522d;"> c1, c2, c3, c4, c5</span>
|
||||
|
||||
TransA = <span style="color: #8b2252;">'T'</span>
|
||||
TransB = <span style="color: #8b2252;">'N'</span>
|
||||
M = mo_num
|
||||
N = point_num*5_8
|
||||
K = <span style="color: #a020f0;">int</span>(ao_num,8)
|
||||
alpha = 1.d0
|
||||
beta = 0.d0
|
||||
LDA = <span style="color: #a020f0;">size</span>(coef_normalized,1)
|
||||
LDB = <span style="color: #a020f0;">size</span>(ao_vgl,1)
|
||||
LDC = <span style="color: #a020f0;">size</span>(mo_vgl,1)
|
||||
<span style="color: #a020f0;">do</span> j=1,point_num
|
||||
mo_vgl(:,:,j) = 0.d0
|
||||
<span style="color: #a020f0;">do</span> k=1,ao_num
|
||||
<span style="color: #a020f0;">if</span> (ao_vgl(k,1,j) /= 0.d0) <span style="color: #a020f0;">then</span>
|
||||
c1 = ao_vgl(k,1,j)
|
||||
c2 = ao_vgl(k,2,j)
|
||||
c3 = ao_vgl(k,3,j)
|
||||
c4 = ao_vgl(k,4,j)
|
||||
c5 = ao_vgl(k,5,j)
|
||||
<span style="color: #a020f0;">do</span> i=1,mo_num
|
||||
mo_vgl(i,1,j) = mo_vgl(i,1,j) + coef_normalized_t(i,k) * c1
|
||||
mo_vgl(i,2,j) = mo_vgl(i,2,j) + coef_normalized_t(i,k) * c2
|
||||
mo_vgl(i,3,j) = mo_vgl(i,3,j) + coef_normalized_t(i,k) * c3
|
||||
mo_vgl(i,4,j) = mo_vgl(i,4,j) + coef_normalized_t(i,k) * c4
|
||||
mo_vgl(i,5,j) = mo_vgl(i,5,j) + coef_normalized_t(i,k) * c5
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
<span style="color: #a020f0;">end if</span>
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
|
||||
info = qmckl_dgemm(context,TransA, TransB, M, N, K, alpha, <span style="color: #a020f0;">&</span>
|
||||
coef_normalized, <span style="color: #a020f0;">int</span>(<span style="color: #a020f0;">size</span>(coef_normalized,1),8), <span style="color: #a020f0;">&</span>
|
||||
ao_vgl, <span style="color: #a020f0;">int</span>(<span style="color: #a020f0;">size</span>(ao_vgl,1),8), beta, <span style="color: #a020f0;">&</span>
|
||||
mo_vgl,LDC)
|
||||
|
||||
info = QMCKL_SUCCESS
|
||||
|
||||
<span style="color: #a020f0;">end function</span> <span style="color: #0000ff;">qmckl_compute_mo_basis_vgl_f</span>
|
||||
<span style="color: #a020f0;">end function</span> <span style="color: #0000ff;">qmckl_compute_mo_basis_mo_vgl_doc_f</span>
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_compute_mo_basis_vgl</span> (
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">context</span> <span style="color: #a0522d;">qmckl_context</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">ao_num</span> <span style="color: #a0522d;">int64_t</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">mo_num</span> <span style="color: #a0522d;">int64_t</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">point_num</span> <span style="color: #a0522d;">int64_t</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">coef_normalized</span>* <span style="color: #228b22;">double</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">ao_vgl</span>* <span style="color: #228b22;">double</span>,
|
||||
<span style="color: #228b22;">mo_vgl</span>* <span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> );
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_compute_mo_basis_mo_vgl</span> (
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">ao_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">mo_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">point_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">coef_normalized_t</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">ao_vgl</span>,
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">mo_vgl</span> );
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_compute_mo_basis_mo_vgl_doc</span> (
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">ao_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">mo_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">point_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">coef_normalized_t</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">ao_vgl</span>,
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">mo_vgl</span> );
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
|
||||
<span style="color: #0000ff;">qmckl_compute_mo_basis_mo_vgl</span> (<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">ao_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">mo_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">point_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">coef_normalized_t</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">ao_vgl</span>,
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">mo_vgl</span> )
|
||||
{
|
||||
<span style="color: #483d8b;">#ifdef</span> HAVE_HPC
|
||||
<span style="color: #a020f0;">return</span> qmckl_compute_mo_basis_mo_vgl_hpc (context, ao_num, mo_num, point_num, coef_normalized_t, ao_vgl, mo_vgl);
|
||||
<span style="color: #483d8b;">#else</span>
|
||||
<span style="color: #a020f0;">return</span> qmckl_compute_mo_basis_mo_vgl_doc (context, ao_num, mo_num, point_num, coef_normalized_t, ao_vgl, mo_vgl);
|
||||
<span style="color: #483d8b;">#endif</span>
|
||||
}
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgcf0d9ff" class="outline-4">
|
||||
<h4 id="orgcf0d9ff"><span class="section-number-4">2.1.4</span> Test</h4>
|
||||
<div id="outline-container-org866a66b" class="outline-4">
|
||||
<h4 id="org866a66b"><span class="section-number-4">2.1.4</span> HPC version</h4>
|
||||
<div class="outline-text-4" id="text-2-1-4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #483d8b;">#ifdef</span> HAVE_HPC
|
||||
<span style="color: #228b22;">qmckl_exit_code</span>
|
||||
<span style="color: #0000ff;">qmckl_compute_mo_basis_mo_vgl_hpc</span> (<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">ao_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">mo_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">point_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">coef_normalized_t</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">ao_vgl</span>,
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">mo_vgl</span> );
|
||||
<span style="color: #483d8b;">#endif</span>
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #483d8b;">#ifdef</span> HAVE_HPC
|
||||
<span style="color: #228b22;">qmckl_exit_code</span>
|
||||
<span style="color: #0000ff;">qmckl_compute_mo_basis_mo_vgl_hpc</span> (<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">ao_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">mo_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">point_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">restrict</span> <span style="color: #a0522d;">coef_normalized_t</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">restrict</span> <span style="color: #a0522d;">ao_vgl</span>,
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a020f0;">restrict</span> <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">mo_vgl</span> )
|
||||
{
|
||||
<span style="color: #483d8b;">#ifdef</span> HAVE_OPENMP
|
||||
<span style="color: #483d8b;"> #pragma</span> omp parallel <span style="color: #a020f0;">for</span>
|
||||
<span style="color: #483d8b;">#endif</span>
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">ipoint</span>=0 ; ipoint < point_num ; ++ipoint) {
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a020f0;">restrict</span> <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">vgl1</span> = &(mo_vgl[ipoint*5*mo_num]);
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">restrict</span> <span style="color: #a0522d;">avgl1</span> = &(ao_vgl[ipoint*5*ao_num]);
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a020f0;">restrict</span> <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">vgl2</span> = vgl1 + mo_num;
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a020f0;">restrict</span> <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">vgl3</span> = vgl1 + (mo_num << 1);
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a020f0;">restrict</span> <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">vgl4</span> = vgl1 + (mo_num << 1) + mo_num;
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a020f0;">restrict</span> <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">vgl5</span> = vgl1 + (mo_num << 2);
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">restrict</span> <span style="color: #a0522d;">avgl2</span> = avgl1 + ao_num;
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">restrict</span> <span style="color: #a0522d;">avgl3</span> = avgl1 + (ao_num << 1);
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">restrict</span> <span style="color: #a0522d;">avgl4</span> = avgl1 + (ao_num << 1) + ao_num;
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">restrict</span> <span style="color: #a0522d;">avgl5</span> = avgl1 + (ao_num << 2);
|
||||
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">i</span>=0 ; i<mo_num ; ++i) {
|
||||
vgl1[i] = 0.;
|
||||
vgl2[i] = 0.;
|
||||
vgl3[i] = 0.;
|
||||
vgl4[i] = 0.;
|
||||
vgl5[i] = 0.;
|
||||
}
|
||||
|
||||
<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">nidx</span>=0;
|
||||
<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">idx</span>[ao_num];
|
||||
<span style="color: #228b22;">double</span> <span style="color: #a0522d;">av1</span>[ao_num];
|
||||
<span style="color: #228b22;">double</span> <span style="color: #a0522d;">av2</span>[ao_num];
|
||||
<span style="color: #228b22;">double</span> <span style="color: #a0522d;">av3</span>[ao_num];
|
||||
<span style="color: #228b22;">double</span> <span style="color: #a0522d;">av4</span>[ao_num];
|
||||
<span style="color: #228b22;">double</span> <span style="color: #a0522d;">av5</span>[ao_num];
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">k</span>=0 ; k<ao_num ; ++k) {
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">restrict</span> <span style="color: #a0522d;">ck1</span> = coef_normalized_t + k*mo_num;
|
||||
<span style="color: #a020f0;">if</span> (avgl1[k] != 0.) {
|
||||
idx[nidx] = k;
|
||||
av1[nidx] = avgl1[k];
|
||||
av2[nidx] = avgl2[k];
|
||||
av3[nidx] = avgl3[k];
|
||||
av4[nidx] = avgl4[k];
|
||||
av5[nidx] = avgl5[k];
|
||||
++nidx;
|
||||
}
|
||||
}
|
||||
|
||||
<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">n</span>;
|
||||
<span style="color: #a020f0;">for</span> (n=0 ; n < nidx-4 ; n+=4) {
|
||||
<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">k</span> = idx[n];
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">restrict</span> <span style="color: #a0522d;">ck1</span> = coef_normalized_t + idx[n ]*mo_num;
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">restrict</span> <span style="color: #a0522d;">ck2</span> = coef_normalized_t + idx[n+1]*mo_num;
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">restrict</span> <span style="color: #a0522d;">ck3</span> = coef_normalized_t + idx[n+2]*mo_num;
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">restrict</span> <span style="color: #a0522d;">ck4</span> = coef_normalized_t + idx[n+3]*mo_num;
|
||||
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">a11</span> = av1[n ];
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">a21</span> = av1[n+1];
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">a31</span> = av1[n+2];
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">a41</span> = av1[n+3];
|
||||
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">a12</span> = av2[n ];
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">a22</span> = av2[n+1];
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">a32</span> = av2[n+2];
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">a42</span> = av2[n+3];
|
||||
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">a13</span> = av3[n ];
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">a23</span> = av3[n+1];
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">a33</span> = av3[n+2];
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">a43</span> = av3[n+3];
|
||||
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">a14</span> = av4[n ];
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">a24</span> = av4[n+1];
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">a34</span> = av4[n+2];
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">a44</span> = av4[n+3];
|
||||
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">a15</span> = av5[n ];
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">a25</span> = av5[n+1];
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">a35</span> = av5[n+2];
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">a45</span> = av5[n+3];
|
||||
|
||||
<span style="color: #483d8b;">#ifdef</span> HAVE_OPENMP
|
||||
<span style="color: #483d8b;">#pragma</span> omp simd
|
||||
<span style="color: #483d8b;">#endif</span>
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">i</span>=0 ; i<mo_num ; ++i) {
|
||||
vgl1[i] = vgl1[i] + ck1[i] * a11 + ck2[i] * a21 + ck3[i] * a31 + ck4[i] * a41;
|
||||
vgl2[i] = vgl2[i] + ck1[i] * a12 + ck2[i] * a22 + ck3[i] * a32 + ck4[i] * a42;
|
||||
vgl3[i] = vgl3[i] + ck1[i] * a13 + ck2[i] * a23 + ck3[i] * a33 + ck4[i] * a43;
|
||||
vgl4[i] = vgl4[i] + ck1[i] * a14 + ck2[i] * a24 + ck3[i] * a34 + ck4[i] * a44;
|
||||
vgl5[i] = vgl5[i] + ck1[i] * a15 + ck2[i] * a25 + ck3[i] * a35 + ck4[i] * a45;
|
||||
}
|
||||
}
|
||||
|
||||
<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">n0</span> = nidx-4;
|
||||
n0 = n0 < 0 ? 0 : n0;
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">n</span>=n0 ; n < nidx ; n+=1) {
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">restrict</span> <span style="color: #a0522d;">ck</span> = coef_normalized_t + idx[n]*mo_num;
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">a1</span> = av1[n];
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">a2</span> = av2[n];
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">a3</span> = av3[n];
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">a4</span> = av4[n];
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">a5</span> = av5[n];
|
||||
|
||||
<span style="color: #483d8b;">#ifdef</span> HAVE_OPENMP
|
||||
<span style="color: #483d8b;"> #pragma</span> omp simd
|
||||
<span style="color: #483d8b;">#endif</span>
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">i</span>=0 ; i<mo_num ; ++i) {
|
||||
vgl1[i] += ck[i] * a1;
|
||||
vgl2[i] += ck[i] * a2;
|
||||
vgl3[i] += ck[i] * a3;
|
||||
vgl4[i] += ck[i] * a4;
|
||||
vgl5[i] += ck[i] * a5;
|
||||
}
|
||||
}
|
||||
}
|
||||
<span style="color: #a020f0;">return</span> QMCKL_SUCCESS;
|
||||
}
|
||||
<span style="color: #483d8b;">#endif</span>
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org82c7a13" class="outline-4">
|
||||
<h4 id="org82c7a13"><span class="section-number-4">2.1.5</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-03-21 Mon 17:34</p>
|
||||
<p class="date">Created: 2022-03-28 Mon 15:59</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -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-03-21 Mon 17:34 -->
|
||||
<!-- 2022-03-28 Mon 15:59 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Nucleus</title>
|
||||
@ -333,35 +333,35 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#orgb81e05a">1. Context</a>
|
||||
<li><a href="#orgcfb4799">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org44e1163">1.1. Data structure</a></li>
|
||||
<li><a href="#org4bd286e">1.2. Access functions</a></li>
|
||||
<li><a href="#org0e572c0">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org049f2e9">1.4. Test</a></li>
|
||||
<li><a href="#org2fb3fb3">1.1. Data structure</a></li>
|
||||
<li><a href="#org1939b14">1.2. Access functions</a></li>
|
||||
<li><a href="#org9f216e0">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org0893b21">1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org735bf53">2. Computation</a>
|
||||
<li><a href="#org516c294">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#org5ff17ed">2.1. Nucleus-nucleus distances</a>
|
||||
<li><a href="#org63ce6e0">2.1. Nucleus-nucleus distances</a>
|
||||
<ul>
|
||||
<li><a href="#orgafb9dfb">2.1.1. Get</a></li>
|
||||
<li><a href="#org13ddbf8">2.1.2. Compute</a></li>
|
||||
<li><a href="#org48e754e">2.1.3. Test</a></li>
|
||||
<li><a href="#org7d72d44">2.1.1. Get</a></li>
|
||||
<li><a href="#org676508a">2.1.2. Compute</a></li>
|
||||
<li><a href="#orgd5facc1">2.1.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgdbb38d5">2.2. Nucleus-nucleus rescaled distances</a>
|
||||
<li><a href="#org74e25d3">2.2. Nucleus-nucleus rescaled distances</a>
|
||||
<ul>
|
||||
<li><a href="#org6401ca8">2.2.1. Get</a></li>
|
||||
<li><a href="#org2b3e08b">2.2.2. Compute</a></li>
|
||||
<li><a href="#orgd67fda1">2.2.3. Test</a></li>
|
||||
<li><a href="#orgf84b78e">2.2.1. Get</a></li>
|
||||
<li><a href="#org4802847">2.2.2. Compute</a></li>
|
||||
<li><a href="#orgfdd10f8">2.2.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org8457158">2.3. Nuclear repulsion energy</a>
|
||||
<li><a href="#org6f1dded">2.3. Nuclear repulsion energy</a>
|
||||
<ul>
|
||||
<li><a href="#org237bb23">2.3.1. Get</a></li>
|
||||
<li><a href="#org1f0a053">2.3.2. Compute</a></li>
|
||||
<li><a href="#org37ec4ce">2.3.3. Test</a></li>
|
||||
<li><a href="#orge5a6134">2.3.1. Get</a></li>
|
||||
<li><a href="#orgb9e13b1">2.3.2. Compute</a></li>
|
||||
<li><a href="#org9ac3365">2.3.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -370,8 +370,8 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb81e05a" class="outline-2">
|
||||
<h2 id="orgb81e05a"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-orgcfb4799" class="outline-2">
|
||||
<h2 id="orgcfb4799"><span class="section-number-2">1</span> Context</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
The following data stored in the context:
|
||||
@ -486,8 +486,8 @@ Computed data:
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org44e1163" class="outline-3">
|
||||
<h3 id="org44e1163"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-org2fb3fb3" class="outline-3">
|
||||
<h3 id="org2fb3fb3"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #a020f0;">typedef</span> <span style="color: #a020f0;">struct</span> <span style="color: #228b22;">qmckl_nucleus_struct</span> {
|
||||
@ -545,8 +545,8 @@ this mechanism.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4bd286e" class="outline-3">
|
||||
<h3 id="org4bd286e"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-org1939b14" class="outline-3">
|
||||
<h3 id="org1939b14"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<p>
|
||||
When all the data relative to nuclei have been set, the following
|
||||
@ -560,8 +560,8 @@ function returns <code>true</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0e572c0" class="outline-3">
|
||||
<h3 id="org0e572c0"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-org9f216e0" class="outline-3">
|
||||
<h3 id="org9f216e0"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div class="outline-text-3" id="text-1-3">
|
||||
<p>
|
||||
To set the data relative to the nuclei in the context, the
|
||||
@ -618,8 +618,8 @@ Sets the rescale parameter for the nuclear distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org049f2e9" class="outline-3">
|
||||
<h3 id="org049f2e9"><span class="section-number-3">1.4</span> Test</h3>
|
||||
<div id="outline-container-org0893b21" class="outline-3">
|
||||
<h3 id="org0893b21"><span class="section-number-3">1.4</span> Test</h3>
|
||||
<div class="outline-text-3" id="text-1-4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">nucl_num</span> = chbrclf_nucl_num;
|
||||
@ -703,8 +703,8 @@ rc = qmckl_get_nucleus_charge(context, nucl_charge2, nucl_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org735bf53" class="outline-2">
|
||||
<h2 id="org735bf53"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-org516c294" class="outline-2">
|
||||
<h2 id="org516c294"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
<p>
|
||||
The computed data is stored in the context so that it can be reused
|
||||
@ -717,12 +717,12 @@ current date is stored.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5ff17ed" class="outline-3">
|
||||
<h3 id="org5ff17ed"><span class="section-number-3">2.1</span> Nucleus-nucleus distances</h3>
|
||||
<div id="outline-container-org63ce6e0" class="outline-3">
|
||||
<h3 id="org63ce6e0"><span class="section-number-3">2.1</span> Nucleus-nucleus distances</h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
</div>
|
||||
<div id="outline-container-orgafb9dfb" class="outline-4">
|
||||
<h4 id="orgafb9dfb"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-org7d72d44" class="outline-4">
|
||||
<h4 id="org7d72d44"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-1-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
|
||||
@ -734,10 +734,10 @@ current date is stored.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org13ddbf8" class="outline-4">
|
||||
<h4 id="org13ddbf8"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div id="outline-container-org676508a" class="outline-4">
|
||||
<h4 id="org676508a"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-1-2">
|
||||
<table id="org6f3c103" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgd2c25fa" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -815,8 +815,8 @@ current date is stored.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org48e754e" class="outline-4">
|
||||
<h4 id="org48e754e"><span class="section-number-4">2.1.3</span> Test</h4>
|
||||
<div id="outline-container-orgd5facc1" class="outline-4">
|
||||
<h4 id="orgd5facc1"><span class="section-number-4">2.1.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Reference input data </span>*/
|
||||
@ -835,12 +835,12 @@ rc = qmckl_get_nucleus_nn_distance(context, distance, nucl_num*nucl_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgdbb38d5" class="outline-3">
|
||||
<h3 id="orgdbb38d5"><span class="section-number-3">2.2</span> Nucleus-nucleus rescaled distances</h3>
|
||||
<div id="outline-container-org74e25d3" class="outline-3">
|
||||
<h3 id="org74e25d3"><span class="section-number-3">2.2</span> Nucleus-nucleus rescaled distances</h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
</div>
|
||||
<div id="outline-container-org6401ca8" class="outline-4">
|
||||
<h4 id="org6401ca8"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div id="outline-container-orgf84b78e" class="outline-4">
|
||||
<h4 id="orgf84b78e"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-2-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
|
||||
@ -852,10 +852,10 @@ rc = qmckl_get_nucleus_nn_distance(context, distance, nucl_num*nucl_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2b3e08b" class="outline-4">
|
||||
<h4 id="org2b3e08b"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div id="outline-container-org4802847" class="outline-4">
|
||||
<h4 id="org4802847"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-2-2">
|
||||
<table id="orga59f23b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org328b81e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -934,8 +934,8 @@ rc = qmckl_get_nucleus_nn_distance(context, distance, nucl_num*nucl_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd67fda1" class="outline-4">
|
||||
<h4 id="orgd67fda1"><span class="section-number-4">2.2.3</span> Test</h4>
|
||||
<div id="outline-container-orgfdd10f8" class="outline-4">
|
||||
<h4 id="orgfdd10f8"><span class="section-number-4">2.2.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-2-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Reference input data </span>*/
|
||||
@ -955,8 +955,8 @@ rc = qmckl_get_nucleus_nn_distance(context, distance, nucl_num*nucl_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8457158" class="outline-3">
|
||||
<h3 id="org8457158"><span class="section-number-3">2.3</span> Nuclear repulsion energy</h3>
|
||||
<div id="outline-container-org6f1dded" class="outline-3">
|
||||
<h3 id="org6f1dded"><span class="section-number-3">2.3</span> Nuclear repulsion energy</h3>
|
||||
<div class="outline-text-3" id="text-2-3">
|
||||
<p>
|
||||
\[
|
||||
@ -965,8 +965,8 @@ rc = qmckl_get_nucleus_nn_distance(context, distance, nucl_num*nucl_num);
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org237bb23" class="outline-4">
|
||||
<h4 id="org237bb23"><span class="section-number-4">2.3.1</span> Get</h4>
|
||||
<div id="outline-container-orge5a6134" class="outline-4">
|
||||
<h4 id="orge5a6134"><span class="section-number-4">2.3.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-3-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_nucleus_repulsion</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">energy</span>);
|
||||
@ -975,10 +975,10 @@ rc = qmckl_get_nucleus_nn_distance(context, distance, nucl_num*nucl_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1f0a053" class="outline-4">
|
||||
<h4 id="org1f0a053"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div id="outline-container-orgb9e13b1" class="outline-4">
|
||||
<h4 id="orgb9e13b1"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-3-2">
|
||||
<table id="org671aa15" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org241cf69" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1068,8 +1068,8 @@ rc = qmckl_get_nucleus_nn_distance(context, distance, nucl_num*nucl_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org37ec4ce" class="outline-4">
|
||||
<h4 id="org37ec4ce"><span class="section-number-4">2.3.3</span> Test</h4>
|
||||
<div id="outline-container-org9ac3365" class="outline-4">
|
||||
<h4 id="org9ac3365"><span class="section-number-4">2.3.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-3-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Reference input data </span>*/
|
||||
@ -1089,7 +1089,7 @@ rc = qmckl_get_nucleus_repulsion(context, &rep);
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-03-21 Mon 17:34</p>
|
||||
<p class="date">Created: 2022-03-28 Mon 15:59</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -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-03-21 Mon 17:34 -->
|
||||
<!-- 2022-03-28 Mon 15:59 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Numerical precision</title>
|
||||
@ -333,16 +333,16 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org5ecfc2b">1. Control of the numerical precision</a></li>
|
||||
<li><a href="#org2aaa1a0">2. Precision</a></li>
|
||||
<li><a href="#org7476d7d">3. Range</a></li>
|
||||
<li><a href="#org5bcdfc0">4. Helper functions</a></li>
|
||||
<li><a href="#org765d691">1. Control of the numerical precision</a></li>
|
||||
<li><a href="#org4691edb">2. Precision</a></li>
|
||||
<li><a href="#orgfcaef50">3. Range</a></li>
|
||||
<li><a href="#orgbad01d0">4. Helper functions</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5ecfc2b" class="outline-2">
|
||||
<h2 id="org5ecfc2b"><span class="section-number-2">1</span> Control of the numerical precision</h2>
|
||||
<div id="outline-container-org765d691" class="outline-2">
|
||||
<h2 id="org765d691"><span class="section-number-2">1</span> Control of the numerical precision</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
Controlling numerical precision enables optimizations. Here, the
|
||||
@ -353,7 +353,7 @@ Arithmetic (IEEE 754),
|
||||
refers to the number of exponent bits.
|
||||
</p>
|
||||
|
||||
<table id="orgd3e43e6" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgc60e9e0" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -397,8 +397,8 @@ integer. The update functions return <code>QMCKL_SUCCESS</code> or
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2aaa1a0" class="outline-2">
|
||||
<h2 id="org2aaa1a0"><span class="section-number-2">2</span> Precision</h2>
|
||||
<div id="outline-container-org4691edb" class="outline-2">
|
||||
<h2 id="org4691edb"><span class="section-number-2">2</span> Precision</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
<p>
|
||||
<code>qmckl_context_set_numprec_precision</code> modifies the parameter for the
|
||||
@ -485,8 +485,8 @@ numerical precision in the context.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7476d7d" class="outline-2">
|
||||
<h2 id="org7476d7d"><span class="section-number-2">3</span> Range</h2>
|
||||
<div id="outline-container-orgfcaef50" class="outline-2">
|
||||
<h2 id="orgfcaef50"><span class="section-number-2">3</span> Range</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
<p>
|
||||
<code>qmckl_set_numprec_range</code> modifies the parameter for the numerical
|
||||
@ -561,8 +561,8 @@ range in a given context.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org5bcdfc0" class="outline-2">
|
||||
<h2 id="org5bcdfc0"><span class="section-number-2">4</span> Helper functions</h2>
|
||||
<div id="outline-container-orgbad01d0" class="outline-2">
|
||||
<h2 id="orgbad01d0"><span class="section-number-2">4</span> Helper functions</h2>
|
||||
<div class="outline-text-2" id="text-4">
|
||||
<p>
|
||||
<code>qmckl_get_numprec_epsilon</code> returns \(\epsilon = 2^{1-n}\) where <code>n</code> is the precision.
|
||||
@ -581,7 +581,7 @@ We need to remove the sign bit from the precision.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-03-21 Mon 17:34</p>
|
||||
<p class="date">Created: 2022-03-28 Mon 15:59</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -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-03-21 Mon 17:34 -->
|
||||
<!-- 2022-03-28 Mon 15:59 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Point</title>
|
||||
@ -333,25 +333,25 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org34e7028">1. Context</a>
|
||||
<li><a href="#org210f13e">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org76177da">1.1. Data structure</a></li>
|
||||
<li><a href="#org30bbe4f">1.2. Access functions</a>
|
||||
<li><a href="#org568338d">1.1. Data structure</a></li>
|
||||
<li><a href="#org35e4fae">1.2. Access functions</a>
|
||||
<ul>
|
||||
<li><a href="#org8981099">1.2.1. Number of points</a></li>
|
||||
<li><a href="#orgfb7b3aa">1.2.2. Point coordinates</a></li>
|
||||
<li><a href="#orge96d28a">1.2.1. Number of points</a></li>
|
||||
<li><a href="#org6c13e7a">1.2.2. Point coordinates</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgc6a1c38">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org7bc52d5">1.4. Test</a></li>
|
||||
<li><a href="#org92d81d4">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org91d590d">1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org34e7028" class="outline-2">
|
||||
<h2 id="org34e7028"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-org210f13e" class="outline-2">
|
||||
<h2 id="org210f13e"><span class="section-number-2">1</span> Context</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
The following data stored in the context:
|
||||
@ -401,8 +401,8 @@ corresponds to the 3 × <code>num</code> matrix.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org76177da" class="outline-3">
|
||||
<h3 id="org76177da"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-org568338d" class="outline-3">
|
||||
<h3 id="org568338d"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #a020f0;">typedef</span> <span style="color: #a020f0;">struct</span> <span style="color: #228b22;">qmckl_point_struct</span> {
|
||||
@ -438,8 +438,8 @@ corresponds to the 3 × <code>num</code> matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org30bbe4f" class="outline-3">
|
||||
<h3 id="org30bbe4f"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-org35e4fae" class="outline-3">
|
||||
<h3 id="org35e4fae"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<p>
|
||||
Access functions return <code>QMCKL_SUCCESS</code> when the data has been
|
||||
@ -450,8 +450,8 @@ contains the requested data. Otherwise, this variable is untouched.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8981099" class="outline-4">
|
||||
<h4 id="org8981099"><span class="section-number-4">1.2.1</span> Number of points</h4>
|
||||
<div id="outline-container-orge96d28a" class="outline-4">
|
||||
<h4 id="orge96d28a"><span class="section-number-4">1.2.1</span> Number of points</h4>
|
||||
<div class="outline-text-4" id="text-1-2-1">
|
||||
<p>
|
||||
Returns the number of points stored in the context.
|
||||
@ -473,8 +473,8 @@ Returns the number of points stored in the context.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgfb7b3aa" class="outline-4">
|
||||
<h4 id="orgfb7b3aa"><span class="section-number-4">1.2.2</span> Point coordinates</h4>
|
||||
<div id="outline-container-org6c13e7a" class="outline-4">
|
||||
<h4 id="org6c13e7a"><span class="section-number-4">1.2.2</span> Point coordinates</h4>
|
||||
<div class="outline-text-4" id="text-1-2-2">
|
||||
<p>
|
||||
Returns the point coordinates as sequences of (x,y,z).
|
||||
@ -502,8 +502,8 @@ The pointer is assumed to point on a memory block of size
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgc6a1c38" class="outline-3">
|
||||
<h3 id="orgc6a1c38"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-org92d81d4" class="outline-3">
|
||||
<h3 id="org92d81d4"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div class="outline-text-3" id="text-1-3">
|
||||
<p>
|
||||
When the data is set in the context, if the arrays are large
|
||||
@ -626,8 +626,8 @@ Copy a sequence of <code>num</code> points \((x,y,z)\) into the context.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org7bc52d5" class="outline-3">
|
||||
<h3 id="org7bc52d5"><span class="section-number-3">1.4</span> Test</h3>
|
||||
<div id="outline-container-org91d590d" class="outline-3">
|
||||
<h3 id="org91d590d"><span class="section-number-3">1.4</span> Test</h3>
|
||||
<div class="outline-text-3" id="text-1-4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Reference input data </span>*/
|
||||
@ -686,7 +686,7 @@ rc = qmckl_get_point (context, <span style="color: #8b2252;">'N'</span>, coord3,
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-03-21 Mon 17:34</p>
|
||||
<p class="date">Created: 2022-03-28 Mon 15:59</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -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-03-21 Mon 17:34 -->
|
||||
<!-- 2022-03-28 Mon 15:59 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Sherman-Morrison-Woodbury</title>
|
||||
@ -333,86 +333,86 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org532ef79">1. Headers</a></li>
|
||||
<li><a href="#org847472b">2. Naïve Sherman-Morrison</a>
|
||||
<li><a href="#orgca1a717">1. Headers</a></li>
|
||||
<li><a href="#org9a9026b">2. Naïve Sherman-Morrison</a>
|
||||
<ul>
|
||||
<li><a href="#org85c3e0f">2.1. <code>qmckl_sherman_morrison</code></a>
|
||||
<li><a href="#org10327cd">2.1. <code>qmckl_sherman_morrison</code></a>
|
||||
<ul>
|
||||
<li><a href="#org1f4c251">2.1.1. Requirements</a></li>
|
||||
<li><a href="#org2469823">2.1.2. C header</a></li>
|
||||
<li><a href="#org801bfa9">2.1.3. C source</a></li>
|
||||
<li><a href="#org1951f6c">2.1.4. Performance</a></li>
|
||||
<li><a href="#org2e6cf27">2.1.1. Requirements</a></li>
|
||||
<li><a href="#org7f743a2">2.1.2. C header</a></li>
|
||||
<li><a href="#org669e396">2.1.3. C source</a></li>
|
||||
<li><a href="#orgf286562">2.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org317af52">3. Woodbury 2x2</a>
|
||||
<li><a href="#org9e4fbf8">3. Woodbury 2x2</a>
|
||||
<ul>
|
||||
<li><a href="#orgc3ff018">3.1. <code>qmckl_woodbury_2</code></a>
|
||||
<li><a href="#org7146599">3.1. <code>qmckl_woodbury_2</code></a>
|
||||
<ul>
|
||||
<li><a href="#org27029e9">3.1.1. Requirements</a></li>
|
||||
<li><a href="#orgeb39aa0">3.1.2. C header</a></li>
|
||||
<li><a href="#org7ab0791">3.1.3. C source</a></li>
|
||||
<li><a href="#org6c6325a">3.1.4. Performance</a></li>
|
||||
<li><a href="#orge0382aa">3.1.1. Requirements</a></li>
|
||||
<li><a href="#org7f9635e">3.1.2. C header</a></li>
|
||||
<li><a href="#org7dbbc6f">3.1.3. C source</a></li>
|
||||
<li><a href="#org3cca7ea">3.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org86ab0e9">4. Woodbury 3x3</a>
|
||||
<li><a href="#orgaa30453">4. Woodbury 3x3</a>
|
||||
<ul>
|
||||
<li><a href="#org6a63a1e">4.1. <code>qmckl_woodbury_3</code></a>
|
||||
<li><a href="#org6d5d8ef">4.1. <code>qmckl_woodbury_3</code></a>
|
||||
<ul>
|
||||
<li><a href="#orgfaa1cb3">4.1.1. Requirements</a></li>
|
||||
<li><a href="#org3dfe09e">4.1.2. C header</a></li>
|
||||
<li><a href="#org5a6f766">4.1.3. C source</a></li>
|
||||
<li><a href="#org030ca27">4.1.4. Performance…</a></li>
|
||||
<li><a href="#org4eeafbe">4.1.1. Requirements</a></li>
|
||||
<li><a href="#org027f6cf">4.1.2. C header</a></li>
|
||||
<li><a href="#orge6ba6da">4.1.3. C source</a></li>
|
||||
<li><a href="#org8824cdc">4.1.4. Performance…</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org07ee950">5. Sherman-Morrison with update splitting</a>
|
||||
<li><a href="#orge975deb">5. Sherman-Morrison with update splitting</a>
|
||||
<ul>
|
||||
<li><a href="#org854259c">5.1. <code>qmckl_sherman_morrison_splitting</code></a>
|
||||
<li><a href="#org390eadd">5.1. <code>qmckl_sherman_morrison_splitting</code></a>
|
||||
<ul>
|
||||
<li><a href="#org6391d36">5.1.1. Requirements</a></li>
|
||||
<li><a href="#org1fbfa0f">5.1.2. C header</a></li>
|
||||
<li><a href="#orgaa3ef9c">5.1.3. C source</a></li>
|
||||
<li><a href="#org1fda848">5.1.4. Performance…</a></li>
|
||||
<li><a href="#orgead356e">5.1.1. Requirements</a></li>
|
||||
<li><a href="#org0c4f276">5.1.2. C header</a></li>
|
||||
<li><a href="#orgba42cac">5.1.3. C source</a></li>
|
||||
<li><a href="#org99ba41f">5.1.4. Performance…</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org38f8082">6. Woodbury 3x3 and 2x2 with Sherman-Morrison and update splitting</a>
|
||||
<li><a href="#org2d556bd">6. Woodbury 3x3 and 2x2 with Sherman-Morrison and update splitting</a>
|
||||
<ul>
|
||||
<li><a href="#org7964c7a">6.1. <code>qmckl_sherman_morrison_smw32s</code></a>
|
||||
<li><a href="#org2216bc9">6.1. <code>qmckl_sherman_morrison_smw32s</code></a>
|
||||
<ul>
|
||||
<li><a href="#org0badfe6">6.1.1. Requirements</a></li>
|
||||
<li><a href="#orgb6d848c">6.1.2. C header</a></li>
|
||||
<li><a href="#org243fab8">6.1.3. C source</a></li>
|
||||
<li><a href="#org61a1aab">6.1.4. Performance…</a></li>
|
||||
<li><a href="#org29a4d27">6.1.1. Requirements</a></li>
|
||||
<li><a href="#orgb7f0d77">6.1.2. C header</a></li>
|
||||
<li><a href="#org4153ff0">6.1.3. C source</a></li>
|
||||
<li><a href="#org6143beb">6.1.4. Performance…</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org5e1273c">7. Helper Functions</a>
|
||||
<li><a href="#org9ebe7b0">7. Helper Functions</a>
|
||||
<ul>
|
||||
<li><a href="#org7d96ec5">7.1. <code>qmckl_slagel_splitting</code></a>
|
||||
<li><a href="#org7f22a9f">7.1. <code>qmckl_slagel_splitting</code></a>
|
||||
<ul>
|
||||
<li><a href="#org812fa2c">7.1.1. Requirements</a></li>
|
||||
<li><a href="#orga9ce1ce">7.1.2. C header</a></li>
|
||||
<li><a href="#org70a506c">7.1.3. C source</a></li>
|
||||
<li><a href="#org6956862">7.1.4. Performance</a></li>
|
||||
<li><a href="#org98975c7">7.1.1. Requirements</a></li>
|
||||
<li><a href="#org62e34cd">7.1.2. C header</a></li>
|
||||
<li><a href="#orgd9817ed">7.1.3. C source</a></li>
|
||||
<li><a href="#org9774402">7.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgdd44f8b">8. End of files</a></li>
|
||||
<li><a href="#orgc7b7bda">8. End of files</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org532ef79" class="outline-2">
|
||||
<h2 id="org532ef79"><span class="section-number-2">1</span> Headers</h2>
|
||||
<div id="outline-container-orgca1a717" class="outline-2">
|
||||
<h2 id="orgca1a717"><span class="section-number-2">1</span> Headers</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #483d8b;">#include</span> <span style="color: #8b2252;">"qmckl.h"</span>
|
||||
@ -431,12 +431,12 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org847472b" class="outline-2">
|
||||
<h2 id="org847472b"><span class="section-number-2">2</span> Naïve Sherman-Morrison</h2>
|
||||
<div id="outline-container-org9a9026b" class="outline-2">
|
||||
<h2 id="org9a9026b"><span class="section-number-2">2</span> Naïve Sherman-Morrison</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-org85c3e0f" class="outline-3">
|
||||
<h3 id="org85c3e0f"><span class="section-number-3">2.1</span> <code>qmckl_sherman_morrison</code></h3>
|
||||
<div id="outline-container-org10327cd" class="outline-3">
|
||||
<h3 id="org10327cd"><span class="section-number-3">2.1</span> <code>qmckl_sherman_morrison</code></h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
<p>
|
||||
This is the simplest of the available Sherman-Morrison-Woodbury kernels. It applies rank-1 updates one by one in
|
||||
@ -478,7 +478,7 @@ If the determinant of the Slater-matrix is passed, it will be updated to the det
|
||||
from applying the updates to the original matrix.
|
||||
</p>
|
||||
|
||||
<table id="org9093126" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orga4a3dfe" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -557,8 +557,8 @@ from applying the updates to the original matrix.
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1f4c251" class="outline-4">
|
||||
<h4 id="org1f4c251"><span class="section-number-4">2.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org2e6cf27" class="outline-4">
|
||||
<h4 id="org2e6cf27"><span class="section-number-4">2.1.1</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-2-1-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>context</code> is not <code>QMCKL_NULL_CONTEXT</code></li>
|
||||
@ -573,8 +573,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2469823" class="outline-4">
|
||||
<h4 id="org2469823"><span class="section-number-4">2.1.2</span> C header</h4>
|
||||
<div id="outline-container-org7f743a2" class="outline-4">
|
||||
<h4 id="org7f743a2"><span class="section-number-4">2.1.2</span> C header</h4>
|
||||
<div class="outline-text-4" id="text-2-1-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_sherman_morrison</span> (
|
||||
@ -592,8 +592,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org801bfa9" class="outline-4">
|
||||
<h4 id="org801bfa9"><span class="section-number-4">2.1.3</span> C source</h4>
|
||||
<div id="outline-container-org669e396" class="outline-4">
|
||||
<h4 id="org669e396"><span class="section-number-4">2.1.3</span> C source</h4>
|
||||
<div class="outline-text-4" id="text-2-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #483d8b;">#include</span> <span style="color: #8b2252;"><stdbool.h></span>
|
||||
@ -663,8 +663,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1951f6c" class="outline-4">
|
||||
<h4 id="org1951f6c"><span class="section-number-4">2.1.4</span> Performance</h4>
|
||||
<div id="outline-container-orgf286562" class="outline-4">
|
||||
<h4 id="orgf286562"><span class="section-number-4">2.1.4</span> Performance</h4>
|
||||
<div class="outline-text-4" id="text-2-1-4">
|
||||
<p>
|
||||
This function performs best when there is only 1 rank-1 update in the update cycle. It is not useful to
|
||||
@ -676,12 +676,12 @@ where applying the update causes singular behaviour.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org317af52" class="outline-2">
|
||||
<h2 id="org317af52"><span class="section-number-2">3</span> Woodbury 2x2</h2>
|
||||
<div id="outline-container-org9e4fbf8" class="outline-2">
|
||||
<h2 id="org9e4fbf8"><span class="section-number-2">3</span> Woodbury 2x2</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
</div>
|
||||
<div id="outline-container-orgc3ff018" class="outline-3">
|
||||
<h3 id="orgc3ff018"><span class="section-number-3">3.1</span> <code>qmckl_woodbury_2</code></h3>
|
||||
<div id="outline-container-org7146599" class="outline-3">
|
||||
<h3 id="org7146599"><span class="section-number-3">3.1</span> <code>qmckl_woodbury_2</code></h3>
|
||||
<div class="outline-text-3" id="text-3-1">
|
||||
<p>
|
||||
The Woodbury 2x2 kernel. It is used to apply two rank-1 updates at once. The formula used in
|
||||
@ -705,7 +705,7 @@ from applying the updates to the original matrix.
|
||||
|
||||
|
||||
|
||||
<table id="orgacd025b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgc974ebe" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -777,8 +777,8 @@ from applying the updates to the original matrix.
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org27029e9" class="outline-4">
|
||||
<h4 id="org27029e9"><span class="section-number-4">3.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-orge0382aa" class="outline-4">
|
||||
<h4 id="orge0382aa"><span class="section-number-4">3.1.1</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-3-1-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>context</code> is not <code>qmckl_null_context</code></li>
|
||||
@ -792,8 +792,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgeb39aa0" class="outline-4">
|
||||
<h4 id="orgeb39aa0"><span class="section-number-4">3.1.2</span> C header</h4>
|
||||
<div id="outline-container-org7f9635e" class="outline-4">
|
||||
<h4 id="org7f9635e"><span class="section-number-4">3.1.2</span> C header</h4>
|
||||
<div class="outline-text-4" id="text-3-1-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_woodbury_2</span> (
|
||||
@ -810,8 +810,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7ab0791" class="outline-4">
|
||||
<h4 id="org7ab0791"><span class="section-number-4">3.1.3</span> C source</h4>
|
||||
<div id="outline-container-org7dbbc6f" class="outline-4">
|
||||
<h4 id="org7dbbc6f"><span class="section-number-4">3.1.3</span> C source</h4>
|
||||
<div class="outline-text-4" id="text-3-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #483d8b;">#include</span> <span style="color: #8b2252;"><stdbool.h></span>
|
||||
@ -898,8 +898,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6c6325a" class="outline-4">
|
||||
<h4 id="org6c6325a"><span class="section-number-4">3.1.4</span> Performance</h4>
|
||||
<div id="outline-container-org3cca7ea" class="outline-4">
|
||||
<h4 id="org3cca7ea"><span class="section-number-4">3.1.4</span> Performance</h4>
|
||||
<div class="outline-text-4" id="text-3-1-4">
|
||||
<p>
|
||||
This function is most efficient when used in cases where there are only 2 rank-1 updates and
|
||||
@ -910,12 +910,12 @@ it is sure they will not result in a singular matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org86ab0e9" class="outline-2">
|
||||
<h2 id="org86ab0e9"><span class="section-number-2">4</span> Woodbury 3x3</h2>
|
||||
<div id="outline-container-orgaa30453" class="outline-2">
|
||||
<h2 id="orgaa30453"><span class="section-number-2">4</span> Woodbury 3x3</h2>
|
||||
<div class="outline-text-2" id="text-4">
|
||||
</div>
|
||||
<div id="outline-container-org6a63a1e" class="outline-3">
|
||||
<h3 id="org6a63a1e"><span class="section-number-3">4.1</span> <code>qmckl_woodbury_3</code></h3>
|
||||
<div id="outline-container-org6d5d8ef" class="outline-3">
|
||||
<h3 id="org6d5d8ef"><span class="section-number-3">4.1</span> <code>qmckl_woodbury_3</code></h3>
|
||||
<div class="outline-text-3" id="text-4-1">
|
||||
<p>
|
||||
The 3x3 version of the Woodbury 2x2 kernel. It is used to apply three
|
||||
@ -936,7 +936,7 @@ from applying the updates to the original matrix.
|
||||
|
||||
|
||||
|
||||
<table id="org56010dd" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgd90aacb" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1008,8 +1008,8 @@ from applying the updates to the original matrix.
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgfaa1cb3" class="outline-4">
|
||||
<h4 id="orgfaa1cb3"><span class="section-number-4">4.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org4eeafbe" class="outline-4">
|
||||
<h4 id="org4eeafbe"><span class="section-number-4">4.1.1</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-4-1-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>context</code> is not <code>qmckl_null_context</code></li>
|
||||
@ -1023,8 +1023,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3dfe09e" class="outline-4">
|
||||
<h4 id="org3dfe09e"><span class="section-number-4">4.1.2</span> C header</h4>
|
||||
<div id="outline-container-org027f6cf" class="outline-4">
|
||||
<h4 id="org027f6cf"><span class="section-number-4">4.1.2</span> C header</h4>
|
||||
<div class="outline-text-4" id="text-4-1-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_woodbury_3</span> (
|
||||
@ -1041,8 +1041,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5a6f766" class="outline-4">
|
||||
<h4 id="org5a6f766"><span class="section-number-4">4.1.3</span> C source</h4>
|
||||
<div id="outline-container-orge6ba6da" class="outline-4">
|
||||
<h4 id="orge6ba6da"><span class="section-number-4">4.1.3</span> C source</h4>
|
||||
<div class="outline-text-4" id="text-4-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #483d8b;">#include</span> <span style="color: #8b2252;"><stdbool.h></span>
|
||||
@ -1144,8 +1144,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org030ca27" class="outline-4">
|
||||
<h4 id="org030ca27"><span class="section-number-4">4.1.4</span> Performance…</h4>
|
||||
<div id="outline-container-org8824cdc" class="outline-4">
|
||||
<h4 id="org8824cdc"><span class="section-number-4">4.1.4</span> Performance…</h4>
|
||||
<div class="outline-text-4" id="text-4-1-4">
|
||||
<p>
|
||||
This function is most efficient when used in cases where there are only 3 rank-1 updates and
|
||||
@ -1156,12 +1156,12 @@ it is sure they will not result in a singular matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org07ee950" class="outline-2">
|
||||
<h2 id="org07ee950"><span class="section-number-2">5</span> Sherman-Morrison with update splitting</h2>
|
||||
<div id="outline-container-orge975deb" class="outline-2">
|
||||
<h2 id="orge975deb"><span class="section-number-2">5</span> Sherman-Morrison with update splitting</h2>
|
||||
<div class="outline-text-2" id="text-5">
|
||||
</div>
|
||||
<div id="outline-container-org854259c" class="outline-3">
|
||||
<h3 id="org854259c"><span class="section-number-3">5.1</span> <code>qmckl_sherman_morrison_splitting</code></h3>
|
||||
<div id="outline-container-org390eadd" class="outline-3">
|
||||
<h3 id="org390eadd"><span class="section-number-3">5.1</span> <code>qmckl_sherman_morrison_splitting</code></h3>
|
||||
<div class="outline-text-3" id="text-5-1">
|
||||
<p>
|
||||
This is a variation on the 'Naive' Sherman-Morrison kernel. Whenever the denominator \(1+v_j^T S^{-1} u_j\) in
|
||||
@ -1183,7 +1183,7 @@ If the determinant of the Slater-matrix is passed, it will be updated to the det
|
||||
from applying the updates to the original matrix.
|
||||
</p>
|
||||
|
||||
<table id="org8cfac42" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgb057a88" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1267,8 +1267,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org6391d36" class="outline-4">
|
||||
<h4 id="org6391d36"><span class="section-number-4">5.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-orgead356e" class="outline-4">
|
||||
<h4 id="orgead356e"><span class="section-number-4">5.1.1</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-5-1-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>context</code> is not <code>QMCKL_NULL_CONTEXT</code></li>
|
||||
@ -1283,8 +1283,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1fbfa0f" class="outline-4">
|
||||
<h4 id="org1fbfa0f"><span class="section-number-4">5.1.2</span> C header</h4>
|
||||
<div id="outline-container-org0c4f276" class="outline-4">
|
||||
<h4 id="org0c4f276"><span class="section-number-4">5.1.2</span> C header</h4>
|
||||
<div class="outline-text-4" id="text-5-1-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_sherman_morrison_splitting</span> (
|
||||
@ -1302,8 +1302,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgaa3ef9c" class="outline-4">
|
||||
<h4 id="orgaa3ef9c"><span class="section-number-4">5.1.3</span> C source</h4>
|
||||
<div id="outline-container-orgba42cac" class="outline-4">
|
||||
<h4 id="orgba42cac"><span class="section-number-4">5.1.3</span> C source</h4>
|
||||
<div class="outline-text-4" id="text-5-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #483d8b;">#include</span> <span style="color: #8b2252;"><stdbool.h></span>
|
||||
@ -1343,8 +1343,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1fda848" class="outline-4">
|
||||
<h4 id="org1fda848"><span class="section-number-4">5.1.4</span> Performance…</h4>
|
||||
<div id="outline-container-org99ba41f" class="outline-4">
|
||||
<h4 id="org99ba41f"><span class="section-number-4">5.1.4</span> Performance…</h4>
|
||||
<div class="outline-text-4" id="text-5-1-4">
|
||||
<p>
|
||||
This kernel performs best when there are 2 or more rank-1 update cycles and fail-rate is high.
|
||||
@ -1354,12 +1354,12 @@ This kernel performs best when there are 2 or more rank-1 update cycles and fail
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org38f8082" class="outline-2">
|
||||
<h2 id="org38f8082"><span class="section-number-2">6</span> Woodbury 3x3 and 2x2 with Sherman-Morrison and update splitting</h2>
|
||||
<div id="outline-container-org2d556bd" class="outline-2">
|
||||
<h2 id="org2d556bd"><span class="section-number-2">6</span> Woodbury 3x3 and 2x2 with Sherman-Morrison and update splitting</h2>
|
||||
<div class="outline-text-2" id="text-6">
|
||||
</div>
|
||||
<div id="outline-container-org7964c7a" class="outline-3">
|
||||
<h3 id="org7964c7a"><span class="section-number-3">6.1</span> <code>qmckl_sherman_morrison_smw32s</code></h3>
|
||||
<div id="outline-container-org2216bc9" class="outline-3">
|
||||
<h3 id="org2216bc9"><span class="section-number-3">6.1</span> <code>qmckl_sherman_morrison_smw32s</code></h3>
|
||||
<div class="outline-text-3" id="text-6-1">
|
||||
<p>
|
||||
The Woodbury 3x3 and 2x2 kernel with Sherman-Morrison and update splitting combines the low-level Woodbury 3x3 kernel,
|
||||
@ -1374,7 +1374,7 @@ If the determinant of the Slater-matrix is passed, it will be updated to the det
|
||||
from applying the updates to the original matrix.
|
||||
</p>
|
||||
|
||||
<table id="orgc39865b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org895d7e0" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1454,8 +1454,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org0badfe6" class="outline-4">
|
||||
<h4 id="org0badfe6"><span class="section-number-4">6.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org29a4d27" class="outline-4">
|
||||
<h4 id="org29a4d27"><span class="section-number-4">6.1.1</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-6-1-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>context</code> is not <code>QMCKL_NULL_CONTEXT</code></li>
|
||||
@ -1470,8 +1470,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb6d848c" class="outline-4">
|
||||
<h4 id="orgb6d848c"><span class="section-number-4">6.1.2</span> C header</h4>
|
||||
<div id="outline-container-orgb7f0d77" class="outline-4">
|
||||
<h4 id="orgb7f0d77"><span class="section-number-4">6.1.2</span> C header</h4>
|
||||
<div class="outline-text-4" id="text-6-1-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_sherman_morrison_smw32s</span> (
|
||||
@ -1489,8 +1489,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org243fab8" class="outline-4">
|
||||
<h4 id="org243fab8"><span class="section-number-4">6.1.3</span> C source</h4>
|
||||
<div id="outline-container-org4153ff0" class="outline-4">
|
||||
<h4 id="org4153ff0"><span class="section-number-4">6.1.3</span> C source</h4>
|
||||
<div class="outline-text-4" id="text-6-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #483d8b;">#include</span> <span style="color: #8b2252;"><stdbool.h></span>
|
||||
@ -1568,8 +1568,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org61a1aab" class="outline-4">
|
||||
<h4 id="org61a1aab"><span class="section-number-4">6.1.4</span> Performance…</h4>
|
||||
<div id="outline-container-org6143beb" class="outline-4">
|
||||
<h4 id="org6143beb"><span class="section-number-4">6.1.4</span> Performance…</h4>
|
||||
<div class="outline-text-4" id="text-6-1-4">
|
||||
<p>
|
||||
This kernel performs best for update cycles with 2 or more rank-1 updates and the fail-rate is low.
|
||||
@ -1579,8 +1579,8 @@ This kernel performs best for update cycles with 2 or more rank-1 updates and th
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5e1273c" class="outline-2">
|
||||
<h2 id="org5e1273c"><span class="section-number-2">7</span> Helper Functions</h2>
|
||||
<div id="outline-container-org9ebe7b0" class="outline-2">
|
||||
<h2 id="org9ebe7b0"><span class="section-number-2">7</span> Helper Functions</h2>
|
||||
<div class="outline-text-2" id="text-7">
|
||||
<p>
|
||||
Private helper-functions that are used by the Sherman-Morrison-Woodbury kernels.
|
||||
@ -1588,8 +1588,8 @@ These functions can only be used internally by the kernels in this module.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7d96ec5" class="outline-3">
|
||||
<h3 id="org7d96ec5"><span class="section-number-3">7.1</span> <code>qmckl_slagel_splitting</code></h3>
|
||||
<div id="outline-container-org7f22a9f" class="outline-3">
|
||||
<h3 id="org7f22a9f"><span class="section-number-3">7.1</span> <code>qmckl_slagel_splitting</code></h3>
|
||||
<div class="outline-text-3" id="text-7-1">
|
||||
<p>
|
||||
<code>qmckl_slagel_splitting</code> is the non-recursive, inner part of the 'Sherman-Morrison with update splitting'-kernel.
|
||||
@ -1609,7 +1609,7 @@ If the determinant of the Slater-matrix is passed, it will be updated to the det
|
||||
from applying the updates to the original matrix.
|
||||
</p>
|
||||
|
||||
<table id="org459d9b4" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgc206425" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1703,8 +1703,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org812fa2c" class="outline-4">
|
||||
<h4 id="org812fa2c"><span class="section-number-4">7.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org98975c7" class="outline-4">
|
||||
<h4 id="org98975c7"><span class="section-number-4">7.1.1</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-7-1-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>LDS >= 2</code></li>
|
||||
@ -1721,8 +1721,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga9ce1ce" class="outline-4">
|
||||
<h4 id="orga9ce1ce"><span class="section-number-4">7.1.2</span> C header</h4>
|
||||
<div id="outline-container-org62e34cd" class="outline-4">
|
||||
<h4 id="org62e34cd"><span class="section-number-4">7.1.2</span> C header</h4>
|
||||
<div class="outline-text-4" id="text-7-1-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">double</span> <span style="color: #0000ff;">qmckl_slagel_splitting</span> (
|
||||
@ -1742,8 +1742,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org70a506c" class="outline-4">
|
||||
<h4 id="org70a506c"><span class="section-number-4">7.1.3</span> C source</h4>
|
||||
<div id="outline-container-orgd9817ed" class="outline-4">
|
||||
<h4 id="orgd9817ed"><span class="section-number-4">7.1.3</span> C source</h4>
|
||||
<div class="outline-text-4" id="text-7-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #483d8b;">#include</span> <span style="color: #8b2252;"><stdbool.h></span>
|
||||
@ -1821,8 +1821,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6956862" class="outline-4">
|
||||
<h4 id="org6956862"><span class="section-number-4">7.1.4</span> Performance</h4>
|
||||
<div id="outline-container-org9774402" class="outline-4">
|
||||
<h4 id="org9774402"><span class="section-number-4">7.1.4</span> Performance</h4>
|
||||
<div class="outline-text-4" id="text-7-1-4">
|
||||
<p>
|
||||
This function cannot be used by itself and is used in Sherman-Morrison with update splitting and Woodbury 3x3 and 2x2
|
||||
@ -1833,8 +1833,8 @@ with Sherman-Morrison and update splitting. Please look at the performance recco
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgdd44f8b" class="outline-2">
|
||||
<h2 id="orgdd44f8b"><span class="section-number-2">8</span> End of files</h2>
|
||||
<div id="outline-container-orgc7b7bda" class="outline-2">
|
||||
<h2 id="orgc7b7bda"><span class="section-number-2">8</span> End of files</h2>
|
||||
<div class="outline-text-2" id="text-8">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"> <span style="color: #0000ff;">assert</span> (<span style="color: #228b22;">qmckl_context_destroy</span>(<span style="color: #a0522d;">context</span>) == QMCKL_SUCCESS);
|
||||
@ -1848,7 +1848,7 @@ with Sherman-Morrison and update splitting. Please look at the performance recco
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-03-21 Mon 17:34</p>
|
||||
<p class="date">Created: 2022-03-28 Mon 15:59</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -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-03-21 Mon 17:34 -->
|
||||
<!-- 2022-03-28 Mon 15:59 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Data for Tests</title>
|
||||
@ -233,27 +233,27 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#orga9264e8">1. CHBrClF</a>
|
||||
<li><a href="#orgf1dac32">1. CHBrClF</a>
|
||||
<ul>
|
||||
<li><a href="#org2821721">1.1. XYZ coordinates</a></li>
|
||||
<li><a href="#org417bceb">1.2. Atomic basis set</a></li>
|
||||
<li><a href="#org78f9fcf">1.3. Molecular orbitals</a></li>
|
||||
<li><a href="#org7b67396">1.4. Electron coordinates</a></li>
|
||||
<li><a href="#orgb1a8911">1.1. XYZ coordinates</a></li>
|
||||
<li><a href="#orgc653cfc">1.2. Atomic basis set</a></li>
|
||||
<li><a href="#orgf539045">1.3. Molecular orbitals</a></li>
|
||||
<li><a href="#org6675fd1">1.4. Electron coordinates</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org795c6aa">2. N2</a>
|
||||
<li><a href="#org28054e5">2. N2</a>
|
||||
<ul>
|
||||
<li><a href="#org3e9c4a0">2.1. XYZ coordinates</a></li>
|
||||
<li><a href="#org8cc5b48">2.2. Electron coordinates</a></li>
|
||||
<li><a href="#org9393246">2.3. Jastrow related data</a></li>
|
||||
<li><a href="#org2ef74d4">2.1. XYZ coordinates</a></li>
|
||||
<li><a href="#orgdff9cab">2.2. Electron coordinates</a></li>
|
||||
<li><a href="#orgdd2af93">2.3. Jastrow related data</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga9264e8" class="outline-2">
|
||||
<h2 id="orga9264e8"><span class="section-number-2">1</span> CHBrClF</h2>
|
||||
<div id="outline-container-orgf1dac32" class="outline-2">
|
||||
<h2 id="orgf1dac32"><span class="section-number-2">1</span> CHBrClF</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
This test is the all-electron Hartree-Fock wave function of CHClBr,
|
||||
@ -337,8 +337,8 @@ and with a high maximum angular momentum.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org2821721" class="outline-3">
|
||||
<h3 id="org2821721"><span class="section-number-3">1.1</span> XYZ coordinates</h3>
|
||||
<div id="outline-container-orgb1a8911" class="outline-3">
|
||||
<h3 id="orgb1a8911"><span class="section-number-3">1.1</span> XYZ coordinates</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<pre class="example">
|
||||
5
|
||||
@ -368,8 +368,8 @@ Nuclear coordinates are stored in atomic units in transposed format.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org417bceb" class="outline-3">
|
||||
<h3 id="org417bceb"><span class="section-number-3">1.2</span> Atomic basis set</h3>
|
||||
<div id="outline-container-orgc653cfc" class="outline-3">
|
||||
<h3 id="orgc653cfc"><span class="section-number-3">1.2</span> Atomic basis set</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<pre class="example">
|
||||
HYDROGEN
|
||||
@ -1288,8 +1288,8 @@ F 1
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org78f9fcf" class="outline-3">
|
||||
<h3 id="org78f9fcf"><span class="section-number-3">1.3</span> Molecular orbitals</h3>
|
||||
<div id="outline-container-orgf539045" class="outline-3">
|
||||
<h3 id="orgf539045"><span class="section-number-3">1.3</span> Molecular orbitals</h3>
|
||||
<div class="outline-text-3" id="text-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #483d8b;">#define</span> <span style="color: #a0522d;">chbrclf_mo_num</span> ((<span style="color: #228b22;">int64_t</span>) 224)
|
||||
@ -60213,8 +60213,8 @@ F 1
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7b67396" class="outline-3">
|
||||
<h3 id="org7b67396"><span class="section-number-3">1.4</span> Electron coordinates</h3>
|
||||
<div id="outline-container-org6675fd1" class="outline-3">
|
||||
<h3 id="org6675fd1"><span class="section-number-3">1.4</span> Electron coordinates</h3>
|
||||
<div class="outline-text-3" id="text-1-4">
|
||||
<p>
|
||||
Electron coordinates are stored in atomic units in normal format.
|
||||
@ -60373,8 +60373,8 @@ Electron coordinates are stored in atomic units in normal format.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org795c6aa" class="outline-2">
|
||||
<h2 id="org795c6aa"><span class="section-number-2">2</span> N2</h2>
|
||||
<div id="outline-container-org28054e5" class="outline-2">
|
||||
<h2 id="org28054e5"><span class="section-number-2">2</span> N2</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
<p>
|
||||
This test is mainly for the Jastrow factor and was supplied by
|
||||
@ -60415,8 +60415,8 @@ treated by pseudopotentials thus excluded from the actual calculation.
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3e9c4a0" class="outline-3">
|
||||
<h3 id="org3e9c4a0"><span class="section-number-3">2.1</span> XYZ coordinates</h3>
|
||||
<div id="outline-container-org2ef74d4" class="outline-3">
|
||||
<h3 id="org2ef74d4"><span class="section-number-3">2.1</span> XYZ coordinates</h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
<pre class="example">
|
||||
2
|
||||
@ -60443,8 +60443,8 @@ Nuclear coordinates are stored in atomic units in transposed format.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8cc5b48" class="outline-3">
|
||||
<h3 id="org8cc5b48"><span class="section-number-3">2.2</span> Electron coordinates</h3>
|
||||
<div id="outline-container-orgdff9cab" class="outline-3">
|
||||
<h3 id="orgdff9cab"><span class="section-number-3">2.2</span> Electron coordinates</h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
<p>
|
||||
Electron coordinates are stored in atomic units in normal format.
|
||||
@ -60473,8 +60473,8 @@ Electron coordinates are stored in atomic units in normal format.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9393246" class="outline-3">
|
||||
<h3 id="org9393246"><span class="section-number-3">2.3</span> Jastrow related data</h3>
|
||||
<div id="outline-container-orgdd2af93" class="outline-3">
|
||||
<h3 id="orgdd2af93"><span class="section-number-3">2.3</span> Jastrow related data</h3>
|
||||
<div class="outline-text-3" id="text-2-3">
|
||||
<p>
|
||||
This test is mainly for the Jastrow factor and was supplied by
|
||||
@ -60573,7 +60573,7 @@ Ramon Panades Baruetta.
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="date">Created: 2022-03-21 Mon 17:34</p>
|
||||
<p class="date">Created: 2022-03-28 Mon 15:59</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -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-03-21 Mon 17:34 -->
|
||||
<!-- 2022-03-28 Mon 15:59 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>TREXIO I/O library</title>
|
||||
@ -311,53 +311,53 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org5d46895">1. Local functions</a>
|
||||
<li><a href="#org63dcecb">1. Local functions</a>
|
||||
<ul>
|
||||
<li><a href="#orge159a05">1.1. Open file</a></li>
|
||||
<li><a href="#org6b1a57e">1.2. Electron</a></li>
|
||||
<li><a href="#org63f0e07">1.3. Nucleus</a>
|
||||
<li><a href="#org0e81eda">1.1. Open file</a></li>
|
||||
<li><a href="#org3647d48">1.2. Electron</a></li>
|
||||
<li><a href="#orgd1574b9">1.3. Nucleus</a>
|
||||
<ul>
|
||||
<li><a href="#orga60d360">1.3.1. Number of nuclei</a></li>
|
||||
<li><a href="#org69e52e6">1.3.2. Nuclear charges</a></li>
|
||||
<li><a href="#org0b1f7d4">1.3.3. Nuclear coordinates</a></li>
|
||||
<li><a href="#orgbefbb33">1.3.1. Number of nuclei</a></li>
|
||||
<li><a href="#org00c4568">1.3.2. Nuclear charges</a></li>
|
||||
<li><a href="#orgd3a401a">1.3.3. Nuclear coordinates</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org0cb9588">1.4. Basis set and AOs</a>
|
||||
<li><a href="#orgdf32d0a">1.4. Basis set and AOs</a>
|
||||
<ul>
|
||||
<li><a href="#orgf4e0e0e">1.4.1. Basis set type</a></li>
|
||||
<li><a href="#org43c29e0">1.4.2. Number of shells</a></li>
|
||||
<li><a href="#org3d8de14">1.4.3. Number of primitives</a></li>
|
||||
<li><a href="#org8084b46">1.4.4. Number of atomic orbitals</a></li>
|
||||
<li><a href="#org26ed2ac">1.4.5. Nucleus<sub>index</sub> array</a></li>
|
||||
<li><a href="#orgbc65c00">1.4.6. Number of shells per nucleus</a></li>
|
||||
<li><a href="#org392a512">1.4.7. Angular momentum</a></li>
|
||||
<li><a href="#org23bdaf6">1.4.8. Number of primitives per shell</a></li>
|
||||
<li><a href="#org843a625">1.4.9. Indices of the primitives</a></li>
|
||||
<li><a href="#orgf17fb75">1.4.10. Normalization of the shells</a></li>
|
||||
<li><a href="#org1e4d720">1.4.11. Exponents</a></li>
|
||||
<li><a href="#org27cfe1a">1.4.12. Coefficients</a></li>
|
||||
<li><a href="#org79a9b3c">1.4.13. Normalization of the primitivies</a></li>
|
||||
<li><a href="#orgaa58984">1.4.14. AO Normalization</a></li>
|
||||
<li><a href="#org876597e">1.4.1. Basis set type</a></li>
|
||||
<li><a href="#org51c495d">1.4.2. Number of shells</a></li>
|
||||
<li><a href="#orgdb2c893">1.4.3. Number of primitives</a></li>
|
||||
<li><a href="#orgeba463a">1.4.4. Number of atomic orbitals</a></li>
|
||||
<li><a href="#orgb2e7b3f">1.4.5. Nucleus<sub>index</sub> array</a></li>
|
||||
<li><a href="#orge5cb3e2">1.4.6. Number of shells per nucleus</a></li>
|
||||
<li><a href="#org36ace70">1.4.7. Angular momentum</a></li>
|
||||
<li><a href="#org931ec89">1.4.8. Number of primitives per shell</a></li>
|
||||
<li><a href="#org35e7c9e">1.4.9. Indices of the primitives</a></li>
|
||||
<li><a href="#orge71e92a">1.4.10. Normalization of the shells</a></li>
|
||||
<li><a href="#org507fb25">1.4.11. Exponents</a></li>
|
||||
<li><a href="#orgbcbac79">1.4.12. Coefficients</a></li>
|
||||
<li><a href="#org03200a0">1.4.13. Normalization of the primitivies</a></li>
|
||||
<li><a href="#orgd1c2bb0">1.4.14. AO Normalization</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgbb10c9c">1.5. Molecular orbitals</a>
|
||||
<li><a href="#org468f3fe">1.5. Molecular orbitals</a>
|
||||
<ul>
|
||||
<li><a href="#orgf8a2075">1.5.1. Number of MOs</a></li>
|
||||
<li><a href="#orgdfdc37b">1.5.2. MO coefficients</a></li>
|
||||
<li><a href="#orgf86bb5b">1.5.1. Number of MOs</a></li>
|
||||
<li><a href="#org6052c4b">1.5.2. MO coefficients</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org925b7b1">1.6. <span class="todo TODO">TODO</span> ECP</a></li>
|
||||
<li><a href="#org688a65f">1.6. <span class="todo TODO">TODO</span> ECP</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org490c9cd">2. Read everything</a></li>
|
||||
<li><a href="#org582cc34">3. Test</a>
|
||||
<li><a href="#orge2b4b3c">2. Read everything</a></li>
|
||||
<li><a href="#org76a5c20">3. Test</a>
|
||||
<ul>
|
||||
<li>
|
||||
<ul>
|
||||
<li><a href="#orgda66114">3.0.1. Electrons</a></li>
|
||||
<li><a href="#org614b7f9">3.0.2. Nuclei</a></li>
|
||||
<li><a href="#org2a3c870">3.0.3. Atomic basis</a></li>
|
||||
<li><a href="#org34c99e4">3.0.4. MO Basis</a></li>
|
||||
<li><a href="#orgd619ad5">3.0.1. Electrons</a></li>
|
||||
<li><a href="#orge423e42">3.0.2. Nuclei</a></li>
|
||||
<li><a href="#org1893457">3.0.3. Atomic basis</a></li>
|
||||
<li><a href="#org63add07">3.0.4. MO Basis</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -366,8 +366,8 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5d46895" class="outline-2">
|
||||
<h2 id="org5d46895"><span class="section-number-2">1</span> Local functions</h2>
|
||||
<div id="outline-container-org63dcecb" class="outline-2">
|
||||
<h2 id="org63dcecb"><span class="section-number-2">1</span> Local functions</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
Functions defined in this section are all local: they should not be
|
||||
@ -390,8 +390,8 @@ In the functions defined in this section, we use as local variables
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge159a05" class="outline-3">
|
||||
<h3 id="orge159a05"><span class="section-number-3">1.1</span> Open file</h3>
|
||||
<div id="outline-container-org0e81eda" class="outline-3">
|
||||
<h3 id="org0e81eda"><span class="section-number-3">1.1</span> Open file</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<p>
|
||||
We first define a helper function to open a file by first trying to
|
||||
@ -423,8 +423,8 @@ groups of data by passing the <code>trexio_t</code> handle.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6b1a57e" class="outline-3">
|
||||
<h3 id="org6b1a57e"><span class="section-number-3">1.2</span> Electron</h3>
|
||||
<div id="outline-container-org3647d48" class="outline-3">
|
||||
<h3 id="org3647d48"><span class="section-number-3">1.2</span> Electron</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<p>
|
||||
In this section we read all the data into the electron data structure.
|
||||
@ -475,8 +475,8 @@ We read the number of up-spin and down-spin electrons.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org63f0e07" class="outline-3">
|
||||
<h3 id="org63f0e07"><span class="section-number-3">1.3</span> Nucleus</h3>
|
||||
<div id="outline-container-orgd1574b9" class="outline-3">
|
||||
<h3 id="orgd1574b9"><span class="section-number-3">1.3</span> Nucleus</h3>
|
||||
<div class="outline-text-3" id="text-1-3">
|
||||
<p>
|
||||
In this section we read the number of nuclei, the molecular geometry and nuclear charges.
|
||||
@ -496,8 +496,8 @@ In this section we read the number of nuclei, the molecular geometry and nuclear
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga60d360" class="outline-4">
|
||||
<h4 id="orga60d360"><span class="section-number-4">1.3.1</span> Number of nuclei</h4>
|
||||
<div id="outline-container-orgbefbb33" class="outline-4">
|
||||
<h4 id="orgbefbb33"><span class="section-number-4">1.3.1</span> Number of nuclei</h4>
|
||||
<div class="outline-text-4" id="text-1-3-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">nucleus_num</span> = 0L;
|
||||
@ -520,8 +520,8 @@ rc = qmckl_set_nucleus_num(context, nucleus_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org69e52e6" class="outline-4">
|
||||
<h4 id="org69e52e6"><span class="section-number-4">1.3.2</span> Nuclear charges</h4>
|
||||
<div id="outline-container-org00c4568" class="outline-4">
|
||||
<h4 id="org00c4568"><span class="section-number-4">1.3.2</span> Nuclear charges</h4>
|
||||
<div class="outline-text-4" id="text-1-3-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">{
|
||||
@ -561,8 +561,8 @@ rc = qmckl_set_nucleus_num(context, nucleus_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0b1f7d4" class="outline-4">
|
||||
<h4 id="org0b1f7d4"><span class="section-number-4">1.3.3</span> Nuclear coordinates</h4>
|
||||
<div id="outline-container-orgd3a401a" class="outline-4">
|
||||
<h4 id="orgd3a401a"><span class="section-number-4">1.3.3</span> Nuclear coordinates</h4>
|
||||
<div class="outline-text-4" id="text-1-3-3">
|
||||
<p>
|
||||
Now, we read the molecular geometry. It is stored in normal format
|
||||
@ -617,8 +617,8 @@ in the TREXIO file (<code>'N'</code>), so it will be automatically transposed in
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0cb9588" class="outline-3">
|
||||
<h3 id="org0cb9588"><span class="section-number-3">1.4</span> Basis set and AOs</h3>
|
||||
<div id="outline-container-orgdf32d0a" class="outline-3">
|
||||
<h3 id="orgdf32d0a"><span class="section-number-3">1.4</span> Basis set and AOs</h3>
|
||||
<div class="outline-text-3" id="text-1-4">
|
||||
<p>
|
||||
In this section we read the atomic basis set and atomic orbitals.
|
||||
@ -644,8 +644,8 @@ In this section we read the atomic basis set and atomic orbitals.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf4e0e0e" class="outline-4">
|
||||
<h4 id="orgf4e0e0e"><span class="section-number-4">1.4.1</span> Basis set type</h4>
|
||||
<div id="outline-container-org876597e" class="outline-4">
|
||||
<h4 id="org876597e"><span class="section-number-4">1.4.1</span> Basis set type</h4>
|
||||
<div class="outline-text-4" id="text-1-4-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #483d8b;">#define</span> <span style="color: #a0522d;">MAX_STR_LEN</span> 1024
|
||||
@ -676,8 +676,8 @@ In this section we read the atomic basis set and atomic orbitals.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org43c29e0" class="outline-4">
|
||||
<h4 id="org43c29e0"><span class="section-number-4">1.4.2</span> Number of shells</h4>
|
||||
<div id="outline-container-org51c495d" class="outline-4">
|
||||
<h4 id="org51c495d"><span class="section-number-4">1.4.2</span> Number of shells</h4>
|
||||
<div class="outline-text-4" id="text-1-4-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">shell_num</span> = 0L;
|
||||
@ -701,8 +701,8 @@ rc = qmckl_set_ao_basis_shell_num(context, shell_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3d8de14" class="outline-4">
|
||||
<h4 id="org3d8de14"><span class="section-number-4">1.4.3</span> Number of primitives</h4>
|
||||
<div id="outline-container-orgdb2c893" class="outline-4">
|
||||
<h4 id="orgdb2c893"><span class="section-number-4">1.4.3</span> Number of primitives</h4>
|
||||
<div class="outline-text-4" id="text-1-4-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">prim_num</span> = 0L;
|
||||
@ -726,8 +726,8 @@ rc = qmckl_set_ao_basis_prim_num(context, prim_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8084b46" class="outline-4">
|
||||
<h4 id="org8084b46"><span class="section-number-4">1.4.4</span> Number of atomic orbitals</h4>
|
||||
<div id="outline-container-orgeba463a" class="outline-4">
|
||||
<h4 id="orgeba463a"><span class="section-number-4">1.4.4</span> Number of atomic orbitals</h4>
|
||||
<div class="outline-text-4" id="text-1-4-4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">ao_num</span> = 0LL;
|
||||
@ -751,8 +751,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org26ed2ac" class="outline-4">
|
||||
<h4 id="org26ed2ac"><span class="section-number-4">1.4.5</span> Nucleus<sub>index</sub> array</h4>
|
||||
<div id="outline-container-orgb2e7b3f" class="outline-4">
|
||||
<h4 id="orgb2e7b3f"><span class="section-number-4">1.4.5</span> Nucleus<sub>index</sub> array</h4>
|
||||
<div class="outline-text-4" id="text-1-4-5">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">{
|
||||
@ -839,8 +839,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbc65c00" class="outline-4">
|
||||
<h4 id="orgbc65c00"><span class="section-number-4">1.4.6</span> Number of shells per nucleus</h4>
|
||||
<div id="outline-container-orge5cb3e2" class="outline-4">
|
||||
<h4 id="orge5cb3e2"><span class="section-number-4">1.4.6</span> Number of shells per nucleus</h4>
|
||||
<div class="outline-text-4" id="text-1-4-6">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">{
|
||||
@ -925,8 +925,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org392a512" class="outline-4">
|
||||
<h4 id="org392a512"><span class="section-number-4">1.4.7</span> Angular momentum</h4>
|
||||
<div id="outline-container-org36ace70" class="outline-4">
|
||||
<h4 id="org36ace70"><span class="section-number-4">1.4.7</span> Angular momentum</h4>
|
||||
<div class="outline-text-4" id="text-1-4-7">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">{
|
||||
@ -971,8 +971,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org23bdaf6" class="outline-4">
|
||||
<h4 id="org23bdaf6"><span class="section-number-4">1.4.8</span> Number of primitives per shell</h4>
|
||||
<div id="outline-container-org931ec89" class="outline-4">
|
||||
<h4 id="org931ec89"><span class="section-number-4">1.4.8</span> Number of primitives per shell</h4>
|
||||
<div class="outline-text-4" id="text-1-4-8">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">{
|
||||
@ -1056,8 +1056,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org843a625" class="outline-4">
|
||||
<h4 id="org843a625"><span class="section-number-4">1.4.9</span> Indices of the primitives</h4>
|
||||
<div id="outline-container-org35e7c9e" class="outline-4">
|
||||
<h4 id="org35e7c9e"><span class="section-number-4">1.4.9</span> Indices of the primitives</h4>
|
||||
<div class="outline-text-4" id="text-1-4-9">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">{
|
||||
@ -1137,8 +1137,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf17fb75" class="outline-4">
|
||||
<h4 id="orgf17fb75"><span class="section-number-4">1.4.10</span> Normalization of the shells</h4>
|
||||
<div id="outline-container-orge71e92a" class="outline-4">
|
||||
<h4 id="orge71e92a"><span class="section-number-4">1.4.10</span> Normalization of the shells</h4>
|
||||
<div class="outline-text-4" id="text-1-4-10">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">{
|
||||
@ -1183,8 +1183,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1e4d720" class="outline-4">
|
||||
<h4 id="org1e4d720"><span class="section-number-4">1.4.11</span> Exponents</h4>
|
||||
<div id="outline-container-org507fb25" class="outline-4">
|
||||
<h4 id="org507fb25"><span class="section-number-4">1.4.11</span> Exponents</h4>
|
||||
<div class="outline-text-4" id="text-1-4-11">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">{
|
||||
@ -1229,8 +1229,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org27cfe1a" class="outline-4">
|
||||
<h4 id="org27cfe1a"><span class="section-number-4">1.4.12</span> Coefficients</h4>
|
||||
<div id="outline-container-orgbcbac79" class="outline-4">
|
||||
<h4 id="orgbcbac79"><span class="section-number-4">1.4.12</span> Coefficients</h4>
|
||||
<div class="outline-text-4" id="text-1-4-12">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">{
|
||||
@ -1275,8 +1275,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org79a9b3c" class="outline-4">
|
||||
<h4 id="org79a9b3c"><span class="section-number-4">1.4.13</span> Normalization of the primitivies</h4>
|
||||
<div id="outline-container-org03200a0" class="outline-4">
|
||||
<h4 id="org03200a0"><span class="section-number-4">1.4.13</span> Normalization of the primitivies</h4>
|
||||
<div class="outline-text-4" id="text-1-4-13">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">{
|
||||
@ -1321,8 +1321,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgaa58984" class="outline-4">
|
||||
<h4 id="orgaa58984"><span class="section-number-4">1.4.14</span> AO Normalization</h4>
|
||||
<div id="outline-container-orgd1c2bb0" class="outline-4">
|
||||
<h4 id="orgd1c2bb0"><span class="section-number-4">1.4.14</span> AO Normalization</h4>
|
||||
<div class="outline-text-4" id="text-1-4-14">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">{
|
||||
@ -1377,8 +1377,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgbb10c9c" class="outline-3">
|
||||
<h3 id="orgbb10c9c"><span class="section-number-3">1.5</span> Molecular orbitals</h3>
|
||||
<div id="outline-container-org468f3fe" class="outline-3">
|
||||
<h3 id="org468f3fe"><span class="section-number-3">1.5</span> Molecular orbitals</h3>
|
||||
<div class="outline-text-3" id="text-1-5">
|
||||
<p>
|
||||
In this section we read the MO coefficients.
|
||||
@ -1404,8 +1404,8 @@ In this section we read the MO coefficients.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf8a2075" class="outline-4">
|
||||
<h4 id="orgf8a2075"><span class="section-number-4">1.5.1</span> Number of MOs</h4>
|
||||
<div id="outline-container-orgf86bb5b" class="outline-4">
|
||||
<h4 id="orgf86bb5b"><span class="section-number-4">1.5.1</span> Number of MOs</h4>
|
||||
<div class="outline-text-4" id="text-1-5-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">mo_num</span> = 0L;
|
||||
@ -1428,8 +1428,8 @@ rc = qmckl_set_mo_basis_mo_num(context, mo_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgdfdc37b" class="outline-4">
|
||||
<h4 id="orgdfdc37b"><span class="section-number-4">1.5.2</span> MO coefficients</h4>
|
||||
<div id="outline-container-org6052c4b" class="outline-4">
|
||||
<h4 id="org6052c4b"><span class="section-number-4">1.5.2</span> MO coefficients</h4>
|
||||
<div class="outline-text-4" id="text-1-5-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">{
|
||||
@ -1478,12 +1478,12 @@ rc = qmckl_set_mo_basis_mo_num(context, mo_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org925b7b1" class="outline-3">
|
||||
<h3 id="org925b7b1"><span class="section-number-3">1.6</span> <span class="todo TODO">TODO</span> ECP</h3>
|
||||
<div id="outline-container-org688a65f" class="outline-3">
|
||||
<h3 id="org688a65f"><span class="section-number-3">1.6</span> <span class="todo TODO">TODO</span> ECP</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org490c9cd" class="outline-2">
|
||||
<h2 id="org490c9cd"><span class="section-number-2">2</span> Read everything</h2>
|
||||
<div id="outline-container-orge2b4b3c" class="outline-2">
|
||||
<h2 id="orge2b4b3c"><span class="section-number-2">2</span> Read everything</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
|
||||
@ -1570,8 +1570,8 @@ rc = qmckl_set_mo_basis_mo_num(context, mo_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org582cc34" class="outline-2">
|
||||
<h2 id="org582cc34"><span class="section-number-2">3</span> Test</h2>
|
||||
<div id="outline-container-org76a5c20" class="outline-2">
|
||||
<h2 id="org76a5c20"><span class="section-number-2">3</span> Test</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #483d8b;">#ifdef</span> HAVE_TREXIO
|
||||
@ -1605,8 +1605,8 @@ rc = qmckl_trexio_read(context, fname, 255);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgda66114" class="outline-4">
|
||||
<h4 id="orgda66114"><span class="section-number-4">3.0.1</span> Electrons</h4>
|
||||
<div id="outline-container-orgd619ad5" class="outline-4">
|
||||
<h4 id="orgd619ad5"><span class="section-number-4">3.0.1</span> Electrons</h4>
|
||||
<div class="outline-text-4" id="text-3-0-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">printf(<span style="color: #8b2252;">"Electrons\n"</span>);
|
||||
@ -1624,8 +1624,8 @@ rc = qmckl_get_electron_down_num(context, &dn_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org614b7f9" class="outline-4">
|
||||
<h4 id="org614b7f9"><span class="section-number-4">3.0.2</span> Nuclei</h4>
|
||||
<div id="outline-container-orge423e42" class="outline-4">
|
||||
<h4 id="orge423e42"><span class="section-number-4">3.0.2</span> Nuclei</h4>
|
||||
<div class="outline-text-4" id="text-3-0-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">printf(<span style="color: #8b2252;">"Nuclei\n"</span>);
|
||||
@ -1665,8 +1665,8 @@ coord = <span style="color: #008b8b;">NULL</span>;
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2a3c870" class="outline-4">
|
||||
<h4 id="org2a3c870"><span class="section-number-4">3.0.3</span> Atomic basis</h4>
|
||||
<div id="outline-container-org1893457" class="outline-4">
|
||||
<h4 id="org1893457"><span class="section-number-4">3.0.3</span> Atomic basis</h4>
|
||||
<div class="outline-text-4" id="text-3-0-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">printf(<span style="color: #8b2252;">"Atomic basis\n"</span>);
|
||||
@ -1774,8 +1774,8 @@ prim_factor = <span style="color: #008b8b;">NULL</span>;
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org34c99e4" class="outline-4">
|
||||
<h4 id="org34c99e4"><span class="section-number-4">3.0.4</span> MO Basis</h4>
|
||||
<div id="outline-container-org63add07" class="outline-4">
|
||||
<h4 id="org63add07"><span class="section-number-4">3.0.4</span> MO Basis</h4>
|
||||
<div class="outline-text-4" id="text-3-0-4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">printf(<span style="color: #8b2252;">"MOs\n"</span>);
|
||||
@ -1805,7 +1805,7 @@ charge = <span style="color: #008b8b;">NULL</span>;
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-03-21 Mon 17:34</p>
|
||||
<p class="date">Created: 2022-03-28 Mon 15:59</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -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-03-21 Mon 17:34 -->
|
||||
<!-- 2022-03-28 Mon 15:59 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Verificarlo CI</title>
|
||||
@ -311,22 +311,22 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#orgf098655">1. Verificarlo probes</a>
|
||||
<li><a href="#orgab89f46">1. Verificarlo probes</a>
|
||||
<ul>
|
||||
<li><a href="#org291027a">1.1. Automatically initialize the <code>vfc_probe</code> object if <code>VFC_CI</code> is defined</a></li>
|
||||
<li><a href="#orge1d5d30">1.2. Standard probe, without check</a></li>
|
||||
<li><a href="#org2fc82bd">1.3. Probe with absolute check</a></li>
|
||||
<li><a href="#orga3e628c">1.4. Probe with relative check</a></li>
|
||||
<li><a href="#orga341ec7">1.5. Automatically delete and dump the vfc<sub>probe</sub> object if <code>VFC_CI</code> is defined</a></li>
|
||||
<li><a href="#org91a7b48">1.1. Automatically initialize the <code>vfc_probe</code> object if <code>VFC_CI</code> is defined</a></li>
|
||||
<li><a href="#org7a3222e">1.2. Standard probe, without check</a></li>
|
||||
<li><a href="#org826e20c">1.3. Probe with absolute check</a></li>
|
||||
<li><a href="#orga788b43">1.4. Probe with relative check</a></li>
|
||||
<li><a href="#org86e8f6f">1.5. Automatically delete and dump the vfc<sub>probe</sub> object if <code>VFC_CI</code> is defined</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orga2e3bb3">2. Fortran wrappers</a></li>
|
||||
<li><a href="#orgcbdae05">2. Fortran wrappers</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf098655" class="outline-2">
|
||||
<h2 id="orgf098655"><span class="section-number-2">1</span> Verificarlo probes</h2>
|
||||
<div id="outline-container-orgab89f46" class="outline-2">
|
||||
<h2 id="orgab89f46"><span class="section-number-2">1</span> Verificarlo probes</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
This file contains utility functions to enable the Verificarlo
|
||||
@ -377,8 +377,8 @@ To learn more about Verificarlo CI :
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org291027a" class="outline-3">
|
||||
<h3 id="org291027a"><span class="section-number-3">1.1</span> Automatically initialize the <code>vfc_probe</code> object if <code>VFC_CI</code> is defined</h3>
|
||||
<div id="outline-container-org91a7b48" class="outline-3">
|
||||
<h3 id="org91a7b48"><span class="section-number-3">1.1</span> Automatically initialize the <code>vfc_probe</code> object if <code>VFC_CI</code> is defined</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #483d8b;">#ifdef</span> VFC_CI
|
||||
@ -398,8 +398,8 @@ To learn more about Verificarlo CI :
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge1d5d30" class="outline-3">
|
||||
<h3 id="orge1d5d30"><span class="section-number-3">1.2</span> Standard probe, without check</h3>
|
||||
<div id="outline-container-org7a3222e" class="outline-3">
|
||||
<h3 id="org7a3222e"><span class="section-number-3">1.2</span> Standard probe, without check</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<ul class="org-ul">
|
||||
<li>if <code>VFC_CI</code> is defined, place a standard probe</li>
|
||||
@ -434,8 +434,8 @@ if <code>VFC_CI</code> is undefined, return <code>false</code> (no error)
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2fc82bd" class="outline-3">
|
||||
<h3 id="org2fc82bd"><span class="section-number-3">1.3</span> Probe with absolute check</h3>
|
||||
<div id="outline-container-org826e20c" class="outline-3">
|
||||
<h3 id="org826e20c"><span class="section-number-3">1.3</span> Probe with absolute check</h3>
|
||||
<div class="outline-text-3" id="text-1-3">
|
||||
<ul class="org-ul">
|
||||
<li>if <code>VFC_CI</code> is defined, place a probe with an absolute check</li>
|
||||
@ -475,8 +475,8 @@ and accuracy
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga3e628c" class="outline-3">
|
||||
<h3 id="orga3e628c"><span class="section-number-3">1.4</span> Probe with relative check</h3>
|
||||
<div id="outline-container-orga788b43" class="outline-3">
|
||||
<h3 id="orga788b43"><span class="section-number-3">1.4</span> Probe with relative check</h3>
|
||||
<div class="outline-text-3" id="text-1-4">
|
||||
<ul class="org-ul">
|
||||
<li>if <code>VFC_CI</code> is defined, place a probe with a relative check</li>
|
||||
@ -516,8 +516,8 @@ and accuracy
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga341ec7" class="outline-3">
|
||||
<h3 id="orga341ec7"><span class="section-number-3">1.5</span> Automatically delete and dump the vfc<sub>probe</sub> object if <code>VFC_CI</code> is defined</h3>
|
||||
<div id="outline-container-org86e8f6f" class="outline-3">
|
||||
<h3 id="org86e8f6f"><span class="section-number-3">1.5</span> Automatically delete and dump the vfc<sub>probe</sub> object if <code>VFC_CI</code> is defined</h3>
|
||||
<div class="outline-text-3" id="text-1-5">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #483d8b;">#ifdef</span> VFC_CI
|
||||
@ -538,8 +538,8 @@ and accuracy
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga2e3bb3" class="outline-2">
|
||||
<h2 id="orga2e3bb3"><span class="section-number-2">2</span> Fortran wrappers</h2>
|
||||
<div id="outline-container-orgcbdae05" class="outline-2">
|
||||
<h2 id="orgcbdae05"><span class="section-number-2">2</span> Fortran wrappers</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">bool</span> <span style="color: #0000ff;">qmckl_probe_f</span>(
|
||||
@ -663,7 +663,7 @@ and accuracy
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-03-21 Mon 17:34</p>
|
||||
<p class="date">Created: 2022-03-28 Mon 15:59</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
Loading…
Reference in New Issue
Block a user