mirror of
https://github.com/TREX-CoE/qmckl.git
synced 2024-11-03 20:54:09 +01:00
Deploying to gh-pages from @ TREX-CoE/qmckl@1a5b76157b 🚀
This commit is contained in:
parent
3c6bd0a10a
commit
b7ce0b77d6
@ -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-02-19 Sat 18:26 -->
|
||||
<!-- 2022-02-24 Thu 18:08 -->
|
||||
<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-02-19 Sat 18:26</p>
|
||||
<p class="date">Created: 2022-02-24 Thu 18:08</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-02-19 Sat 18:26 -->
|
||||
<!-- 2022-02-24 Thu 18:08 -->
|
||||
<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="#org92e17d8">1. Installing QMCkl</a>
|
||||
<li><a href="#org0d247cb">1. Installing QMCkl</a>
|
||||
<ul>
|
||||
<li><a href="#org39eb65f">1.1. Installing from the released tarball (for end users)</a></li>
|
||||
<li><a href="#org9b278f7">1.2. Installing from the source repository (for developers)</a></li>
|
||||
<li><a href="#orge19f0f3">1.1. Installing from the released tarball (for end users)</a></li>
|
||||
<li><a href="#org995c3a2">1.2. Installing from the source repository (for developers)</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org9977ae4">2. Using QMCkl</a></li>
|
||||
<li><a href="#orgb82b89f">3. Developing in QMCkl</a>
|
||||
<li><a href="#orgf3a4c91">2. Using QMCkl</a></li>
|
||||
<li><a href="#orga914444">3. Developing in QMCkl</a>
|
||||
<ul>
|
||||
<li><a href="#orgeca1956">3.1. Literate programming</a></li>
|
||||
<li><a href="#org0a37540">3.2. Source code editing</a></li>
|
||||
<li><a href="#orgb620efc">3.3. Choice of the programming language</a></li>
|
||||
<li><a href="#org0e03781">3.4. Coding rules</a></li>
|
||||
<li><a href="#org46d3946">3.5. Design of the library</a></li>
|
||||
<li><a href="#orgbe75107">3.6. Naming conventions</a></li>
|
||||
<li><a href="#orgd2d13f1">3.7. Application programming interface</a></li>
|
||||
<li><a href="#org2cc33a8">3.8. Global state</a></li>
|
||||
<li><a href="#org016754f">3.9. Headers</a></li>
|
||||
<li><a href="#orga9e18e4">3.10. Low-level functions</a></li>
|
||||
<li><a href="#org205591d">3.11. High-level functions</a></li>
|
||||
<li><a href="#orgee6f526">3.12. Numerical precision</a></li>
|
||||
<li><a href="#orgcd10233">3.13. Algorithms</a></li>
|
||||
<li><a href="#org614b894">3.1. Literate programming</a></li>
|
||||
<li><a href="#org24deeb6">3.2. Source code editing</a></li>
|
||||
<li><a href="#orgc9e5fb2">3.3. Choice of the programming language</a></li>
|
||||
<li><a href="#org6964bec">3.4. Coding rules</a></li>
|
||||
<li><a href="#org0450c44">3.5. Design of the library</a></li>
|
||||
<li><a href="#org3b1ee2b">3.6. Naming conventions</a></li>
|
||||
<li><a href="#org4796829">3.7. Application programming interface</a></li>
|
||||
<li><a href="#org9fc14f4">3.8. Global state</a></li>
|
||||
<li><a href="#orgfbe3ae6">3.9. Headers</a></li>
|
||||
<li><a href="#orgbf0cbf0">3.10. Low-level functions</a></li>
|
||||
<li><a href="#org53a2777">3.11. High-level functions</a></li>
|
||||
<li><a href="#orgfa80013">3.12. Numerical precision</a></li>
|
||||
<li><a href="#orgd3d5adb">3.13. Algorithms</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org92e17d8" class="outline-2">
|
||||
<h2 id="org92e17d8"><span class="section-number-2">1</span> Installing QMCkl</h2>
|
||||
<div id="outline-container-org0d247cb" class="outline-2">
|
||||
<h2 id="org0d247cb"><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-org39eb65f" class="outline-3">
|
||||
<h3 id="org39eb65f"><span class="section-number-3">1.1</span> Installing from the released tarball (for end users)</h3>
|
||||
<div id="outline-container-orge19f0f3" class="outline-3">
|
||||
<h3 id="orge19f0f3"><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-org9b278f7" class="outline-3">
|
||||
<h3 id="org9b278f7"><span class="section-number-3">1.2</span> Installing from the source repository (for developers)</h3>
|
||||
<div id="outline-container-org995c3a2" class="outline-3">
|
||||
<h3 id="org995c3a2"><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-org9977ae4" class="outline-2">
|
||||
<h2 id="org9977ae4"><span class="section-number-2">2</span> Using QMCkl</h2>
|
||||
<div id="outline-container-orgf3a4c91" class="outline-2">
|
||||
<h2 id="orgf3a4c91"><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-orgb82b89f" class="outline-2">
|
||||
<h2 id="orgb82b89f"><span class="section-number-2">3</span> Developing in QMCkl</h2>
|
||||
<div id="outline-container-orga914444" class="outline-2">
|
||||
<h2 id="orga914444"><span class="section-number-2">3</span> Developing in QMCkl</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
</div>
|
||||
<div id="outline-container-orgeca1956" class="outline-3">
|
||||
<h3 id="orgeca1956"><span class="section-number-3">3.1</span> Literate programming</h3>
|
||||
<div id="outline-container-org614b894" class="outline-3">
|
||||
<h3 id="org614b894"><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-org0a37540" class="outline-3">
|
||||
<h3 id="org0a37540"><span class="section-number-3">3.2</span> Source code editing</h3>
|
||||
<div id="outline-container-org24deeb6" class="outline-3">
|
||||
<h3 id="org24deeb6"><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-orgb620efc" class="outline-3">
|
||||
<h3 id="orgb620efc"><span class="section-number-3">3.3</span> Choice of the programming language</h3>
|
||||
<div id="outline-container-orgc9e5fb2" class="outline-3">
|
||||
<h3 id="orgc9e5fb2"><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-org0e03781" class="outline-3">
|
||||
<h3 id="org0e03781"><span class="section-number-3">3.4</span> Coding rules</h3>
|
||||
<div id="outline-container-org6964bec" class="outline-3">
|
||||
<h3 id="org6964bec"><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-org46d3946" class="outline-3">
|
||||
<h3 id="org46d3946"><span class="section-number-3">3.5</span> Design of the library</h3>
|
||||
<div id="outline-container-org0450c44" class="outline-3">
|
||||
<h3 id="org0450c44"><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-orgbe75107" class="outline-3">
|
||||
<h3 id="orgbe75107"><span class="section-number-3">3.6</span> Naming conventions</h3>
|
||||
<div id="outline-container-org3b1ee2b" class="outline-3">
|
||||
<h3 id="org3b1ee2b"><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-orgd2d13f1" class="outline-3">
|
||||
<h3 id="orgd2d13f1"><span class="section-number-3">3.7</span> Application programming interface</h3>
|
||||
<div id="outline-container-org4796829" class="outline-3">
|
||||
<h3 id="org4796829"><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-org2cc33a8" class="outline-3">
|
||||
<h3 id="org2cc33a8"><span class="section-number-3">3.8</span> Global state</h3>
|
||||
<div id="outline-container-org9fc14f4" class="outline-3">
|
||||
<h3 id="org9fc14f4"><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="org60ffa17">=context=</a> contains the global
|
||||
<code>qmckl_context_create</code> function. The <a id="orge2848c8">=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-org016754f" class="outline-3">
|
||||
<h3 id="org016754f"><span class="section-number-3">3.9</span> Headers</h3>
|
||||
<div id="outline-container-orgfbe3ae6" class="outline-3">
|
||||
<h3 id="orgfbe3ae6"><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-orga9e18e4" class="outline-3">
|
||||
<h3 id="orga9e18e4"><span class="section-number-3">3.10</span> Low-level functions</h3>
|
||||
<div id="outline-container-orgbf0cbf0" class="outline-3">
|
||||
<h3 id="orgbf0cbf0"><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="#org60ffa17"><code>context</code></a>. They are not allowed to allocate/deallocate memory, and
|
||||
<a href="#orge2848c8"><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-org205591d" class="outline-3">
|
||||
<h3 id="org205591d"><span class="section-number-3">3.11</span> High-level functions</h3>
|
||||
<div id="outline-container-org53a2777" class="outline-3">
|
||||
<h3 id="org53a2777"><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-orgee6f526" class="outline-3">
|
||||
<h3 id="orgee6f526"><span class="section-number-3">3.12</span> Numerical precision</h3>
|
||||
<div id="outline-container-orgfa80013" class="outline-3">
|
||||
<h3 id="orgfa80013"><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="#org60ffa17"><code>context</code></a> variable.
|
||||
specified in the <a href="#orge2848c8"><code>context</code></a> variable.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
@ -896,8 +896,8 @@ following points :
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgcd10233" class="outline-3">
|
||||
<h3 id="orgcd10233"><span class="section-number-3">3.13</span> Algorithms</h3>
|
||||
<div id="outline-container-orgd3d5adb" class="outline-3">
|
||||
<h3 id="orgd3d5adb"><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-02-19 Sat 18:26</p>
|
||||
<p class="date">Created: 2022-02-24 Thu 18:08</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
170
qmckl_ao.html
170
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-02-19 Sat 18:26 -->
|
||||
<!-- 2022-02-24 Thu 18:08 -->
|
||||
<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,59 +333,59 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org7d1bf10">1. Introduction</a></li>
|
||||
<li><a href="#orgecefd0f">2. Context</a>
|
||||
<li><a href="#org59a975d">1. Introduction</a></li>
|
||||
<li><a href="#org6c7e30e">2. Context</a>
|
||||
<ul>
|
||||
<li><a href="#orgba66242">2.1. Constant data</a>
|
||||
<li><a href="#org625feda">2.1. Constant data</a>
|
||||
<ul>
|
||||
<li><a href="#org7c661c7">2.1.1. Initialization functions</a>
|
||||
<li><a href="#org07376c3">2.1.1. Initialization functions</a>
|
||||
<ul>
|
||||
<li><a href="#orgafa3ed0">2.1.1.1. C interface</a></li>
|
||||
<li><a href="#org2f914ea">2.1.1.2. Fortran interface</a></li>
|
||||
<li><a href="#orga73eadc">2.1.1.1. C interface</a></li>
|
||||
<li><a href="#orgff21201">2.1.1.2. Fortran interface</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org47b5956">2.1.2. Access functions</a>
|
||||
<li><a href="#orgad312c6">2.1.2. Access functions</a>
|
||||
<ul>
|
||||
<li><a href="#org2b1548d">2.1.2.1. C interface</a></li>
|
||||
<li><a href="#org79e86ea">2.1.2.2. Fortran interface</a></li>
|
||||
<li><a href="#org280ec92">2.1.2.1. C interface</a></li>
|
||||
<li><a href="#orgcbfcea0">2.1.2.2. Fortran interface</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org6a65f10">2.2. Computed data</a>
|
||||
<li><a href="#orga0b5f35">2.2. Computed data</a>
|
||||
<ul>
|
||||
<li><a href="#org37fa14f">2.2.1. After initialization</a></li>
|
||||
<li><a href="#org731097e">2.2.2. Access functions</a></li>
|
||||
<li><a href="#orgd953061">2.2.1. After initialization</a></li>
|
||||
<li><a href="#org3e081ff">2.2.2. Access functions</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org51fd0ef">3. Radial part</a>
|
||||
<li><a href="#org68a2b6a">3. Radial part</a>
|
||||
<ul>
|
||||
<li><a href="#orgc9385ae">3.1. General functions for Gaussian basis functions</a></li>
|
||||
<li><a href="#org7e862e9">3.2. Computation of primitives</a></li>
|
||||
<li><a href="#orgb680efa">3.3. Computation of shells</a></li>
|
||||
<li><a href="#org52440db">3.1. General functions for Gaussian basis functions</a></li>
|
||||
<li><a href="#org731b4aa">3.2. Computation of primitives</a></li>
|
||||
<li><a href="#org1752bd2">3.3. Computation of shells</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org507132f">4. Polynomial part</a>
|
||||
<li><a href="#org24d3d5b">4. Polynomial part</a>
|
||||
<ul>
|
||||
<li><a href="#org9795792">4.1. General functions for Powers of \(x-X_i\)</a></li>
|
||||
<li><a href="#org1ecbdb3">4.2. General functions for Value, Gradient and Laplacian of a polynomial</a></li>
|
||||
<li><a href="#org7359492">4.1. General functions for Powers of \(x-X_i\)</a></li>
|
||||
<li><a href="#org0f15eb2">4.2. General functions for Value, Gradient and Laplacian of a polynomial</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgae897f8">5. Combining radial and polynomial parts</a>
|
||||
<li><a href="#org93c7ce5">5. Combining radial and polynomial parts</a>
|
||||
<ul>
|
||||
<li><a href="#org6fac41e">5.1. Unoptimized version</a></li>
|
||||
<li><a href="#orgce8ae92">5.2. HPC version</a></li>
|
||||
<li><a href="#org7fb7d9b">5.3. Interfaces</a></li>
|
||||
<li><a href="#org0997ed1">5.1. Unoptimized version</a></li>
|
||||
<li><a href="#org65da8ec">5.2. HPC version</a></li>
|
||||
<li><a href="#org3a8ef8a">5.3. Interfaces</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7d1bf10" class="outline-2">
|
||||
<h2 id="org7d1bf10"><span class="section-number-2">1</span> Introduction</h2>
|
||||
<div id="outline-container-org59a975d" class="outline-2">
|
||||
<h2 id="org59a975d"><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
|
||||
@ -438,19 +438,19 @@ gradients and Laplacian of the atomic basis functions.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgecefd0f" class="outline-2">
|
||||
<h2 id="orgecefd0f"><span class="section-number-2">2</span> Context</h2>
|
||||
<div id="outline-container-org6c7e30e" class="outline-2">
|
||||
<h2 id="org6c7e30e"><span class="section-number-2">2</span> Context</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-orgba66242" class="outline-3">
|
||||
<h3 id="orgba66242"><span class="section-number-3">2.1</span> Constant data</h3>
|
||||
<div id="outline-container-org625feda" class="outline-3">
|
||||
<h3 id="org625feda"><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="org6bdff7f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org27173d7" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -624,7 +624,7 @@ calling the functions:
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-C" id="orgebcb124"><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="org2ab5578"><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>,
|
||||
@ -661,7 +661,7 @@ For array variables, use the rule:
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-C" id="org9d31860"><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="org401be18"><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>);
|
||||
|
||||
@ -699,17 +699,17 @@ For array variables, use the rule:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7c661c7" class="outline-4">
|
||||
<h4 id="org7c661c7"><span class="section-number-4">2.1.1</span> Initialization functions</h4>
|
||||
<div id="outline-container-org07376c3" class="outline-4">
|
||||
<h4 id="org07376c3"><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="#orgecefd0f">2</a>.
|
||||
equal of larger than the value given in the table of section <a href="#org6c7e30e">2</a>.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgafa3ed0" class="outline-5">
|
||||
<h5 id="orgafa3ed0"><span class="section-number-5">2.1.1.1</span> C interface</h5>
|
||||
<div id="outline-container-orga73eadc" class="outline-5">
|
||||
<h5 id="orga73eadc"><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
|
||||
@ -833,8 +833,8 @@ called.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2f914ea" class="outline-5">
|
||||
<h5 id="org2f914ea"><span class="section-number-5">2.1.1.2</span> Fortran interface</h5>
|
||||
<div id="outline-container-orgff21201" class="outline-5">
|
||||
<h5 id="orgff21201"><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>
|
||||
@ -1017,17 +1017,17 @@ called.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org47b5956" class="outline-4">
|
||||
<h4 id="org47b5956"><span class="section-number-4">2.1.2</span> Access functions</h4>
|
||||
<div id="outline-container-orgad312c6" class="outline-4">
|
||||
<h4 id="orgad312c6"><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="#orgecefd0f">2</a>.
|
||||
equal of larger than the value given in the table of section <a href="#org6c7e30e">2</a>.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2b1548d" class="outline-5">
|
||||
<h5 id="org2b1548d"><span class="section-number-5">2.1.2.1</span> C interface</h5>
|
||||
<div id="outline-container-org280ec92" class="outline-5">
|
||||
<h5 id="org280ec92"><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>
|
||||
@ -1149,8 +1149,8 @@ function returns <code>true</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org79e86ea" class="outline-5">
|
||||
<h5 id="org79e86ea"><span class="section-number-5">2.1.2.2</span> Fortran interface</h5>
|
||||
<div id="outline-container-orgcbfcea0" class="outline-5">
|
||||
<h5 id="orgcbfcea0"><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>
|
||||
@ -1334,8 +1334,8 @@ function returns <code>true</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6a65f10" class="outline-3">
|
||||
<h3 id="org6a65f10"><span class="section-number-3">2.2</span> Computed data</h3>
|
||||
<div id="outline-container-orga0b5f35" class="outline-3">
|
||||
<h3 id="orga0b5f35"><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:
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org37fa14f" class="outline-4">
|
||||
<h4 id="org37fa14f"><span class="section-number-4">2.2.1</span> After initialization</h4>
|
||||
<div id="outline-container-orgd953061" class="outline-4">
|
||||
<h4 id="orgd953061"><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-org731097e" class="outline-4">
|
||||
<h4 id="org731097e"><span class="section-number-4">2.2.2</span> Access functions</h4>
|
||||
<div id="outline-container-org3e081ff" class="outline-4">
|
||||
<h4 id="org3e081ff"><span class="section-number-4">2.2.2</span> Access functions</h4>
|
||||
<div class="outline-text-4" id="text-2-2-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
|
||||
@ -1428,7 +1428,7 @@ the context.
|
||||
<p>
|
||||
Returns the array of values, gradients an Laplacian of primitive
|
||||
basis functions evaluated at the current coordinates.
|
||||
See section <a href="#org7e862e9">3.2</a>.
|
||||
See section <a href="#org731b4aa">3.2</a>.
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
@ -1441,7 +1441,7 @@ See section <a href="#org7e862e9">3.2</a>.
|
||||
|
||||
<p>
|
||||
Returns the array of values, gradients an Laplacian of contracted shells
|
||||
evaluated at the current coordinates. See section <a href="#orgb680efa">3.3</a>.
|
||||
evaluated at the current coordinates. See section <a href="#org1752bd2">3.3</a>.
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
@ -1455,7 +1455,7 @@ evaluated at the current coordinates. See section <a href="#orgb680efa">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="#orgae897f8">5</a>.
|
||||
See section <a href="#org93c7ce5">5</a>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
@ -1474,12 +1474,12 @@ Uses the give array to compute the VGL.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org51fd0ef" class="outline-2">
|
||||
<h2 id="org51fd0ef"><span class="section-number-2">3</span> Radial part</h2>
|
||||
<div id="outline-container-org68a2b6a" class="outline-2">
|
||||
<h2 id="org68a2b6a"><span class="section-number-2">3</span> Radial part</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
</div>
|
||||
<div id="outline-container-orgc9385ae" class="outline-3">
|
||||
<h3 id="orgc9385ae"><span class="section-number-3">3.1</span> General functions for Gaussian basis functions</h3>
|
||||
<div id="outline-container-org52440db" class="outline-3">
|
||||
<h3 id="org52440db"><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
|
||||
@ -1650,10 +1650,10 @@ Requirements:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7e862e9" class="outline-3">
|
||||
<h3 id="org7e862e9"><span class="section-number-3">3.2</span> Computation of primitives</h3>
|
||||
<div id="outline-container-org731b4aa" class="outline-3">
|
||||
<h3 id="org731b4aa"><span class="section-number-3">3.2</span> Computation of primitives</h3>
|
||||
<div class="outline-text-3" id="text-3-2">
|
||||
<table id="org52eb66d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgf5ac68f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1812,10 +1812,10 @@ Requirements:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb680efa" class="outline-3">
|
||||
<h3 id="orgb680efa"><span class="section-number-3">3.3</span> Computation of shells</h3>
|
||||
<div id="outline-container-org1752bd2" class="outline-3">
|
||||
<h3 id="org1752bd2"><span class="section-number-3">3.3</span> Computation of shells</h3>
|
||||
<div class="outline-text-3" id="text-3-3">
|
||||
<table id="org060daed" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org4fdccd3" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2067,8 +2067,8 @@ Requirements:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org507132f" class="outline-2">
|
||||
<h2 id="org507132f"><span class="section-number-2">4</span> Polynomial part</h2>
|
||||
<div id="outline-container-org24d3d5b" class="outline-2">
|
||||
<h2 id="org24d3d5b"><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
|
||||
@ -2088,8 +2088,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-org9795792" class="outline-3">
|
||||
<h3 id="org9795792"><span class="section-number-3">4.1</span> General functions for Powers of \(x-X_i\)</h3>
|
||||
<div id="outline-container-org7359492" class="outline-3">
|
||||
<h3 id="org7359492"><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>
|
||||
@ -2101,7 +2101,7 @@ the \(n\) points:
|
||||
\[ P_{ik} = X_i^k \]
|
||||
</p>
|
||||
|
||||
<table id="org7004107" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orga021e92" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2239,8 +2239,8 @@ Requirements:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1ecbdb3" class="outline-3">
|
||||
<h3 id="org1ecbdb3"><span class="section-number-3">4.2</span> General functions for Value, Gradient and Laplacian of a polynomial</h3>
|
||||
<div id="outline-container-org0f15eb2" class="outline-3">
|
||||
<h3 id="org0f15eb2"><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\)
|
||||
@ -2285,7 +2285,7 @@ Laplacians at a given point in space, of all polynomials with an
|
||||
angular momentum up to <code>lmax</code>.
|
||||
</p>
|
||||
|
||||
<table id="org9816e8f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgd0ee21e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3049,15 +3049,15 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgae897f8" class="outline-2">
|
||||
<h2 id="orgae897f8"><span class="section-number-2">5</span> Combining radial and polynomial parts</h2>
|
||||
<div id="outline-container-org93c7ce5" class="outline-2">
|
||||
<h2 id="org93c7ce5"><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-org6fac41e" class="outline-3">
|
||||
<h3 id="org6fac41e"><span class="section-number-3">5.1</span> Unoptimized version</h3>
|
||||
<div id="outline-container-org0997ed1" class="outline-3">
|
||||
<h3 id="org0997ed1"><span class="section-number-3">5.1</span> Unoptimized version</h3>
|
||||
<div class="outline-text-3" id="text-5-1">
|
||||
<table id="orgd45cd7e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgf3f8ec4" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3322,10 +3322,10 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgce8ae92" class="outline-3">
|
||||
<h3 id="orgce8ae92"><span class="section-number-3">5.2</span> HPC version</h3>
|
||||
<div id="outline-container-org65da8ec" class="outline-3">
|
||||
<h3 id="org65da8ec"><span class="section-number-3">5.2</span> HPC version</h3>
|
||||
<div class="outline-text-3" id="text-5-2">
|
||||
<table id="org0a3794a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org40969ea" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3483,8 +3483,8 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7fb7d9b" class="outline-3">
|
||||
<h3 id="org7fb7d9b"><span class="section-number-3">5.3</span> Interfaces</h3>
|
||||
<div id="outline-container-org3a8ef8a" class="outline-3">
|
||||
<h3 id="org3a8ef8a"><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> (
|
||||
@ -3534,7 +3534,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-02-19 Sat 18:26</p>
|
||||
<p class="date">Created: 2022-02-24 Thu 18:08</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
980
qmckl_blas.html
980
qmckl_blas.html
File diff suppressed because it is too large
Load Diff
@ -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-02-19 Sat 18:26 -->
|
||||
<!-- 2022-02-24 Thu 18:08 -->
|
||||
<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="#org856d9cc">1. Context handling</a>
|
||||
<li><a href="#org0d79989">1. Context handling</a>
|
||||
<ul>
|
||||
<li><a href="#org1f84f4a">1.1. Data structure</a></li>
|
||||
<li><a href="#org8fd8bf4">1.2. Creation</a></li>
|
||||
<li><a href="#org57b810e">1.3. Locking</a></li>
|
||||
<li><a href="#org52b41a3">1.4. <span class="todo TODO">TODO</span> Copy</a></li>
|
||||
<li><a href="#org73e1be2">1.5. Destroy</a></li>
|
||||
<li><a href="#org619e685">1.1. Data structure</a></li>
|
||||
<li><a href="#orgdcee14e">1.2. Creation</a></li>
|
||||
<li><a href="#org0fff233">1.3. Locking</a></li>
|
||||
<li><a href="#org158f961">1.4. <span class="todo TODO">TODO</span> Copy</a></li>
|
||||
<li><a href="#org095c265">1.5. Destroy</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org856d9cc" class="outline-2">
|
||||
<h2 id="org856d9cc"><span class="section-number-2">1</span> Context handling</h2>
|
||||
<div id="outline-container-org0d79989" class="outline-2">
|
||||
<h2 id="org0d79989"><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="org72de5bb"><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="org986045c"><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-org1f84f4a" class="outline-3">
|
||||
<h3 id="org1f84f4a"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-org619e685" class="outline-3">
|
||||
<h3 id="org619e685"><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
|
||||
@ -366,12 +366,6 @@ the pointer associated with a context is non-null, we can still
|
||||
verify that it points to the expected data structure.
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #483d8b;">#define</span> <span style="color: #a0522d;">VALID_TAG</span> 0xBEEFFACE
|
||||
<span style="color: #483d8b;">#define</span> <span style="color: #a0522d;">INVALID_TAG</span> 0xDEADBEEF
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
The <code>qmckl_context_check</code> function checks if the domain pointed by
|
||||
the pointer is a valid context. It returns the input <code>qmckl_context</code>
|
||||
@ -379,67 +373,41 @@ if the context is valid, <code>QMCKL_NULL_CONTEXT</code> otherwise.
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_context</span> <span style="color: #0000ff;">qmckl_context_check</span>(<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>) ;
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_context</span> <span style="color: #0000ff;">qmckl_context_check</span>(<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>) {
|
||||
|
||||
<span style="color: #a020f0;">if</span> (context == QMCKL_NULL_CONTEXT)
|
||||
<span style="color: #a020f0;">return</span> QMCKL_NULL_CONTEXT;
|
||||
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context_struct</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">ctx</span> = (<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context_struct</span>* <span style="color: #a020f0;">const</span>) context;
|
||||
|
||||
/* <span style="color: #b22222;">Try to access memory </span>*/
|
||||
<span style="color: #a020f0;">if</span> (ctx->tag != VALID_TAG) {
|
||||
<span style="color: #a020f0;">return</span> QMCKL_NULL_CONTEXT;
|
||||
}
|
||||
|
||||
<span style="color: #a020f0;">return</span> context;
|
||||
}
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_context</span>
|
||||
<span style="color: #0000ff;">qmckl_context_check</span> (<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>) ;
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
The context keeps a ``date'' that allows to check which data needs
|
||||
The context keeps a <i>date</i> that allows to check which data needs
|
||||
to be recomputed. The date is incremented when the context is touched.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
When a new element is added to the context, the functions
|
||||
<a href="#org8fd8bf4">qmckl<sub>context</sub><sub>create</sub></a>, <a href="#org73e1be2">qmckl<sub>context</sub><sub>destroy</sub></a> and <a href="#org52b41a3">qmckl<sub>context</sub><sub>copy</sub></a>
|
||||
<a href="#orgdcee14e"><code>qmckl_context_create</code></a> <a href="#org095c265"><code>qmckl_context_destroy</code></a> and <a href="#org158f961"><code>qmckl_context_copy</code></a>
|
||||
should be updated in order to make deep copies.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
When the electron coordinates have changed, the context is touched
|
||||
using the following function.
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_context_touch</span>(<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>) ;
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
|
||||
<span style="color: #0000ff;">qmckl_context_touch</span> (<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</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_context_touch</span>(<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>) {
|
||||
|
||||
<span style="color: #a020f0;">if</span> (qmckl_context_check(context) == QMCKL_NULL_CONTEXT) {
|
||||
<span style="color: #a020f0;">return</span> qmckl_failwith( context,
|
||||
QMCKL_INVALID_CONTEXT,
|
||||
<span style="color: #8b2252;">"qmckl_context_touch"</span>,
|
||||
<span style="color: #008b8b;">NULL</span>);
|
||||
}
|
||||
|
||||
<span style="color: #228b22;">qmckl_context_struct</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">ctx</span> = (<span style="color: #228b22;">qmckl_context_struct</span>* <span style="color: #a020f0;">const</span>) context;
|
||||
|
||||
ctx->date += 1UL;
|
||||
ctx->point.date += 1UL;
|
||||
<span style="color: #a020f0;">return</span> QMCKL_SUCCESS;
|
||||
}
|
||||
</pre>
|
||||
</div>
|
||||
<p>
|
||||
This has the effect to increment the date of the context.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8fd8bf4" class="outline-3">
|
||||
<h3 id="org8fd8bf4"><span class="section-number-3">1.2</span> Creation</h3>
|
||||
<div id="outline-container-orgdcee14e" class="outline-3">
|
||||
<h3 id="orgdcee14e"><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.
|
||||
@ -451,90 +419,13 @@ To create a new context, <code>qmckl_context_create()</code> should be used.
|
||||
</ul>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_context</span> <span style="color: #0000ff;">qmckl_context_create</span>() {
|
||||
|
||||
<span style="color: #228b22;">qmckl_context_struct</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">ctx</span> =
|
||||
(<span style="color: #228b22;">qmckl_context_struct</span>* <span style="color: #a020f0;">const</span>) malloc (<span style="color: #a020f0;">sizeof</span>(qmckl_context_struct));
|
||||
|
||||
<span style="color: #a020f0;">if</span> (ctx == <span style="color: #008b8b;">NULL</span>) {
|
||||
<span style="color: #a020f0;">return</span> QMCKL_NULL_CONTEXT;
|
||||
}
|
||||
|
||||
/* <span style="color: #b22222;">Set all pointers and values to NULL </span>*/
|
||||
{
|
||||
memset(ctx, 0, <span style="color: #a020f0;">sizeof</span>(qmckl_context_struct));
|
||||
}
|
||||
|
||||
/* <span style="color: #b22222;">Initialize lock </span>*/
|
||||
{
|
||||
<span style="color: #228b22;">pthread_mutexattr_t</span> <span style="color: #a0522d;">attr</span>;
|
||||
<span style="color: #228b22;">int</span> <span style="color: #a0522d;">rc</span>;
|
||||
|
||||
rc = pthread_mutexattr_init(&attr);
|
||||
assert (rc == 0);
|
||||
|
||||
(<span style="color: #228b22;">void</span>) pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
|
||||
|
||||
rc = pthread_mutex_init ( &(ctx->mutex), &attr);
|
||||
assert (rc == 0);
|
||||
|
||||
(<span style="color: #228b22;">void</span>) pthread_mutexattr_destroy(&attr);
|
||||
}
|
||||
|
||||
/* <span style="color: #b22222;">Initialize data </span>*/
|
||||
{
|
||||
ctx->tag = VALID_TAG;
|
||||
|
||||
<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;">qmckl_context</span>) ctx;
|
||||
assert ( qmckl_context_check(context) != QMCKL_NULL_CONTEXT );
|
||||
|
||||
<span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #a0522d;">rc</span>;
|
||||
|
||||
ctx->numprec.precision = QMCKL_DEFAULT_PRECISION;
|
||||
ctx->numprec.range = QMCKL_DEFAULT_RANGE;
|
||||
|
||||
rc = qmckl_init_point(context);
|
||||
assert (rc == QMCKL_SUCCESS);
|
||||
|
||||
rc = qmckl_init_electron(context);
|
||||
assert (rc == QMCKL_SUCCESS);
|
||||
|
||||
rc = qmckl_init_nucleus(context);
|
||||
assert (rc == QMCKL_SUCCESS);
|
||||
|
||||
rc = qmckl_init_ao_basis(context);
|
||||
assert (rc == QMCKL_SUCCESS);
|
||||
|
||||
rc = qmckl_init_mo_basis(context);
|
||||
assert (rc == QMCKL_SUCCESS);
|
||||
|
||||
rc = qmckl_init_determinant(context);
|
||||
assert (rc == QMCKL_SUCCESS);
|
||||
}
|
||||
|
||||
/* <span style="color: #b22222;">Allocate qmckl_memory_struct </span>*/
|
||||
{
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">size_t</span> <span style="color: #a0522d;">size</span> = 128L;
|
||||
<span style="color: #228b22;">qmckl_memory_info_struct</span> * <span style="color: #a0522d;">new_array</span> = calloc(size, <span style="color: #a020f0;">sizeof</span>(qmckl_memory_info_struct));
|
||||
<span style="color: #a020f0;">if</span> (new_array == <span style="color: #008b8b;">NULL</span>) {
|
||||
free(ctx);
|
||||
<span style="color: #a020f0;">return</span> QMCKL_NULL_CONTEXT;
|
||||
}
|
||||
memset( &(new_array[0]), 0, <span style="color: #228b22;">size</span> * <span style="color: #a020f0;">sizeof</span>(qmckl_memory_info_struct) );
|
||||
|
||||
ctx->memory.element = new_array;
|
||||
ctx->memory.array_size = size;
|
||||
ctx->memory.n_allocated = (<span style="color: #228b22;">size_t</span>) 0;
|
||||
}
|
||||
|
||||
<span style="color: #a020f0;">return</span> (<span style="color: #228b22;">qmckl_context</span>) ctx;
|
||||
}
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_context</span> <span style="color: #0000ff;">qmckl_context_create</span>();
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org57b810e" class="outline-3">
|
||||
<h3 id="org57b810e"><span class="section-number-3">1.3</span> Locking</h3>
|
||||
<div id="outline-container-org0fff233" class="outline-3">
|
||||
<h3 id="org0fff233"><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
|
||||
@ -544,92 +435,23 @@ number of times the thread has locked it is saved in the
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">void</span> <span style="color: #0000ff;">qmckl_lock</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>) {
|
||||
<span style="color: #a020f0;">if</span> (context == QMCKL_NULL_CONTEXT)
|
||||
<span style="color: #a020f0;">return</span> ;
|
||||
<span style="color: #228b22;">qmckl_context_struct</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">ctx</span> = (<span style="color: #228b22;">qmckl_context_struct</span>* <span style="color: #a020f0;">const</span>) context;
|
||||
errno = 0;
|
||||
<span style="color: #228b22;">int</span> <span style="color: #a0522d;">rc</span> = pthread_mutex_lock( &(ctx->mutex) );
|
||||
<span style="color: #a020f0;">if</span> (rc != 0) {
|
||||
fprintf(stderr, <span style="color: #8b2252;">"DEBUG qmckl_lock:%s\n"</span>, strerror(rc) );
|
||||
fflush(stderr);
|
||||
}
|
||||
assert (rc == 0);
|
||||
ctx->lock_count += 1;
|
||||
/*
|
||||
<span style="color: #b22222;"> printf(" lock : %d\n", ctx->lock_count);</span>
|
||||
*/
|
||||
}
|
||||
|
||||
<span style="color: #228b22;">void</span> <span style="color: #0000ff;">qmckl_unlock</span>(<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>) {
|
||||
<span style="color: #228b22;">qmckl_context_struct</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">ctx</span> = (<span style="color: #228b22;">qmckl_context_struct</span>* <span style="color: #a020f0;">const</span>) context;
|
||||
<span style="color: #228b22;">int</span> <span style="color: #a0522d;">rc</span> = pthread_mutex_unlock( &(ctx->mutex) );
|
||||
<span style="color: #a020f0;">if</span> (rc != 0) {
|
||||
fprintf(stderr, <span style="color: #8b2252;">"DEBUG qmckl_unlock:%s\n"</span>, strerror(rc) );
|
||||
fflush(stderr);
|
||||
}
|
||||
assert (rc == 0);
|
||||
ctx->lock_count -= 1;
|
||||
/*
|
||||
<span style="color: #b22222;"> printf("unlock : %d\n", ctx->lock_count);</span>
|
||||
*/
|
||||
}
|
||||
<pre class="src src-c"><span style="color: #228b22;">void</span> <span style="color: #0000ff;">qmckl_lock</span> (<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>);
|
||||
<span style="color: #228b22;">void</span> <span style="color: #0000ff;">qmckl_unlock</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>);
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org52b41a3" class="outline-3">
|
||||
<h3 id="org52b41a3"><span class="section-number-3">1.4</span> <span class="todo TODO">TODO</span> Copy</h3>
|
||||
<div id="outline-container-org158f961" class="outline-3">
|
||||
<h3 id="org158f961"><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
|
||||
<code>QMCKL_NULL_CONTEXT</code> upon failure.
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_context</span> <span style="color: #0000ff;">qmckl_context_copy</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;">qmckl_context</span> <span style="color: #a0522d;">checked_context</span> = qmckl_context_check(context);
|
||||
|
||||
<span style="color: #a020f0;">if</span> (checked_context == QMCKL_NULL_CONTEXT) {
|
||||
<span style="color: #a020f0;">return</span> QMCKL_NULL_CONTEXT;
|
||||
}
|
||||
|
||||
/*
|
||||
<span style="color: #b22222;"> qmckl_lock(context);</span>
|
||||
<span style="color: #b22222;"> {</span>
|
||||
|
||||
<span style="color: #b22222;"> const qmckl_context_struct* const old_ctx =</span>
|
||||
<span style="color: #b22222;"> (qmckl_context_struct* const) checked_context;</span>
|
||||
|
||||
<span style="color: #b22222;"> qmckl_context_struct* const new_ctx =</span>
|
||||
<span style="color: #b22222;"> (qmckl_context_struct* const) malloc (context, sizeof(qmckl_context_struct));</span>
|
||||
|
||||
<span style="color: #b22222;"> if (new_ctx == NULL) {</span>
|
||||
<span style="color: #b22222;"> qmckl_unlock(context);</span>
|
||||
<span style="color: #b22222;"> return QMCKL_NULL_CONTEXT;</span>
|
||||
<span style="color: #b22222;"> }</span>
|
||||
|
||||
<span style="color: #b22222;"> * Copy the old context on the new one *</span>
|
||||
<span style="color: #b22222;"> * TODO Deep copies should be done here *</span>
|
||||
<span style="color: #b22222;"> memcpy(new_ctx, old_ctx, sizeof(qmckl_context_struct));</span>
|
||||
|
||||
<span style="color: #b22222;"> qmckl_unlock( (qmckl_context) new_ctx );</span>
|
||||
|
||||
<span style="color: #b22222;"> return (qmckl_context) new_ctx;</span>
|
||||
<span style="color: #b22222;"> }</span>
|
||||
<span style="color: #b22222;"> qmckl_unlock(context);</span>
|
||||
*/
|
||||
<span style="color: #a020f0;">return</span> QMCKL_NULL_CONTEXT;
|
||||
}
|
||||
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org73e1be2" class="outline-3">
|
||||
<h3 id="org73e1be2"><span class="section-number-3">1.5</span> Destroy</h3>
|
||||
<div id="outline-container-org095c265" class="outline-3">
|
||||
<h3 id="org095c265"><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.
|
||||
@ -637,44 +459,8 @@ It frees the context, and returns the previous context.
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_context_destroy</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;">qmckl_context</span> <span style="color: #a0522d;">checked_context</span> = qmckl_context_check(context);
|
||||
<span style="color: #a020f0;">if</span> (checked_context == QMCKL_NULL_CONTEXT) <span style="color: #a020f0;">return</span> QMCKL_INVALID_CONTEXT;
|
||||
|
||||
<span style="color: #228b22;">qmckl_context_struct</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">ctx</span> = (<span style="color: #228b22;">qmckl_context_struct</span>* <span style="color: #a020f0;">const</span>) context;
|
||||
assert (ctx != <span style="color: #008b8b;">NULL</span>); /* <span style="color: #b22222;">Shouldn't be possible because the context is valid </span>*/
|
||||
|
||||
qmckl_lock(context);
|
||||
{
|
||||
/* <span style="color: #b22222;">Memory: Remove all allocated data </span>*/
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">size_t</span> <span style="color: #a0522d;">pos</span> = (<span style="color: #228b22;">size_t</span>) 0 ; pos < ctx->memory.array_size ; ++pos) {
|
||||
<span style="color: #a020f0;">if</span> (ctx->memory.element[pos].pointer != <span style="color: #008b8b;">NULL</span>) {
|
||||
free(ctx->memory.element[pos].pointer);
|
||||
memset( &(ctx->memory.element[pos]), 0, <span style="color: #a020f0;">sizeof</span>(qmckl_memory_info_struct) );
|
||||
ctx->memory.n_allocated -= 1;
|
||||
}
|
||||
}
|
||||
assert (ctx->memory.n_allocated == (<span style="color: #228b22;">size_t</span>) 0);
|
||||
free(ctx->memory.element);
|
||||
ctx->memory.element = <span style="color: #008b8b;">NULL</span>;
|
||||
ctx->memory.array_size = (<span style="color: #228b22;">size_t</span>) 0;
|
||||
}
|
||||
qmckl_unlock(context);
|
||||
|
||||
ctx->tag = INVALID_TAG;
|
||||
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int</span> <span style="color: #a0522d;">rc_destroy</span> = pthread_mutex_destroy( &(ctx->mutex) );
|
||||
<span style="color: #a020f0;">if</span> (rc_destroy != 0) {
|
||||
/* <span style="color: #b22222;">DEBUG </span>*/
|
||||
fprintf(stderr, <span style="color: #8b2252;">"qmckl_context_destroy: %s (count = %d)\n"</span>, strerror(rc_destroy), ctx->lock_count);
|
||||
abort();
|
||||
}
|
||||
|
||||
free(ctx);
|
||||
|
||||
<span style="color: #a020f0;">return</span> QMCKL_SUCCESS;
|
||||
}
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
|
||||
<span style="color: #0000ff;">qmckl_context_destroy</span> (<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>);
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
@ -683,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-02-19 Sat 18:26</p>
|
||||
<p class="date">Created: 2022-02-24 Thu 18:08</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-02-19 Sat 18:26 -->
|
||||
<!-- 2022-02-24 Thu 18:08 -->
|
||||
<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="#orge24e7af">1. Context</a>
|
||||
<li><a href="#org7c45fb5">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org2fa8cde">1.1. Data structure</a></li>
|
||||
<li><a href="#orgeed3d12">1.2. Access functions</a></li>
|
||||
<li><a href="#org1c3be1d">1.3. Initialization functions</a></li>
|
||||
<li><a href="#orgbd42588">1.4. Fortran Interfaces</a></li>
|
||||
<li><a href="#org12ec4dd">1.5. Test</a></li>
|
||||
<li><a href="#org0e47329">1.1. Data structure</a></li>
|
||||
<li><a href="#org9f33d88">1.2. Access functions</a></li>
|
||||
<li><a href="#org82341d9">1.3. Initialization functions</a></li>
|
||||
<li><a href="#orga91ce17">1.4. Fortran Interfaces</a></li>
|
||||
<li><a href="#org4d8b2e0">1.5. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org628321f">2. Computation</a>
|
||||
<li><a href="#org9745a75">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#org9252e2b">2.1. Determinant matrix</a>
|
||||
<li><a href="#org418d3d9">2.1. Determinant matrix</a>
|
||||
<ul>
|
||||
<li><a href="#orge0f1a30">2.1.1. Get</a></li>
|
||||
<li><a href="#orgcb55c57">2.1.2. Provide</a></li>
|
||||
<li><a href="#orga16b4a3">2.1.3. Compute alpha</a></li>
|
||||
<li><a href="#orgf19b305">2.1.4. Compute beta</a></li>
|
||||
<li><a href="#org4817dd6">2.1.5. Test</a></li>
|
||||
<li><a href="#org3592fcc">2.1.1. Get</a></li>
|
||||
<li><a href="#org64a53f1">2.1.2. Provide</a></li>
|
||||
<li><a href="#org295ba85">2.1.3. Compute alpha</a></li>
|
||||
<li><a href="#org5c2fc4f">2.1.4. Compute beta</a></li>
|
||||
<li><a href="#org6a40595">2.1.5. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgf1735f1">2.2. Inverse of Determinant matrix</a>
|
||||
<li><a href="#org3517d22">2.2. Inverse of Determinant matrix</a>
|
||||
<ul>
|
||||
<li><a href="#org93b54d6">2.2.1. Get</a></li>
|
||||
<li><a href="#orgef8c4d1">2.2.2. Provide</a></li>
|
||||
<li><a href="#org08f07ef">2.2.3. Compute alpha</a></li>
|
||||
<li><a href="#org7c646f5">2.2.4. Compute beta</a></li>
|
||||
<li><a href="#org52d94d8">2.2.1. Get</a></li>
|
||||
<li><a href="#orgfe07c3d">2.2.2. Provide</a></li>
|
||||
<li><a href="#orga3ac1b3">2.2.3. Compute alpha</a></li>
|
||||
<li><a href="#org207d163">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-orge24e7af" class="outline-2">
|
||||
<h2 id="orge24e7af"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-org7c45fb5" class="outline-2">
|
||||
<h2 id="org7c45fb5"><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-org2fa8cde" class="outline-3">
|
||||
<h3 id="org2fa8cde"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-org0e47329" class="outline-3">
|
||||
<h3 id="org0e47329"><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-orgeed3d12" class="outline-3">
|
||||
<h3 id="orgeed3d12"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-org9f33d88" class="outline-3">
|
||||
<h3 id="org9f33d88"><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-org1c3be1d" class="outline-3">
|
||||
<h3 id="org1c3be1d"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-org82341d9" class="outline-3">
|
||||
<h3 id="org82341d9"><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-orgbd42588" class="outline-3">
|
||||
<h3 id="orgbd42588"><span class="section-number-3">1.4</span> Fortran Interfaces</h3>
|
||||
<div id="outline-container-orga91ce17" class="outline-3">
|
||||
<h3 id="orga91ce17"><span class="section-number-3">1.4</span> Fortran Interfaces</h3>
|
||||
</div>
|
||||
<div id="outline-container-org12ec4dd" class="outline-3">
|
||||
<h3 id="org12ec4dd"><span class="section-number-3">1.5</span> Test</h3>
|
||||
<div id="outline-container-org4d8b2e0" class="outline-3">
|
||||
<h3 id="org4d8b2e0"><span class="section-number-3">1.5</span> Test</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org628321f" class="outline-2">
|
||||
<h2 id="org628321f"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-org9745a75" class="outline-2">
|
||||
<h2 id="org9745a75"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-org9252e2b" class="outline-3">
|
||||
<h3 id="org9252e2b"><span class="section-number-3">2.1</span> Determinant matrix</h3>
|
||||
<div id="outline-container-org418d3d9" class="outline-3">
|
||||
<h3 id="org418d3d9"><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-orge0f1a30" class="outline-4">
|
||||
<h4 id="orge0f1a30"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-org3592fcc" class="outline-4">
|
||||
<h4 id="org3592fcc"><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-orgcb55c57" class="outline-4">
|
||||
<h4 id="orgcb55c57"><span class="section-number-4">2.1.2</span> Provide</h4>
|
||||
<div id="outline-container-org64a53f1" class="outline-4">
|
||||
<h4 id="org64a53f1"><span class="section-number-4">2.1.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga16b4a3" class="outline-4">
|
||||
<h4 id="orga16b4a3"><span class="section-number-4">2.1.3</span> Compute alpha</h4>
|
||||
<div id="outline-container-org295ba85" class="outline-4">
|
||||
<h4 id="org295ba85"><span class="section-number-4">2.1.3</span> Compute alpha</h4>
|
||||
<div class="outline-text-4" id="text-2-1-3">
|
||||
<table id="org6164104" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orga128b70" 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-orgf19b305" class="outline-4">
|
||||
<h4 id="orgf19b305"><span class="section-number-4">2.1.4</span> Compute beta</h4>
|
||||
<div id="outline-container-org5c2fc4f" class="outline-4">
|
||||
<h4 id="org5c2fc4f"><span class="section-number-4">2.1.4</span> Compute beta</h4>
|
||||
<div class="outline-text-4" id="text-2-1-4">
|
||||
<table id="orge93de82" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org438e46f" 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-org4817dd6" class="outline-4">
|
||||
<h4 id="org4817dd6"><span class="section-number-4">2.1.5</span> Test</h4>
|
||||
<div id="outline-container-org6a40595" class="outline-4">
|
||||
<h4 id="org6a40595"><span class="section-number-4">2.1.5</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf1735f1" class="outline-3">
|
||||
<h3 id="orgf1735f1"><span class="section-number-3">2.2</span> Inverse of Determinant matrix</h3>
|
||||
<div id="outline-container-org3517d22" class="outline-3">
|
||||
<h3 id="org3517d22"><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-org93b54d6" class="outline-4">
|
||||
<h4 id="org93b54d6"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div id="outline-container-org52d94d8" class="outline-4">
|
||||
<h4 id="org52d94d8"><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-orgef8c4d1" class="outline-4">
|
||||
<h4 id="orgef8c4d1"><span class="section-number-4">2.2.2</span> Provide</h4>
|
||||
<div id="outline-container-orgfe07c3d" class="outline-4">
|
||||
<h4 id="orgfe07c3d"><span class="section-number-4">2.2.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org08f07ef" class="outline-4">
|
||||
<h4 id="org08f07ef"><span class="section-number-4">2.2.3</span> Compute alpha</h4>
|
||||
<div id="outline-container-orga3ac1b3" class="outline-4">
|
||||
<h4 id="orga3ac1b3"><span class="section-number-4">2.2.3</span> Compute alpha</h4>
|
||||
<div class="outline-text-4" id="text-2-2-3">
|
||||
<table id="org5d7f090" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org5d14a51" 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-org7c646f5" class="outline-4">
|
||||
<h4 id="org7c646f5"><span class="section-number-4">2.2.4</span> Compute beta</h4>
|
||||
<div id="outline-container-org207d163" class="outline-4">
|
||||
<h4 id="org207d163"><span class="section-number-4">2.2.4</span> Compute beta</h4>
|
||||
<div class="outline-text-4" id="text-2-2-4">
|
||||
<table id="orge699146" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org790420e" 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-02-19 Sat 18:26</p>
|
||||
<p class="date">Created: 2022-02-24 Thu 18:08</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-02-19 Sat 18:26 -->
|
||||
<!-- 2022-02-24 Thu 18:08 -->
|
||||
<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="#org04a67af">1. Squared distance</a>
|
||||
<li><a href="#orgb3472b4">1. Squared distance</a>
|
||||
<ul>
|
||||
<li><a href="#orgff995cd">1.1. <code>qmckl_distance_sq</code></a>
|
||||
<li><a href="#orgcbdd122">1.1. <code>qmckl_distance_sq</code></a>
|
||||
<ul>
|
||||
<li><a href="#org60a231d">1.1.1. Performance</a></li>
|
||||
<li><a href="#orgd1a2862">1.1.1. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org2afc1ac">2. Distance</a>
|
||||
<li><a href="#org9dc58a2">2. Distance</a>
|
||||
<ul>
|
||||
<li><a href="#orgfab46b5">2.1. <code>qmckl_distance</code></a>
|
||||
<li><a href="#org70a4317">2.1. <code>qmckl_distance</code></a>
|
||||
<ul>
|
||||
<li><a href="#orgd937f97">2.1.1. Requirements</a></li>
|
||||
<li><a href="#orgc2d7a1d">2.1.2. C header</a></li>
|
||||
<li><a href="#org4a47802">2.1.3. Source</a></li>
|
||||
<li><a href="#orgb68c2a0">2.1.4. Performance</a></li>
|
||||
<li><a href="#org6019ed4">2.1.1. Requirements</a></li>
|
||||
<li><a href="#orga396b48">2.1.2. C header</a></li>
|
||||
<li><a href="#org5479be1">2.1.3. Source</a></li>
|
||||
<li><a href="#org099c54d">2.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgc3fa7d4">3. Rescaled Distance</a>
|
||||
<li><a href="#org614d560">3. Rescaled Distance</a>
|
||||
<ul>
|
||||
<li><a href="#org484340a">3.1. <code>qmckl_distance_rescaled</code></a>
|
||||
<li><a href="#org0300563">3.1. <code>qmckl_distance_rescaled</code></a>
|
||||
<ul>
|
||||
<li><a href="#org2be73ed">3.1.1. Requirements</a></li>
|
||||
<li><a href="#org7014ae4">3.1.2. C header</a></li>
|
||||
<li><a href="#orgded300a">3.1.3. Source</a></li>
|
||||
<li><a href="#org4e8f131">3.1.4. Performance</a></li>
|
||||
<li><a href="#orgecff165">3.1.1. Requirements</a></li>
|
||||
<li><a href="#orgce9fd15">3.1.2. C header</a></li>
|
||||
<li><a href="#orgde6db9c">3.1.3. Source</a></li>
|
||||
<li><a href="#org12076b0">3.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org64af3af">4. Rescaled Distance Derivatives</a>
|
||||
<li><a href="#org85efeaf">4. Rescaled Distance Derivatives</a>
|
||||
<ul>
|
||||
<li><a href="#orgee07a23">4.1. <code>qmckl_distance_rescaled_deriv_e</code></a></li>
|
||||
<li><a href="#org86ae15e">4.1. <code>qmckl_distance_rescaled_deriv_e</code></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org04a67af" class="outline-2">
|
||||
<h2 id="org04a67af"><span class="section-number-2">1</span> Squared distance</h2>
|
||||
<div id="outline-container-orgb3472b4" class="outline-2">
|
||||
<h2 id="orgb3472b4"><span class="section-number-2">1</span> Squared distance</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
</div>
|
||||
<div id="outline-container-orgff995cd" class="outline-3">
|
||||
<h3 id="orgff995cd"><span class="section-number-3">1.1</span> <code>qmckl_distance_sq</code></h3>
|
||||
<div id="outline-container-orgcbdd122" class="outline-3">
|
||||
<h3 id="orgcbdd122"><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="org5c1f837" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgdf1d0ff" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -659,8 +659,8 @@ Requirements:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org60a231d" class="outline-4">
|
||||
<h4 id="org60a231d"><span class="section-number-4">1.1.1</span> Performance</h4>
|
||||
<div id="outline-container-orgd1a2862" class="outline-4">
|
||||
<h4 id="orgd1a2862"><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-org2afc1ac" class="outline-2">
|
||||
<h2 id="org2afc1ac"><span class="section-number-2">2</span> Distance</h2>
|
||||
<div id="outline-container-org9dc58a2" class="outline-2">
|
||||
<h2 id="org9dc58a2"><span class="section-number-2">2</span> Distance</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-orgfab46b5" class="outline-3">
|
||||
<h3 id="orgfab46b5"><span class="section-number-3">2.1</span> <code>qmckl_distance</code></h3>
|
||||
<div id="outline-container-org70a4317" class="outline-3">
|
||||
<h3 id="org70a4317"><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="org5191207" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org6f1c33f" 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-orgd937f97" class="outline-4">
|
||||
<h4 id="orgd937f97"><span class="section-number-4">2.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org6019ed4" class="outline-4">
|
||||
<h4 id="org6019ed4"><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-orgc2d7a1d" class="outline-4">
|
||||
<h4 id="orgc2d7a1d"><span class="section-number-4">2.1.2</span> C header</h4>
|
||||
<div id="outline-container-orga396b48" class="outline-4">
|
||||
<h4 id="orga396b48"><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-org4a47802" class="outline-4">
|
||||
<h4 id="org4a47802"><span class="section-number-4">2.1.3</span> Source</h4>
|
||||
<div id="outline-container-org5479be1" class="outline-4">
|
||||
<h4 id="org5479be1"><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-orgb68c2a0" class="outline-4">
|
||||
<h4 id="orgb68c2a0"><span class="section-number-4">2.1.4</span> Performance</h4>
|
||||
<div id="outline-container-org099c54d" class="outline-4">
|
||||
<h4 id="org099c54d"><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-orgc3fa7d4" class="outline-2">
|
||||
<h2 id="orgc3fa7d4"><span class="section-number-2">3</span> Rescaled Distance</h2>
|
||||
<div id="outline-container-org614d560" class="outline-2">
|
||||
<h2 id="org614d560"><span class="section-number-2">3</span> Rescaled Distance</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
</div>
|
||||
<div id="outline-container-org484340a" class="outline-3">
|
||||
<h3 id="org484340a"><span class="section-number-3">3.1</span> <code>qmckl_distance_rescaled</code></h3>
|
||||
<div id="outline-container-org0300563" class="outline-3">
|
||||
<h3 id="org0300563"><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="org068e706" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org2e0c733" 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-org2be73ed" class="outline-4">
|
||||
<h4 id="org2be73ed"><span class="section-number-4">3.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-orgecff165" class="outline-4">
|
||||
<h4 id="orgecff165"><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-org7014ae4" class="outline-4">
|
||||
<h4 id="org7014ae4"><span class="section-number-4">3.1.2</span> C header</h4>
|
||||
<div id="outline-container-orgce9fd15" class="outline-4">
|
||||
<h4 id="orgce9fd15"><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-orgded300a" class="outline-4">
|
||||
<h4 id="orgded300a"><span class="section-number-4">3.1.3</span> Source</h4>
|
||||
<div id="outline-container-orgde6db9c" class="outline-4">
|
||||
<h4 id="orgde6db9c"><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-org4e8f131" class="outline-4">
|
||||
<h4 id="org4e8f131"><span class="section-number-4">3.1.4</span> Performance</h4>
|
||||
<div id="outline-container-org12076b0" class="outline-4">
|
||||
<h4 id="org12076b0"><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-org64af3af" class="outline-2">
|
||||
<h2 id="org64af3af"><span class="section-number-2">4</span> Rescaled Distance Derivatives</h2>
|
||||
<div id="outline-container-org85efeaf" class="outline-2">
|
||||
<h2 id="org85efeaf"><span class="section-number-2">4</span> Rescaled Distance Derivatives</h2>
|
||||
<div class="outline-text-2" id="text-4">
|
||||
</div>
|
||||
<div id="outline-container-orgee07a23" class="outline-3">
|
||||
<h3 id="orgee07a23"><span class="section-number-3">4.1</span> <code>qmckl_distance_rescaled_deriv_e</code></h3>
|
||||
<div id="outline-container-org86ae15e" class="outline-3">
|
||||
<h3 id="org86ae15e"><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="org71db008" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org8343ddb" 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-02-19 Sat 18:26</p>
|
||||
<p class="date">Created: 2022-02-24 Thu 18:08</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-02-19 Sat 18:26 -->
|
||||
<!-- 2022-02-24 Thu 18:08 -->
|
||||
<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="#org1bc0abc">1. Context</a>
|
||||
<li><a href="#org207089c">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org07bd37a">1.1. Data structure</a></li>
|
||||
<li><a href="#org1a30544">1.2. Access functions</a>
|
||||
<li><a href="#org4bff080">1.1. Data structure</a></li>
|
||||
<li><a href="#orgfff177a">1.2. Access functions</a>
|
||||
<ul>
|
||||
<li><a href="#orgb8de739">1.2.1. Number of electrons</a></li>
|
||||
<li><a href="#orgc4a2701">1.2.2. Number of walkers</a></li>
|
||||
<li><a href="#orgde9c9b8">1.2.3. Scaling factors Kappa</a></li>
|
||||
<li><a href="#org025c9f6">1.2.4. Electron coordinates</a></li>
|
||||
<li><a href="#org2dbff93">1.2.1. Number of electrons</a></li>
|
||||
<li><a href="#orgbc41115">1.2.2. Number of walkers</a></li>
|
||||
<li><a href="#orga58afb2">1.2.3. Scaling factors Kappa</a></li>
|
||||
<li><a href="#org6969220">1.2.4. Electron coordinates</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgad0d547">1.3. Initialization functions</a></li>
|
||||
<li><a href="#orgeced3bb">1.4. Test</a></li>
|
||||
<li><a href="#orgfe8d3ef">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org658c491">1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orga6d8c48">2. Computation</a>
|
||||
<li><a href="#org897f425">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#orgba7105d">2.1. Electron-electron distances</a>
|
||||
<li><a href="#orged7584c">2.1. Electron-electron distances</a>
|
||||
<ul>
|
||||
<li><a href="#orgc2c476b">2.1.1. Get</a></li>
|
||||
<li><a href="#orgd94c63a">2.1.2. Compute</a></li>
|
||||
<li><a href="#org31d4758">2.1.3. Test</a></li>
|
||||
<li><a href="#org01f0788">2.1.1. Get</a></li>
|
||||
<li><a href="#orgfaba9da">2.1.2. Compute</a></li>
|
||||
<li><a href="#orgc248a67">2.1.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org174ac39">2.2. Electron-electron rescaled distances</a>
|
||||
<li><a href="#orgb4b6cc2">2.2. Electron-electron rescaled distances</a>
|
||||
<ul>
|
||||
<li><a href="#orgbeb6978">2.2.1. Get</a></li>
|
||||
<li><a href="#org93032ee">2.2.2. Compute</a></li>
|
||||
<li><a href="#org073c8d7">2.2.3. Test</a></li>
|
||||
<li><a href="#org23a4dfb">2.2.1. Get</a></li>
|
||||
<li><a href="#org344e9e1">2.2.2. Compute</a></li>
|
||||
<li><a href="#org49ce5a3">2.2.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org8a540f6">2.3. Electron-electron rescaled distance gradients and laplacian with respect to electron coords</a>
|
||||
<li><a href="#org79652dc">2.3. Electron-electron rescaled distance gradients and laplacian with respect to electron coords</a>
|
||||
<ul>
|
||||
<li><a href="#org6c8eb71">2.3.1. Get</a></li>
|
||||
<li><a href="#org73b5d27">2.3.2. Compute</a></li>
|
||||
<li><a href="#org70380ac">2.3.3. Test</a></li>
|
||||
<li><a href="#orgae470b8">2.3.1. Get</a></li>
|
||||
<li><a href="#org7a54aed">2.3.2. Compute</a></li>
|
||||
<li><a href="#orgfeb4afe">2.3.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org2c0bc07">2.4. Electron-electron potential</a>
|
||||
<li><a href="#orgb990bbf">2.4. Electron-electron potential</a>
|
||||
<ul>
|
||||
<li><a href="#orgd9572a9">2.4.1. Get</a></li>
|
||||
<li><a href="#org158c2bd">2.4.2. Compute</a></li>
|
||||
<li><a href="#org7f73993">2.4.3. Test</a></li>
|
||||
<li><a href="#org971949c">2.4.1. Get</a></li>
|
||||
<li><a href="#org6e2427c">2.4.2. Compute</a></li>
|
||||
<li><a href="#org25050f9">2.4.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org50723e6">2.5. Electron-nucleus distances</a>
|
||||
<li><a href="#org663af41">2.5. Electron-nucleus distances</a>
|
||||
<ul>
|
||||
<li><a href="#orgc18cb3b">2.5.1. Get</a></li>
|
||||
<li><a href="#org1ebbf25">2.5.2. Compute</a></li>
|
||||
<li><a href="#org7cc8d26">2.5.3. Test</a></li>
|
||||
<li><a href="#org20407ed">2.5.1. Get</a></li>
|
||||
<li><a href="#org010e0a5">2.5.2. Compute</a></li>
|
||||
<li><a href="#orge908ec9">2.5.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgcd2c973">2.6. Electron-nucleus rescaled distances</a>
|
||||
<li><a href="#org63facdf">2.6. Electron-nucleus rescaled distances</a>
|
||||
<ul>
|
||||
<li><a href="#org4e04735">2.6.1. Get</a></li>
|
||||
<li><a href="#org70e9843">2.6.2. Compute</a></li>
|
||||
<li><a href="#org416f868">2.6.3. Test</a></li>
|
||||
<li><a href="#org3105113">2.6.1. Get</a></li>
|
||||
<li><a href="#orgc7d3f0c">2.6.2. Compute</a></li>
|
||||
<li><a href="#orge06d006">2.6.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgc65a5cb">2.7. Electron-nucleus rescaled distance gradients and laplacian with respect to electron coords</a>
|
||||
<li><a href="#orgd042f98">2.7. Electron-nucleus rescaled distance gradients and laplacian with respect to electron coords</a>
|
||||
<ul>
|
||||
<li><a href="#org4a793ab">2.7.1. Get</a></li>
|
||||
<li><a href="#org12c23f3">2.7.2. Compute</a></li>
|
||||
<li><a href="#org52552fc">2.7.3. Test</a></li>
|
||||
<li><a href="#org1f3a10c">2.7.1. Get</a></li>
|
||||
<li><a href="#orgfec6549">2.7.2. Compute</a></li>
|
||||
<li><a href="#orge6ea30e">2.7.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgc89a1c1">2.8. Electron-nucleus potential</a>
|
||||
<li><a href="#org3b2868f">2.8. Electron-nucleus potential</a>
|
||||
<ul>
|
||||
<li><a href="#orgcf540dd">2.8.1. Get</a></li>
|
||||
<li><a href="#org82eeaf9">2.8.2. Compute</a></li>
|
||||
<li><a href="#org7332aac">2.8.3. Test</a></li>
|
||||
<li><a href="#org574c65c">2.8.1. Get</a></li>
|
||||
<li><a href="#orge334407">2.8.2. Compute</a></li>
|
||||
<li><a href="#org2f02f08">2.8.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org0c3705a">2.9. Generate initial coordinates</a></li>
|
||||
<li><a href="#org09dab57">2.9. Generate initial coordinates</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1bc0abc" class="outline-2">
|
||||
<h2 id="org1bc0abc"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-org207089c" class="outline-2">
|
||||
<h2 id="org207089c"><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-org07bd37a" class="outline-3">
|
||||
<h3 id="org07bd37a"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-org4bff080" class="outline-3">
|
||||
<h3 id="org4bff080"><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-org1a30544" class="outline-3">
|
||||
<h3 id="org1a30544"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-orgfff177a" class="outline-3">
|
||||
<h3 id="orgfff177a"><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-orgb8de739" class="outline-4">
|
||||
<h4 id="orgb8de739"><span class="section-number-4">1.2.1</span> Number of electrons</h4>
|
||||
<div id="outline-container-org2dbff93" class="outline-4">
|
||||
<h4 id="org2dbff93"><span class="section-number-4">1.2.1</span> Number of electrons</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc4a2701" class="outline-4">
|
||||
<h4 id="orgc4a2701"><span class="section-number-4">1.2.2</span> Number of walkers</h4>
|
||||
<div id="outline-container-orgbc41115" class="outline-4">
|
||||
<h4 id="orgbc41115"><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-orgde9c9b8" class="outline-4">
|
||||
<h4 id="orgde9c9b8"><span class="section-number-4">1.2.3</span> Scaling factors Kappa</h4>
|
||||
<div id="outline-container-orga58afb2" class="outline-4">
|
||||
<h4 id="orga58afb2"><span class="section-number-4">1.2.3</span> Scaling factors Kappa</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org025c9f6" class="outline-4">
|
||||
<h4 id="org025c9f6"><span class="section-number-4">1.2.4</span> Electron coordinates</h4>
|
||||
<div id="outline-container-org6969220" class="outline-4">
|
||||
<h4 id="org6969220"><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-orgad0d547" class="outline-3">
|
||||
<h3 id="orgad0d547"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-orgfe8d3ef" class="outline-3">
|
||||
<h3 id="orgfe8d3ef"><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-orgeced3bb" class="outline-3">
|
||||
<h3 id="orgeced3bb"><span class="section-number-3">1.4</span> Test</h3>
|
||||
<div id="outline-container-org658c491" class="outline-3">
|
||||
<h3 id="org658c491"><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-orga6d8c48" class="outline-2">
|
||||
<h2 id="orga6d8c48"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-org897f425" class="outline-2">
|
||||
<h2 id="org897f425"><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-orgba7105d" class="outline-3">
|
||||
<h3 id="orgba7105d"><span class="section-number-3">2.1</span> Electron-electron distances</h3>
|
||||
<div id="outline-container-orged7584c" class="outline-3">
|
||||
<h3 id="orged7584c"><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-orgc2c476b" class="outline-4">
|
||||
<h4 id="orgc2c476b"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-org01f0788" class="outline-4">
|
||||
<h4 id="org01f0788"><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-orgd94c63a" class="outline-4">
|
||||
<h4 id="orgd94c63a"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div id="outline-container-orgfaba9da" class="outline-4">
|
||||
<h4 id="orgfaba9da"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-1-2">
|
||||
<table id="org38cdfde" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org236a8b5" 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-org31d4758" class="outline-4">
|
||||
<h4 id="org31d4758"><span class="section-number-4">2.1.3</span> Test</h4>
|
||||
<div id="outline-container-orgc248a67" class="outline-4">
|
||||
<h4 id="orgc248a67"><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-org174ac39" class="outline-3">
|
||||
<h3 id="org174ac39"><span class="section-number-3">2.2</span> Electron-electron rescaled distances</h3>
|
||||
<div id="outline-container-orgb4b6cc2" class="outline-3">
|
||||
<h3 id="orgb4b6cc2"><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-orgbeb6978" class="outline-4">
|
||||
<h4 id="orgbeb6978"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div id="outline-container-org23a4dfb" class="outline-4">
|
||||
<h4 id="org23a4dfb"><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-org93032ee" class="outline-4">
|
||||
<h4 id="org93032ee"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div id="outline-container-org344e9e1" class="outline-4">
|
||||
<h4 id="org344e9e1"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-2-2">
|
||||
<table id="orgc13d498" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org7e1bc2a" 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-org073c8d7" class="outline-4">
|
||||
<h4 id="org073c8d7"><span class="section-number-4">2.2.3</span> Test</h4>
|
||||
<div id="outline-container-org49ce5a3" class="outline-4">
|
||||
<h4 id="org49ce5a3"><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-org8a540f6" class="outline-3">
|
||||
<h3 id="org8a540f6"><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-org79652dc" class="outline-3">
|
||||
<h3 id="org79652dc"><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-org6c8eb71" class="outline-4">
|
||||
<h4 id="org6c8eb71"><span class="section-number-4">2.3.1</span> Get</h4>
|
||||
<div id="outline-container-orgae470b8" class="outline-4">
|
||||
<h4 id="orgae470b8"><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-org73b5d27" class="outline-4">
|
||||
<h4 id="org73b5d27"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div id="outline-container-org7a54aed" class="outline-4">
|
||||
<h4 id="org7a54aed"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-3-2">
|
||||
<table id="orgf96cfcd" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org97f292e" 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-org70380ac" class="outline-4">
|
||||
<h4 id="org70380ac"><span class="section-number-4">2.3.3</span> Test</h4>
|
||||
<div id="outline-container-orgfeb4afe" class="outline-4">
|
||||
<h4 id="orgfeb4afe"><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-org2c0bc07" class="outline-3">
|
||||
<h3 id="org2c0bc07"><span class="section-number-3">2.4</span> Electron-electron potential</h3>
|
||||
<div id="outline-container-orgb990bbf" class="outline-3">
|
||||
<h3 id="orgb990bbf"><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-orgd9572a9" class="outline-4">
|
||||
<h4 id="orgd9572a9"><span class="section-number-4">2.4.1</span> Get</h4>
|
||||
<div id="outline-container-org971949c" class="outline-4">
|
||||
<h4 id="org971949c"><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-org158c2bd" class="outline-4">
|
||||
<h4 id="org158c2bd"><span class="section-number-4">2.4.2</span> Compute</h4>
|
||||
<div id="outline-container-org6e2427c" class="outline-4">
|
||||
<h4 id="org6e2427c"><span class="section-number-4">2.4.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-4-2">
|
||||
<table id="orgd9ac0f6" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgf9b5fbb" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1666,8 +1666,8 @@ distance.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7f73993" class="outline-4">
|
||||
<h4 id="org7f73993"><span class="section-number-4">2.4.3</span> Test</h4>
|
||||
<div id="outline-container-org25050f9" class="outline-4">
|
||||
<h4 id="org25050f9"><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-org50723e6" class="outline-3">
|
||||
<h3 id="org50723e6"><span class="section-number-3">2.5</span> Electron-nucleus distances</h3>
|
||||
<div id="outline-container-org663af41" class="outline-3">
|
||||
<h3 id="org663af41"><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-orgc18cb3b" class="outline-4">
|
||||
<h4 id="orgc18cb3b"><span class="section-number-4">2.5.1</span> Get</h4>
|
||||
<div id="outline-container-org20407ed" class="outline-4">
|
||||
<h4 id="org20407ed"><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-org1ebbf25" class="outline-4">
|
||||
<h4 id="org1ebbf25"><span class="section-number-4">2.5.2</span> Compute</h4>
|
||||
<div id="outline-container-org010e0a5" class="outline-4">
|
||||
<h4 id="org010e0a5"><span class="section-number-4">2.5.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-5-2">
|
||||
<table id="orgded7dbe" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org8e443b2" 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-org7cc8d26" class="outline-4">
|
||||
<h4 id="org7cc8d26"><span class="section-number-4">2.5.3</span> Test</h4>
|
||||
<div id="outline-container-orge908ec9" class="outline-4">
|
||||
<h4 id="orge908ec9"><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-orgcd2c973" class="outline-3">
|
||||
<h3 id="orgcd2c973"><span class="section-number-3">2.6</span> Electron-nucleus rescaled distances</h3>
|
||||
<div id="outline-container-org63facdf" class="outline-3">
|
||||
<h3 id="org63facdf"><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-org4e04735" class="outline-4">
|
||||
<h4 id="org4e04735"><span class="section-number-4">2.6.1</span> Get</h4>
|
||||
<div id="outline-container-org3105113" class="outline-4">
|
||||
<h4 id="org3105113"><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-org70e9843" class="outline-4">
|
||||
<h4 id="org70e9843"><span class="section-number-4">2.6.2</span> Compute</h4>
|
||||
<div id="outline-container-orgc7d3f0c" class="outline-4">
|
||||
<h4 id="orgc7d3f0c"><span class="section-number-4">2.6.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-6-2">
|
||||
<table id="orgfd29b5a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orge89442b" 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-org416f868" class="outline-4">
|
||||
<h4 id="org416f868"><span class="section-number-4">2.6.3</span> Test</h4>
|
||||
<div id="outline-container-orge06d006" class="outline-4">
|
||||
<h4 id="orge06d006"><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-orgc65a5cb" class="outline-3">
|
||||
<h3 id="orgc65a5cb"><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-orgd042f98" class="outline-3">
|
||||
<h3 id="orgd042f98"><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-org4a793ab" class="outline-4">
|
||||
<h4 id="org4a793ab"><span class="section-number-4">2.7.1</span> Get</h4>
|
||||
<div id="outline-container-org1f3a10c" class="outline-4">
|
||||
<h4 id="org1f3a10c"><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-org12c23f3" class="outline-4">
|
||||
<h4 id="org12c23f3"><span class="section-number-4">2.7.2</span> Compute</h4>
|
||||
<div id="outline-container-orgfec6549" class="outline-4">
|
||||
<h4 id="orgfec6549"><span class="section-number-4">2.7.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-7-2">
|
||||
<table id="org939d80a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgf6b1e04" 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-org52552fc" class="outline-4">
|
||||
<h4 id="org52552fc"><span class="section-number-4">2.7.3</span> Test</h4>
|
||||
<div id="outline-container-orge6ea30e" class="outline-4">
|
||||
<h4 id="orge6ea30e"><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-orgc89a1c1" class="outline-3">
|
||||
<h3 id="orgc89a1c1"><span class="section-number-3">2.8</span> Electron-nucleus potential</h3>
|
||||
<div id="outline-container-org3b2868f" class="outline-3">
|
||||
<h3 id="org3b2868f"><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-orgcf540dd" class="outline-4">
|
||||
<h4 id="orgcf540dd"><span class="section-number-4">2.8.1</span> Get</h4>
|
||||
<div id="outline-container-org574c65c" class="outline-4">
|
||||
<h4 id="org574c65c"><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-org82eeaf9" class="outline-4">
|
||||
<h4 id="org82eeaf9"><span class="section-number-4">2.8.2</span> Compute</h4>
|
||||
<div id="outline-container-orge334407" class="outline-4">
|
||||
<h4 id="orge334407"><span class="section-number-4">2.8.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-8-2">
|
||||
<table id="orgf8d3ec8" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org3f2212f" 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-org7332aac" class="outline-4">
|
||||
<h4 id="org7332aac"><span class="section-number-4">2.8.3</span> Test</h4>
|
||||
<div id="outline-container-org2f02f08" class="outline-4">
|
||||
<h4 id="org2f02f08"><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-org0c3705a" class="outline-3">
|
||||
<h3 id="org0c3705a"><span class="section-number-3">2.9</span> Generate initial coordinates</h3>
|
||||
<div id="outline-container-org09dab57" class="outline-3">
|
||||
<h3 id="org09dab57"><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-02-19 Sat 18:26</p>
|
||||
<p class="date">Created: 2022-02-24 Thu 18:08</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
483
qmckl_error.html
483
qmckl_error.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-02-19 Sat 18:26 -->
|
||||
<!-- 2022-02-24 Thu 18:08 -->
|
||||
<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,151 +311,272 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#orge45a833">1. Decoding errors</a></li>
|
||||
<li><a href="#org2952cda">2. Data structure in context</a></li>
|
||||
<li><a href="#org1bd2957">3. Updating errors in the context</a></li>
|
||||
<li><a href="#orgef009e2">4. Get the error</a></li>
|
||||
<li><a href="#orgdb5043f">5. Failing</a></li>
|
||||
<li><a href="#org8872ad7">-</a></li>
|
||||
<li><a href="#org9e2187c">1. Decoding errors</a></li>
|
||||
<li><a href="#org308ccdb">2. Data structure in context</a></li>
|
||||
<li><a href="#orgeefdb12">3. Updating errors in the context</a></li>
|
||||
<li><a href="#org5184825">4. Get the error</a></li>
|
||||
<li><a href="#orge92f938">5. Failing</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge45a833" class="outline-2">
|
||||
<h2 id="orge45a833"><span class="section-number-2">1</span> Decoding errors</h2>
|
||||
<div id="outline-container-org8872ad7" class="outline-2">
|
||||
<h2 id="org8872ad7">-</h2>
|
||||
<div class="outline-text-2" id="text-org8872ad7">
|
||||
<p>
|
||||
The library should never make the calling programs abort, nor
|
||||
perform any input/output operations. This decision has to be taken
|
||||
by the developer of the code calling the library.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
All the functions return with an exit code, defined as
|
||||
</p>
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c" id="org2b9688f"><span style="color: #a020f0;">typedef</span> <span style="color: #228b22;">int32_t</span> <span style="color: #228b22;">qmckl_exit_code</span>;
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
|
||||
<p>
|
||||
The exit code returns the completion status of the function to the
|
||||
calling program. When a function call completed successfully,
|
||||
<code>QMCKL_SUCCESS</code> is returned. If one of the functions of
|
||||
the library fails to complete the requested task, an appropriate
|
||||
error code is returned to the program.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Here is the complete list of exit codes.
|
||||
</p>
|
||||
|
||||
<table id="orgc2ba866" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
<col class="org-left" />
|
||||
|
||||
<col class="org-right" />
|
||||
|
||||
<col class="org-left" />
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col" class="org-left">Macro</th>
|
||||
<th scope="col" class="org-right">Code</th>
|
||||
<th scope="col" class="org-left">Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="org-left"><code>QMCKL_SUCCESS</code></td>
|
||||
<td class="org-right">0</td>
|
||||
<td class="org-left">'Success'</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>QMCKL_INVALID_ARG_1</code></td>
|
||||
<td class="org-right">1</td>
|
||||
<td class="org-left">'Invalid argument 1'</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>QMCKL_INVALID_ARG_2</code></td>
|
||||
<td class="org-right">2</td>
|
||||
<td class="org-left">'Invalid argument 2'</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>QMCKL_INVALID_ARG_3</code></td>
|
||||
<td class="org-right">3</td>
|
||||
<td class="org-left">'Invalid argument 3'</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>QMCKL_INVALID_ARG_4</code></td>
|
||||
<td class="org-right">4</td>
|
||||
<td class="org-left">'Invalid argument 4'</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>QMCKL_INVALID_ARG_5</code></td>
|
||||
<td class="org-right">5</td>
|
||||
<td class="org-left">'Invalid argument 5'</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>QMCKL_INVALID_ARG_6</code></td>
|
||||
<td class="org-right">6</td>
|
||||
<td class="org-left">'Invalid argument 6'</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>QMCKL_INVALID_ARG_7</code></td>
|
||||
<td class="org-right">7</td>
|
||||
<td class="org-left">'Invalid argument 7'</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>QMCKL_INVALID_ARG_8</code></td>
|
||||
<td class="org-right">8</td>
|
||||
<td class="org-left">'Invalid argument 8'</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>QMCKL_INVALID_ARG_9</code></td>
|
||||
<td class="org-right">9</td>
|
||||
<td class="org-left">'Invalid argument 9'</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>QMCKL_INVALID_ARG_10</code></td>
|
||||
<td class="org-right">10</td>
|
||||
<td class="org-left">'Invalid argument 10'</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>QMCKL_INVALID_ARG_11</code></td>
|
||||
<td class="org-right">11</td>
|
||||
<td class="org-left">'Invalid argument 11'</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>QMCKL_INVALID_ARG_12</code></td>
|
||||
<td class="org-right">12</td>
|
||||
<td class="org-left">'Invalid argument 12'</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>QMCKL_INVALID_ARG_13</code></td>
|
||||
<td class="org-right">13</td>
|
||||
<td class="org-left">'Invalid argument 13'</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>QMCKL_INVALID_ARG_14</code></td>
|
||||
<td class="org-right">14</td>
|
||||
<td class="org-left">'Invalid argument 14'</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>QMCKL_INVALID_ARG_15</code></td>
|
||||
<td class="org-right">15</td>
|
||||
<td class="org-left">'Invalid argument 15'</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>QMCKL_INVALID_ARG_16</code></td>
|
||||
<td class="org-right">16</td>
|
||||
<td class="org-left">'Invalid argument 16'</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>QMCKL_INVALID_ARG_17</code></td>
|
||||
<td class="org-right">17</td>
|
||||
<td class="org-left">'Invalid argument 17'</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>QMCKL_INVALID_ARG_18</code></td>
|
||||
<td class="org-right">18</td>
|
||||
<td class="org-left">'Invalid argument 18'</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>QMCKL_INVALID_ARG_19</code></td>
|
||||
<td class="org-right">19</td>
|
||||
<td class="org-left">'Invalid argument 19'</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>QMCKL_INVALID_ARG_20</code></td>
|
||||
<td class="org-right">20</td>
|
||||
<td class="org-left">'Invalid argument 20'</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>QMCKL_FAILURE</code></td>
|
||||
<td class="org-right">101</td>
|
||||
<td class="org-left">'Failure'</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>QMCKL_ERRNO</code></td>
|
||||
<td class="org-right">102</td>
|
||||
<td class="org-left">strerror(errno)</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>QMCKL_INVALID_CONTEXT</code></td>
|
||||
<td class="org-right">103</td>
|
||||
<td class="org-left">'Invalid context'</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>QMCKL_ALLOCATION_FAILED</code></td>
|
||||
<td class="org-right">104</td>
|
||||
<td class="org-left">'Allocation failed'</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>QMCKL_DEALLOCATION_FAILED</code></td>
|
||||
<td class="org-right">105</td>
|
||||
<td class="org-left">'De-allocation failed'</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>QMCKL_NOT_PROVIDED</code></td>
|
||||
<td class="org-right">106</td>
|
||||
<td class="org-left">'Not provided'</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>QMCKL_OUT_OF_BOUNDS</code></td>
|
||||
<td class="org-right">107</td>
|
||||
<td class="org-left">'Index out of bounds'</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>QMCKL_INVALID_EXIT_CODE</code></td>
|
||||
<td class="org-right">108</td>
|
||||
<td class="org-left">'Invalid exit code'</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<p>
|
||||
The <code>qmckl_string_of_error</code> converts an exit code into a string. The
|
||||
string is assumed to be large enough to contain the error message
|
||||
(typically 128 characters).
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9e2187c" class="outline-2">
|
||||
<h2 id="org9e2187c"><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
|
||||
error code into a string.
|
||||
</p>
|
||||
|
||||
<pre class="example">
|
||||
128
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #a020f0;">const</span> <span style="color: #228b22;">char</span>*
|
||||
<span style="color: #0000ff;">qmckl_string_of_error</span> (<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #a0522d;">error</span>);
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
The text strings are extracted from the previous table.
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #a020f0;">const</span> <span style="color: #228b22;">char</span>* <span style="color: #0000ff;">qmckl_string_of_error</span>(<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #a0522d;">error</span>) {
|
||||
<span style="color: #a020f0;">switch</span> (error) {
|
||||
<span style="color: #a020f0;">case</span> QMCKL_SUCCESS:
|
||||
<span style="color: #a020f0;">return</span> <span style="color: #8b2252;">"Success"</span>;
|
||||
<span style="color: #a020f0;">break</span>;
|
||||
<span style="color: #a020f0;">case</span> QMCKL_INVALID_ARG_1:
|
||||
<span style="color: #a020f0;">return</span> <span style="color: #8b2252;">"Invalid argument 1"</span>;
|
||||
<span style="color: #a020f0;">break</span>;
|
||||
<span style="color: #a020f0;">case</span> QMCKL_INVALID_ARG_2:
|
||||
<span style="color: #a020f0;">return</span> <span style="color: #8b2252;">"Invalid argument 2"</span>;
|
||||
<span style="color: #a020f0;">break</span>;
|
||||
<span style="color: #a020f0;">case</span> QMCKL_INVALID_ARG_3:
|
||||
<span style="color: #a020f0;">return</span> <span style="color: #8b2252;">"Invalid argument 3"</span>;
|
||||
<span style="color: #a020f0;">break</span>;
|
||||
<span style="color: #a020f0;">case</span> QMCKL_INVALID_ARG_4:
|
||||
<span style="color: #a020f0;">return</span> <span style="color: #8b2252;">"Invalid argument 4"</span>;
|
||||
<span style="color: #a020f0;">break</span>;
|
||||
<span style="color: #a020f0;">case</span> QMCKL_INVALID_ARG_5:
|
||||
<span style="color: #a020f0;">return</span> <span style="color: #8b2252;">"Invalid argument 5"</span>;
|
||||
<span style="color: #a020f0;">break</span>;
|
||||
<span style="color: #a020f0;">case</span> QMCKL_INVALID_ARG_6:
|
||||
<span style="color: #a020f0;">return</span> <span style="color: #8b2252;">"Invalid argument 6"</span>;
|
||||
<span style="color: #a020f0;">break</span>;
|
||||
<span style="color: #a020f0;">case</span> QMCKL_INVALID_ARG_7:
|
||||
<span style="color: #a020f0;">return</span> <span style="color: #8b2252;">"Invalid argument 7"</span>;
|
||||
<span style="color: #a020f0;">break</span>;
|
||||
<span style="color: #a020f0;">case</span> QMCKL_INVALID_ARG_8:
|
||||
<span style="color: #a020f0;">return</span> <span style="color: #8b2252;">"Invalid argument 8"</span>;
|
||||
<span style="color: #a020f0;">break</span>;
|
||||
<span style="color: #a020f0;">case</span> QMCKL_INVALID_ARG_9:
|
||||
<span style="color: #a020f0;">return</span> <span style="color: #8b2252;">"Invalid argument 9"</span>;
|
||||
<span style="color: #a020f0;">break</span>;
|
||||
<span style="color: #a020f0;">case</span> QMCKL_INVALID_ARG_10:
|
||||
<span style="color: #a020f0;">return</span> <span style="color: #8b2252;">"Invalid argument 10"</span>;
|
||||
<span style="color: #a020f0;">break</span>;
|
||||
<span style="color: #a020f0;">case</span> QMCKL_INVALID_ARG_11:
|
||||
<span style="color: #a020f0;">return</span> <span style="color: #8b2252;">"Invalid argument 11"</span>;
|
||||
<span style="color: #a020f0;">break</span>;
|
||||
<span style="color: #a020f0;">case</span> QMCKL_INVALID_ARG_12:
|
||||
<span style="color: #a020f0;">return</span> <span style="color: #8b2252;">"Invalid argument 12"</span>;
|
||||
<span style="color: #a020f0;">break</span>;
|
||||
<span style="color: #a020f0;">case</span> QMCKL_INVALID_ARG_13:
|
||||
<span style="color: #a020f0;">return</span> <span style="color: #8b2252;">"Invalid argument 13"</span>;
|
||||
<span style="color: #a020f0;">break</span>;
|
||||
<span style="color: #a020f0;">case</span> QMCKL_INVALID_ARG_14:
|
||||
<span style="color: #a020f0;">return</span> <span style="color: #8b2252;">"Invalid argument 14"</span>;
|
||||
<span style="color: #a020f0;">break</span>;
|
||||
<span style="color: #a020f0;">case</span> QMCKL_INVALID_ARG_15:
|
||||
<span style="color: #a020f0;">return</span> <span style="color: #8b2252;">"Invalid argument 15"</span>;
|
||||
<span style="color: #a020f0;">break</span>;
|
||||
<span style="color: #a020f0;">case</span> QMCKL_INVALID_ARG_16:
|
||||
<span style="color: #a020f0;">return</span> <span style="color: #8b2252;">"Invalid argument 16"</span>;
|
||||
<span style="color: #a020f0;">break</span>;
|
||||
<span style="color: #a020f0;">case</span> QMCKL_INVALID_ARG_17:
|
||||
<span style="color: #a020f0;">return</span> <span style="color: #8b2252;">"Invalid argument 17"</span>;
|
||||
<span style="color: #a020f0;">break</span>;
|
||||
<span style="color: #a020f0;">case</span> QMCKL_INVALID_ARG_18:
|
||||
<span style="color: #a020f0;">return</span> <span style="color: #8b2252;">"Invalid argument 18"</span>;
|
||||
<span style="color: #a020f0;">break</span>;
|
||||
<span style="color: #a020f0;">case</span> QMCKL_INVALID_ARG_19:
|
||||
<span style="color: #a020f0;">return</span> <span style="color: #8b2252;">"Invalid argument 19"</span>;
|
||||
<span style="color: #a020f0;">break</span>;
|
||||
<span style="color: #a020f0;">case</span> QMCKL_INVALID_ARG_20:
|
||||
<span style="color: #a020f0;">return</span> <span style="color: #8b2252;">"Invalid argument 20"</span>;
|
||||
<span style="color: #a020f0;">break</span>;
|
||||
<span style="color: #a020f0;">case</span> QMCKL_FAILURE:
|
||||
<span style="color: #a020f0;">return</span> <span style="color: #8b2252;">"Failure"</span>;
|
||||
<span style="color: #a020f0;">break</span>;
|
||||
<span style="color: #a020f0;">case</span> QMCKL_ERRNO:
|
||||
<span style="color: #a020f0;">return</span> strerror(errno);
|
||||
<span style="color: #a020f0;">break</span>;
|
||||
<span style="color: #a020f0;">case</span> QMCKL_INVALID_CONTEXT:
|
||||
<span style="color: #a020f0;">return</span> <span style="color: #8b2252;">"Invalid context"</span>;
|
||||
<span style="color: #a020f0;">break</span>;
|
||||
<span style="color: #a020f0;">case</span> QMCKL_ALLOCATION_FAILED:
|
||||
<span style="color: #a020f0;">return</span> <span style="color: #8b2252;">"Allocation failed"</span>;
|
||||
<span style="color: #a020f0;">break</span>;
|
||||
<span style="color: #a020f0;">case</span> QMCKL_DEALLOCATION_FAILED:
|
||||
<span style="color: #a020f0;">return</span> <span style="color: #8b2252;">"De-allocation failed"</span>;
|
||||
<span style="color: #a020f0;">break</span>;
|
||||
<span style="color: #a020f0;">case</span> QMCKL_NOT_PROVIDED:
|
||||
<span style="color: #a020f0;">return</span> <span style="color: #8b2252;">"Not provided"</span>;
|
||||
<span style="color: #a020f0;">break</span>;
|
||||
<span style="color: #a020f0;">case</span> QMCKL_OUT_OF_BOUNDS:
|
||||
<span style="color: #a020f0;">return</span> <span style="color: #8b2252;">"Index out of bounds"</span>;
|
||||
<span style="color: #a020f0;">break</span>;
|
||||
<span style="color: #a020f0;">case</span> QMCKL_INVALID_EXIT_CODE:
|
||||
<span style="color: #a020f0;">return</span> <span style="color: #8b2252;">"Invalid exit code"</span>;
|
||||
<span style="color: #a020f0;">break</span>;
|
||||
}
|
||||
<span style="color: #a020f0;">return</span> <span style="color: #8b2252;">"Unknown error"</span>;
|
||||
}
|
||||
|
||||
<span style="color: #228b22;">void</span> <span style="color: #0000ff;">qmckl_string_of_error_f</span>(<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #a0522d;">error</span>, <span style="color: #228b22;">char</span> <span style="color: #a0522d;">result</span>[128]) {
|
||||
strncpy(result, qmckl_string_of_error(error), 128-1);
|
||||
}
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #a020f0;">interface</span>
|
||||
<span style="color: #a020f0;">subroutine</span> <span style="color: #0000ff;">qmckl_string_of_error</span> (error, string) <span style="color: #a020f0;">bind</span>(C, name=<span style="color: #8b2252;">'qmckl_string_of_error_f'</span>)
|
||||
<span style="color: #a020f0;">use</span>, <span style="color: #a020f0;">intrinsic</span> :: <span style="color: #0000ff;">iso_c_binding</span>
|
||||
<span style="color: #a020f0;">import</span>
|
||||
<span style="color: #228b22;">integer</span> (qmckl_exit_code), <span style="color: #a020f0;">intent</span>(in), <span style="color: #a020f0;">value</span> ::<span style="color: #a0522d;"> error</span>
|
||||
<span style="color: #228b22;">character</span>, <span style="color: #a020f0;">intent</span>(out) ::<span style="color: #a0522d;"> string(128)</span>
|
||||
<span style="color: #a020f0;">end subroutine</span> <span style="color: #0000ff;">qmckl_string_of_error</span>
|
||||
<span style="color: #a020f0;">end interface</span>
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2952cda" class="outline-2">
|
||||
<h2 id="org2952cda"><span class="section-number-2">2</span> Data structure in context</h2>
|
||||
<div id="outline-container-org308ccdb" class="outline-2">
|
||||
<h2 id="org308ccdb"><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 with a maximum fixed size to avoid
|
||||
The strings are declared internally with a maximum fixed size to avoid
|
||||
dynamic memory allocation.
|
||||
</p>
|
||||
|
||||
@ -475,8 +596,8 @@ dynamic memory allocation.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1bd2957" class="outline-2">
|
||||
<h2 id="org1bd2957"><span class="section-number-2">3</span> Updating errors in the context</h2>
|
||||
<div id="outline-container-orgeefdb12" class="outline-2">
|
||||
<h2 id="orgeefdb12"><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>.
|
||||
@ -490,40 +611,13 @@ explaining the error. The exit code can't be <code>QMCKL_SUCCESS</code>.
|
||||
<span style="color: #0000ff;">qmckl_set_error</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #a0522d;">exit_code</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">char</span>* <span style="color: #a0522d;">function_name</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">char</span>* <span style="color: #a0522d;">message</span>)
|
||||
{
|
||||
/* <span style="color: #b22222;">Passing a function name and a message is mandatory. </span>*/
|
||||
assert (function_name != <span style="color: #008b8b;">NULL</span>);
|
||||
assert (message != <span style="color: #008b8b;">NULL</span>);
|
||||
|
||||
/* <span style="color: #b22222;">Exit codes are assumed valid. </span>*/
|
||||
assert (exit_code >= 0);
|
||||
assert (exit_code != QMCKL_SUCCESS);
|
||||
assert (exit_code < QMCKL_INVALID_EXIT_CODE);
|
||||
|
||||
/* <span style="color: #b22222;">The context is assumed to exist. </span>*/
|
||||
assert (qmckl_context_check(context) != QMCKL_NULL_CONTEXT);
|
||||
|
||||
qmckl_lock(context);
|
||||
{
|
||||
<span style="color: #228b22;">qmckl_context_struct</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">ctx</span> = (<span style="color: #228b22;">qmckl_context_struct</span>* <span style="color: #a020f0;">const</span>) context;
|
||||
assert (ctx != <span style="color: #008b8b;">NULL</span>); /* <span style="color: #b22222;">Impossible because the context is valid. </span>*/
|
||||
|
||||
ctx->error.exit_code = exit_code;
|
||||
strncpy(ctx->error.function, function_name, QMCKL_MAX_FUN_LEN-1);
|
||||
strncpy(ctx->error.message, message, QMCKL_MAX_MSG_LEN-1);
|
||||
}
|
||||
qmckl_unlock(context);
|
||||
|
||||
<span style="color: #a020f0;">return</span> QMCKL_SUCCESS;
|
||||
}
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">char</span>* <span style="color: #a0522d;">message</span>);
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgef009e2" class="outline-2">
|
||||
<h2 id="orgef009e2"><span class="section-number-2">4</span> Get the error</h2>
|
||||
<div id="outline-container-org5184825" class="outline-2">
|
||||
<h2 id="org5184825"><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
|
||||
@ -537,46 +631,13 @@ function name and message is mandatory.
|
||||
<span style="color: #0000ff;">qmckl_get_error</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #228b22;">qmckl_exit_code</span> *<span style="color: #a0522d;">exit_code</span>,
|
||||
<span style="color: #228b22;">char</span>* <span style="color: #a0522d;">function_name</span>,
|
||||
<span style="color: #228b22;">char</span>* <span style="color: #a0522d;">message</span>)
|
||||
{
|
||||
/* <span style="color: #b22222;">Passing a function name and a message is mandatory. </span>*/
|
||||
assert (function_name != <span style="color: #008b8b;">NULL</span>);
|
||||
assert (message != <span style="color: #008b8b;">NULL</span>);
|
||||
|
||||
/* <span style="color: #b22222;">The context is assumed to exist. </span>*/
|
||||
assert (qmckl_context_check(context) != QMCKL_NULL_CONTEXT);
|
||||
|
||||
qmckl_lock(context);
|
||||
{
|
||||
<span style="color: #228b22;">qmckl_context_struct</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">ctx</span> = (<span style="color: #228b22;">qmckl_context_struct</span>* <span style="color: #a020f0;">const</span>) context;
|
||||
assert (ctx != <span style="color: #008b8b;">NULL</span>); /* <span style="color: #b22222;">Impossible because the context is valid. </span>*/
|
||||
|
||||
/* <span style="color: #b22222;">Turn off annoying GCC warning </span>*/
|
||||
<span style="color: #483d8b;">#ifdef</span> __GNUC__
|
||||
<span style="color: #483d8b;">#pragma</span> GCC diagnostic push
|
||||
<span style="color: #483d8b;">#pragma</span> GCC diagnostic ignored <span style="color: #8b2252;">"-Wstringop-truncation"</span>
|
||||
<span style="color: #483d8b;">#endif</span>
|
||||
|
||||
strncpy(function_name, ctx->error.function, QMCKL_MAX_FUN_LEN-1);
|
||||
strncpy(message , ctx->error.message , QMCKL_MAX_MSG_LEN-1);
|
||||
|
||||
<span style="color: #483d8b;">#ifdef</span> __GNUC__
|
||||
<span style="color: #483d8b;">#pragma</span> GCC diagnostic pop
|
||||
<span style="color: #483d8b;">#endif</span>
|
||||
|
||||
(*exit_code) = ctx->error.exit_code;
|
||||
}
|
||||
qmckl_unlock(context);
|
||||
|
||||
<span style="color: #a020f0;">return</span> QMCKL_SUCCESS;
|
||||
}
|
||||
<span style="color: #228b22;">char</span>* <span style="color: #a0522d;">message</span>);
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgdb5043f" class="outline-2">
|
||||
<h2 id="orgdb5043f"><span class="section-number-2">5</span> Failing</h2>
|
||||
<div id="outline-container-orge92f938" class="outline-2">
|
||||
<h2 id="orge92f938"><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
|
||||
@ -590,35 +651,11 @@ Upon failure, a <code>QMCKL_NULL_CONTEXT</code> is returned.
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_failwith</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
|
||||
<span style="color: #0000ff;">qmckl_failwith</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #a0522d;">exit_code</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">char</span>* <span style="color: #a0522d;">function</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">char</span>* <span style="color: #a0522d;">message</span>) {
|
||||
|
||||
assert (exit_code > 0);
|
||||
assert (exit_code < QMCKL_INVALID_EXIT_CODE);
|
||||
assert (function != <span style="color: #008b8b;">NULL</span>);
|
||||
assert (strlen(function) < QMCKL_MAX_FUN_LEN);
|
||||
<span style="color: #a020f0;">if</span> (message != <span style="color: #008b8b;">NULL</span>) {
|
||||
assert (strlen(message) < QMCKL_MAX_MSG_LEN);
|
||||
}
|
||||
|
||||
<span style="color: #a020f0;">if</span> (qmckl_context_check(context) == QMCKL_NULL_CONTEXT)
|
||||
<span style="color: #a020f0;">return</span> QMCKL_INVALID_CONTEXT;
|
||||
|
||||
<span style="color: #a020f0;">if</span> (message == <span style="color: #008b8b;">NULL</span>) {
|
||||
<span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #a0522d;">rc</span> =
|
||||
qmckl_set_error(context, exit_code, function, qmckl_string_of_error(exit_code));
|
||||
assert (rc == QMCKL_SUCCESS);
|
||||
} <span style="color: #a020f0;">else</span> {
|
||||
<span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #a0522d;">rc</span> =
|
||||
qmckl_set_error(context, exit_code, function, message);
|
||||
assert (rc == QMCKL_SUCCESS);
|
||||
}
|
||||
|
||||
<span style="color: #a020f0;">return</span> exit_code;
|
||||
}
|
||||
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">char</span>* <span style="color: #a0522d;">message</span>) ;
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
@ -639,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-02-19 Sat 18:26</p>
|
||||
<p class="date">Created: 2022-02-24 Thu 18:08</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-02-19 Sat 18:26 -->
|
||||
<!-- 2022-02-24 Thu 18:08 -->
|
||||
<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="#orgb31ffec">1. Introduction</a></li>
|
||||
<li><a href="#org77be5b6">2. Context</a>
|
||||
<li><a href="#orgfcd6828">1. Introduction</a></li>
|
||||
<li><a href="#orgb4bc1d6">2. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org0611160">2.1. Data structure</a></li>
|
||||
<li><a href="#orgc9d1884">2.2. Access functions</a></li>
|
||||
<li><a href="#org8b609dc">2.3. Initialization functions</a></li>
|
||||
<li><a href="#org95eaac4">2.4. Test</a></li>
|
||||
<li><a href="#org4ad3761">2.1. Data structure</a></li>
|
||||
<li><a href="#org2377c85">2.2. Access functions</a></li>
|
||||
<li><a href="#orgc8e7606">2.3. Initialization functions</a></li>
|
||||
<li><a href="#org0020e18">2.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orge2a498d">3. Computation</a>
|
||||
<li><a href="#org38680f1">3. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#org8ef71c1">3.1. Asymptotic component for \(J_{ee}\)</a>
|
||||
<li><a href="#orgc916023">3.1. Asymptotic component for \(J_{ee}\)</a>
|
||||
<ul>
|
||||
<li><a href="#org234c872">3.1.1. Get</a></li>
|
||||
<li><a href="#org049202d">3.1.2. Compute</a></li>
|
||||
<li><a href="#org413ac81">3.1.3. Test</a></li>
|
||||
<li><a href="#orgfd91af1">3.1.1. Get</a></li>
|
||||
<li><a href="#orgec57a6e">3.1.2. Compute</a></li>
|
||||
<li><a href="#orgb41e406">3.1.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org07168f2">3.2. Electron-electron component \(f_{ee}\)</a>
|
||||
<li><a href="#org4942ba0">3.2. Electron-electron component \(f_{ee}\)</a>
|
||||
<ul>
|
||||
<li><a href="#org8c5089b">3.2.1. Get</a></li>
|
||||
<li><a href="#orgd4889e7">3.2.2. Compute</a></li>
|
||||
<li><a href="#orge19d3cf">3.2.3. Test</a></li>
|
||||
<li><a href="#org545d1a6">3.2.1. Get</a></li>
|
||||
<li><a href="#org1d9b5ba">3.2.2. Compute</a></li>
|
||||
<li><a href="#org719ea8b">3.2.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgf833583">3.3. Electron-electron component derivative \(f'_{ee}\)</a>
|
||||
<li><a href="#org87f824b">3.3. Electron-electron component derivative \(f'_{ee}\)</a>
|
||||
<ul>
|
||||
<li><a href="#orga7db1a3">3.3.1. Get</a></li>
|
||||
<li><a href="#org25c3df5">3.3.2. Compute</a></li>
|
||||
<li><a href="#orgb2259d0">3.3.3. Test</a></li>
|
||||
<li><a href="#orge7e08f4">3.3.1. Get</a></li>
|
||||
<li><a href="#orgdd8e301">3.3.2. Compute</a></li>
|
||||
<li><a href="#orgc2e6fd8">3.3.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orge27ba0b">3.4. Electron-nucleus component \(f_{en}\)</a>
|
||||
<li><a href="#org609f9af">3.4. Electron-nucleus component \(f_{en}\)</a>
|
||||
<ul>
|
||||
<li><a href="#org5738229">3.4.1. Get</a></li>
|
||||
<li><a href="#orga6eaeab">3.4.2. Compute</a></li>
|
||||
<li><a href="#org35e222d">3.4.3. Test</a></li>
|
||||
<li><a href="#orgc956a73">3.4.1. Get</a></li>
|
||||
<li><a href="#org417bc0c">3.4.2. Compute</a></li>
|
||||
<li><a href="#org4171727">3.4.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgd8a57e8">3.5. Electron-nucleus component derivative \(f'_{en}\)</a>
|
||||
<li><a href="#orgf348052">3.5. Electron-nucleus component derivative \(f'_{en}\)</a>
|
||||
<ul>
|
||||
<li><a href="#org3d4cd73">3.5.1. Get</a></li>
|
||||
<li><a href="#org0b1e7ef">3.5.2. Compute</a></li>
|
||||
<li><a href="#orgb63ad6a">3.5.3. Test</a></li>
|
||||
<li><a href="#orgf7d8177">3.5.1. Get</a></li>
|
||||
<li><a href="#org9277b92">3.5.2. Compute</a></li>
|
||||
<li><a href="#orgb6f1bc1">3.5.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org2dd8841">3.6. Electron-electron rescaled distances for each order</a>
|
||||
<li><a href="#org49ce44f">3.6. Electron-electron rescaled distances for each order</a>
|
||||
<ul>
|
||||
<li><a href="#orgc7adea7">3.6.1. Get</a></li>
|
||||
<li><a href="#org7ed98e6">3.6.2. Compute</a></li>
|
||||
<li><a href="#org0fc3752">3.6.3. Test</a></li>
|
||||
<li><a href="#org2f415b2">3.6.1. Get</a></li>
|
||||
<li><a href="#org07fb717">3.6.2. Compute</a></li>
|
||||
<li><a href="#orgd77cddc">3.6.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org5d6bd96">3.7. Electron-electron rescaled distances for each order and derivatives</a>
|
||||
<li><a href="#orgec5aca7">3.7. Electron-electron rescaled distances for each order and derivatives</a>
|
||||
<ul>
|
||||
<li><a href="#org6823797">3.7.1. Get</a></li>
|
||||
<li><a href="#orge1d3173">3.7.2. Compute</a></li>
|
||||
<li><a href="#org6b93416">3.7.3. Test</a></li>
|
||||
<li><a href="#org368f83e">3.7.1. Get</a></li>
|
||||
<li><a href="#orgf13db30">3.7.2. Compute</a></li>
|
||||
<li><a href="#org82660e8">3.7.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org8b5e21a">3.8. Electron-nucleus rescaled distances for each order</a>
|
||||
<li><a href="#orgebe46d1">3.8. Electron-nucleus rescaled distances for each order</a>
|
||||
<ul>
|
||||
<li><a href="#org8d005a7">3.8.1. Get</a></li>
|
||||
<li><a href="#orgbc65335">3.8.2. Compute</a></li>
|
||||
<li><a href="#orgd7da0b7">3.8.3. Test</a></li>
|
||||
<li><a href="#org29c4cc6">3.8.1. Get</a></li>
|
||||
<li><a href="#org1c269a4">3.8.2. Compute</a></li>
|
||||
<li><a href="#orgc334566">3.8.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org8526994">3.9. Electron-nucleus rescaled distances for each order and derivatives</a>
|
||||
<li><a href="#org4689b5a">3.9. Electron-nucleus rescaled distances for each order and derivatives</a>
|
||||
<ul>
|
||||
<li><a href="#org83cc62a">3.9.1. Get</a></li>
|
||||
<li><a href="#org53576a7">3.9.2. Compute</a></li>
|
||||
<li><a href="#orgf0decd8">3.9.3. Test</a></li>
|
||||
<li><a href="#org264e681">3.9.1. Get</a></li>
|
||||
<li><a href="#org058e581">3.9.2. Compute</a></li>
|
||||
<li><a href="#orgf214b4c">3.9.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org83b00d7">3.10. Prepare for electron-electron-nucleus Jastrow \(f_{een}\)</a>
|
||||
<li><a href="#org9b3d81e">3.10. Prepare for electron-electron-nucleus Jastrow \(f_{een}\)</a>
|
||||
<ul>
|
||||
<li><a href="#org31cae47">3.10.1. Get</a></li>
|
||||
<li><a href="#org13d3d6a">3.10.2. Compute dim<sub>cord</sub><sub>vect</sub></a></li>
|
||||
<li><a href="#org5d98a98">3.10.3. Compute cord<sub>vect</sub><sub>full</sub></a></li>
|
||||
<li><a href="#orge2622ee">3.10.4. Compute lkpm<sub>combined</sub><sub>index</sub></a></li>
|
||||
<li><a href="#org4a23f62">3.10.5. Compute tmp<sub>c</sub></a></li>
|
||||
<li><a href="#orge62e00e">3.10.6. Compute dtmp<sub>c</sub></a></li>
|
||||
<li><a href="#org146e774">3.10.7. Test</a></li>
|
||||
<li><a href="#org3e8f9c7">3.10.1. Get</a></li>
|
||||
<li><a href="#org86debfc">3.10.2. Compute dim<sub>cord</sub><sub>vect</sub></a></li>
|
||||
<li><a href="#org6ae83df">3.10.3. Compute cord<sub>vect</sub><sub>full</sub></a></li>
|
||||
<li><a href="#org13b89f5">3.10.4. Compute lkpm<sub>combined</sub><sub>index</sub></a></li>
|
||||
<li><a href="#org0e8d554">3.10.5. Compute tmp<sub>c</sub></a></li>
|
||||
<li><a href="#orgc837785">3.10.6. Compute dtmp<sub>c</sub></a></li>
|
||||
<li><a href="#orgf536e09">3.10.7. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org85989c8">3.11. Electron-electron-nucleus Jastrow \(f_{een}\)</a>
|
||||
<li><a href="#orgd26c6d3">3.11. Electron-electron-nucleus Jastrow \(f_{een}\)</a>
|
||||
<ul>
|
||||
<li><a href="#orge03e464">3.11.1. Get</a></li>
|
||||
<li><a href="#org976274a">3.11.2. Compute naive</a></li>
|
||||
<li><a href="#orga8f39fd">3.11.3. Compute</a></li>
|
||||
<li><a href="#org7744028">3.11.4. Test</a></li>
|
||||
<li><a href="#org462b7e3">3.11.1. Get</a></li>
|
||||
<li><a href="#orgc850ac0">3.11.2. Compute naive</a></li>
|
||||
<li><a href="#org3963518">3.11.3. Compute</a></li>
|
||||
<li><a href="#org37518e3">3.11.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org448c19b">3.12. Electron-electron-nucleus Jastrow \(f_{een}\) derivative</a>
|
||||
<li><a href="#org891ac9e">3.12. Electron-electron-nucleus Jastrow \(f_{een}\) derivative</a>
|
||||
<ul>
|
||||
<li><a href="#org4a05524">3.12.1. Get</a></li>
|
||||
<li><a href="#orgb7c7c84">3.12.2. Compute Naive</a></li>
|
||||
<li><a href="#org983076e">3.12.3. Compute</a></li>
|
||||
<li><a href="#orgd16dcf6">3.12.4. Test</a></li>
|
||||
<li><a href="#org2de0ff8">3.12.1. Get</a></li>
|
||||
<li><a href="#org85db859">3.12.2. Compute Naive</a></li>
|
||||
<li><a href="#org8211ef7">3.12.3. Compute</a></li>
|
||||
<li><a href="#org908f476">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-orgb31ffec" class="outline-2">
|
||||
<h2 id="orgb31ffec"><span class="section-number-2">1</span> Introduction</h2>
|
||||
<div id="outline-container-orgfcd6828" class="outline-2">
|
||||
<h2 id="orgfcd6828"><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-org77be5b6" class="outline-2">
|
||||
<h2 id="org77be5b6"><span class="section-number-2">2</span> Context</h2>
|
||||
<div id="outline-container-orgb4bc1d6" class="outline-2">
|
||||
<h2 id="orgb4bc1d6"><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="org0083c06" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgee4ec3e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -855,8 +855,8 @@ computed data:
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0611160" class="outline-3">
|
||||
<h3 id="org0611160"><span class="section-number-3">2.1</span> Data structure</h3>
|
||||
<div id="outline-container-org4ad3761" class="outline-3">
|
||||
<h3 id="org4ad3761"><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-orgc9d1884" class="outline-3">
|
||||
<h3 id="orgc9d1884"><span class="section-number-3">2.2</span> Access functions</h3>
|
||||
<div id="outline-container-org2377c85" class="outline-3">
|
||||
<h3 id="org2377c85"><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-org8b609dc" class="outline-3">
|
||||
<h3 id="org8b609dc"><span class="section-number-3">2.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-orgc8e7606" class="outline-3">
|
||||
<h3 id="orgc8e7606"><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-org95eaac4" class="outline-3">
|
||||
<h3 id="org95eaac4"><span class="section-number-3">2.4</span> Test</h3>
|
||||
<div id="outline-container-org0020e18" class="outline-3">
|
||||
<h3 id="org0020e18"><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-orge2a498d" class="outline-2">
|
||||
<h2 id="orge2a498d"><span class="section-number-2">3</span> Computation</h2>
|
||||
<div id="outline-container-org38680f1" class="outline-2">
|
||||
<h2 id="org38680f1"><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-org8ef71c1" class="outline-3">
|
||||
<h3 id="org8ef71c1"><span class="section-number-3">3.1</span> Asymptotic component for \(J_{ee}\)</h3>
|
||||
<div id="outline-container-orgc916023" class="outline-3">
|
||||
<h3 id="orgc916023"><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-org234c872" class="outline-4">
|
||||
<h4 id="org234c872"><span class="section-number-4">3.1.1</span> Get</h4>
|
||||
<div id="outline-container-orgfd91af1" class="outline-4">
|
||||
<h4 id="orgfd91af1"><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-org049202d" class="outline-4">
|
||||
<h4 id="org049202d"><span class="section-number-4">3.1.2</span> Compute</h4>
|
||||
<div id="outline-container-orgec57a6e" class="outline-4">
|
||||
<h4 id="orgec57a6e"><span class="section-number-4">3.1.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-3-1-2">
|
||||
<table id="org608f7a0" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org0b85ea8" 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-org413ac81" class="outline-4">
|
||||
<h4 id="org413ac81"><span class="section-number-4">3.1.3</span> Test</h4>
|
||||
<div id="outline-container-orgb41e406" class="outline-4">
|
||||
<h4 id="orgb41e406"><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-org07168f2" class="outline-3">
|
||||
<h3 id="org07168f2"><span class="section-number-3">3.2</span> Electron-electron component \(f_{ee}\)</h3>
|
||||
<div id="outline-container-org4942ba0" class="outline-3">
|
||||
<h3 id="org4942ba0"><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-org8c5089b" class="outline-4">
|
||||
<h4 id="org8c5089b"><span class="section-number-4">3.2.1</span> Get</h4>
|
||||
<div id="outline-container-org545d1a6" class="outline-4">
|
||||
<h4 id="org545d1a6"><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-orgd4889e7" class="outline-4">
|
||||
<h4 id="orgd4889e7"><span class="section-number-4">3.2.2</span> Compute</h4>
|
||||
<div id="outline-container-org1d9b5ba" class="outline-4">
|
||||
<h4 id="org1d9b5ba"><span class="section-number-4">3.2.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-3-2-2">
|
||||
<table id="org80c7b42" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org2301e60" 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-orge19d3cf" class="outline-4">
|
||||
<h4 id="orge19d3cf"><span class="section-number-4">3.2.3</span> Test</h4>
|
||||
<div id="outline-container-org719ea8b" class="outline-4">
|
||||
<h4 id="org719ea8b"><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-orgf833583" class="outline-3">
|
||||
<h3 id="orgf833583"><span class="section-number-3">3.3</span> Electron-electron component derivative \(f'_{ee}\)</h3>
|
||||
<div id="outline-container-org87f824b" class="outline-3">
|
||||
<h3 id="org87f824b"><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-orga7db1a3" class="outline-4">
|
||||
<h4 id="orga7db1a3"><span class="section-number-4">3.3.1</span> Get</h4>
|
||||
<div id="outline-container-orge7e08f4" class="outline-4">
|
||||
<h4 id="orge7e08f4"><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-org25c3df5" class="outline-4">
|
||||
<h4 id="org25c3df5"><span class="section-number-4">3.3.2</span> Compute</h4>
|
||||
<div id="outline-container-orgdd8e301" class="outline-4">
|
||||
<h4 id="orgdd8e301"><span class="section-number-4">3.3.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-3-3-2">
|
||||
<table id="org25c2f3f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org3ae781b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1889,8 +1889,8 @@ TODO: Add equation
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgb2259d0" class="outline-4">
|
||||
<h4 id="orgb2259d0"><span class="section-number-4">3.3.3</span> Test</h4>
|
||||
<div id="outline-container-orgc2e6fd8" class="outline-4">
|
||||
<h4 id="orgc2e6fd8"><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-orge27ba0b" class="outline-3">
|
||||
<h3 id="orge27ba0b"><span class="section-number-3">3.4</span> Electron-nucleus component \(f_{en}\)</h3>
|
||||
<div id="outline-container-org609f9af" class="outline-3">
|
||||
<h3 id="org609f9af"><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-org5738229" class="outline-4">
|
||||
<h4 id="org5738229"><span class="section-number-4">3.4.1</span> Get</h4>
|
||||
<div id="outline-container-orgc956a73" class="outline-4">
|
||||
<h4 id="orgc956a73"><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-orga6eaeab" class="outline-4">
|
||||
<h4 id="orga6eaeab"><span class="section-number-4">3.4.2</span> Compute</h4>
|
||||
<div id="outline-container-org417bc0c" class="outline-4">
|
||||
<h4 id="org417bc0c"><span class="section-number-4">3.4.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-3-4-2">
|
||||
<table id="orgc7144d0" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org2030122" 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-org35e222d" class="outline-4">
|
||||
<h4 id="org35e222d"><span class="section-number-4">3.4.3</span> Test</h4>
|
||||
<div id="outline-container-org4171727" class="outline-4">
|
||||
<h4 id="org4171727"><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-orgd8a57e8" class="outline-3">
|
||||
<h3 id="orgd8a57e8"><span class="section-number-3">3.5</span> Electron-nucleus component derivative \(f'_{en}\)</h3>
|
||||
<div id="outline-container-orgf348052" class="outline-3">
|
||||
<h3 id="orgf348052"><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-org3d4cd73" class="outline-4">
|
||||
<h4 id="org3d4cd73"><span class="section-number-4">3.5.1</span> Get</h4>
|
||||
<div id="outline-container-orgf7d8177" class="outline-4">
|
||||
<h4 id="orgf7d8177"><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-org0b1e7ef" class="outline-4">
|
||||
<h4 id="org0b1e7ef"><span class="section-number-4">3.5.2</span> Compute</h4>
|
||||
<div id="outline-container-org9277b92" class="outline-4">
|
||||
<h4 id="org9277b92"><span class="section-number-4">3.5.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-3-5-2">
|
||||
<table id="org97e73cb" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org3bbfef8" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2396,8 +2396,8 @@ TODO: write equations.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgb63ad6a" class="outline-4">
|
||||
<h4 id="orgb63ad6a"><span class="section-number-4">3.5.3</span> Test</h4>
|
||||
<div id="outline-container-orgb6f1bc1" class="outline-4">
|
||||
<h4 id="orgb6f1bc1"><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-org2dd8841" class="outline-3">
|
||||
<h3 id="org2dd8841"><span class="section-number-3">3.6</span> Electron-electron rescaled distances for each order</h3>
|
||||
<div id="outline-container-org49ce44f" class="outline-3">
|
||||
<h3 id="org49ce44f"><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-orgc7adea7" class="outline-4">
|
||||
<h4 id="orgc7adea7"><span class="section-number-4">3.6.1</span> Get</h4>
|
||||
<div id="outline-container-org2f415b2" class="outline-4">
|
||||
<h4 id="org2f415b2"><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-org7ed98e6" class="outline-4">
|
||||
<h4 id="org7ed98e6"><span class="section-number-4">3.6.2</span> Compute</h4>
|
||||
<div id="outline-container-org07fb717" class="outline-4">
|
||||
<h4 id="org07fb717"><span class="section-number-4">3.6.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-3-6-2">
|
||||
<table id="orgae764e2" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgaea2065" 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-org0fc3752" class="outline-4">
|
||||
<h4 id="org0fc3752"><span class="section-number-4">3.6.3</span> Test</h4>
|
||||
<div id="outline-container-orgd77cddc" class="outline-4">
|
||||
<h4 id="orgd77cddc"><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-org5d6bd96" class="outline-3">
|
||||
<h3 id="org5d6bd96"><span class="section-number-3">3.7</span> Electron-electron rescaled distances for each order and derivatives</h3>
|
||||
<div id="outline-container-orgec5aca7" class="outline-3">
|
||||
<h3 id="orgec5aca7"><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-org6823797" class="outline-4">
|
||||
<h4 id="org6823797"><span class="section-number-4">3.7.1</span> Get</h4>
|
||||
<div id="outline-container-org368f83e" class="outline-4">
|
||||
<h4 id="org368f83e"><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-orge1d3173" class="outline-4">
|
||||
<h4 id="orge1d3173"><span class="section-number-4">3.7.2</span> Compute</h4>
|
||||
<div id="outline-container-orgf13db30" class="outline-4">
|
||||
<h4 id="orgf13db30"><span class="section-number-4">3.7.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-3-7-2">
|
||||
<table id="org71fd425" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orge9cd048" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2876,8 +2876,8 @@ TODO: write formulae
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org6b93416" class="outline-4">
|
||||
<h4 id="org6b93416"><span class="section-number-4">3.7.3</span> Test</h4>
|
||||
<div id="outline-container-org82660e8" class="outline-4">
|
||||
<h4 id="org82660e8"><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-org8b5e21a" class="outline-3">
|
||||
<h3 id="org8b5e21a"><span class="section-number-3">3.8</span> Electron-nucleus rescaled distances for each order</h3>
|
||||
<div id="outline-container-orgebe46d1" class="outline-3">
|
||||
<h3 id="orgebe46d1"><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-org8d005a7" class="outline-4">
|
||||
<h4 id="org8d005a7"><span class="section-number-4">3.8.1</span> Get</h4>
|
||||
<div id="outline-container-org29c4cc6" class="outline-4">
|
||||
<h4 id="org29c4cc6"><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-orgbc65335" class="outline-4">
|
||||
<h4 id="orgbc65335"><span class="section-number-4">3.8.2</span> Compute</h4>
|
||||
<div id="outline-container-org1c269a4" class="outline-4">
|
||||
<h4 id="org1c269a4"><span class="section-number-4">3.8.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-3-8-2">
|
||||
<table id="orge3388ab" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org3e806b7" 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-orgd7da0b7" class="outline-4">
|
||||
<h4 id="orgd7da0b7"><span class="section-number-4">3.8.3</span> Test</h4>
|
||||
<div id="outline-container-orgc334566" class="outline-4">
|
||||
<h4 id="orgc334566"><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-org8526994" class="outline-3">
|
||||
<h3 id="org8526994"><span class="section-number-3">3.9</span> Electron-nucleus rescaled distances for each order and derivatives</h3>
|
||||
<div id="outline-container-org4689b5a" class="outline-3">
|
||||
<h3 id="org4689b5a"><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-org83cc62a" class="outline-4">
|
||||
<h4 id="org83cc62a"><span class="section-number-4">3.9.1</span> Get</h4>
|
||||
<div id="outline-container-org264e681" class="outline-4">
|
||||
<h4 id="org264e681"><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-org53576a7" class="outline-4">
|
||||
<h4 id="org53576a7"><span class="section-number-4">3.9.2</span> Compute</h4>
|
||||
<div id="outline-container-org058e581" class="outline-4">
|
||||
<h4 id="org058e581"><span class="section-number-4">3.9.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-3-9-2">
|
||||
<table id="org466be62" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org0b4fbac" 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-orgf0decd8" class="outline-4">
|
||||
<h4 id="orgf0decd8"><span class="section-number-4">3.9.3</span> Test</h4>
|
||||
<div id="outline-container-orgf214b4c" class="outline-4">
|
||||
<h4 id="orgf214b4c"><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-org83b00d7" class="outline-3">
|
||||
<h3 id="org83b00d7"><span class="section-number-3">3.10</span> Prepare for electron-electron-nucleus Jastrow \(f_{een}\)</h3>
|
||||
<div id="outline-container-org9b3d81e" class="outline-3">
|
||||
<h3 id="org9b3d81e"><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-org31cae47" class="outline-4">
|
||||
<h4 id="org31cae47"><span class="section-number-4">3.10.1</span> Get</h4>
|
||||
<div id="outline-container-org3e8f9c7" class="outline-4">
|
||||
<h4 id="org3e8f9c7"><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-org13d3d6a" class="outline-4">
|
||||
<h4 id="org13d3d6a"><span class="section-number-4">3.10.2</span> Compute dim<sub>cord</sub><sub>vect</sub></h4>
|
||||
<div id="outline-container-org86debfc" class="outline-4">
|
||||
<h4 id="org86debfc"><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="orgf36d913" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgc4c5569" 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-org5d98a98" class="outline-4">
|
||||
<h4 id="org5d98a98"><span class="section-number-4">3.10.3</span> Compute cord<sub>vect</sub><sub>full</sub></h4>
|
||||
<div id="outline-container-org6ae83df" class="outline-4">
|
||||
<h4 id="org6ae83df"><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="org14da8b7" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org7c456e3" 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-orge2622ee" class="outline-4">
|
||||
<h4 id="orge2622ee"><span class="section-number-4">3.10.4</span> Compute lkpm<sub>combined</sub><sub>index</sub></h4>
|
||||
<div id="outline-container-org13b89f5" class="outline-4">
|
||||
<h4 id="org13b89f5"><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="org1e815a9" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orga28fc28" 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-org4a23f62" class="outline-4">
|
||||
<h4 id="org4a23f62"><span class="section-number-4">3.10.5</span> Compute tmp<sub>c</sub></h4>
|
||||
<div id="outline-container-org0e8d554" class="outline-4">
|
||||
<h4 id="org0e8d554"><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="org431f3b8" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org644d78e" 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-orge62e00e" class="outline-4">
|
||||
<h4 id="orge62e00e"><span class="section-number-4">3.10.6</span> Compute dtmp<sub>c</sub></h4>
|
||||
<div id="outline-container-orgc837785" class="outline-4">
|
||||
<h4 id="orgc837785"><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="org1b161ef" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org5d7d515" 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-org146e774" class="outline-4">
|
||||
<h4 id="org146e774"><span class="section-number-4">3.10.7</span> Test</h4>
|
||||
<div id="outline-container-orgf536e09" class="outline-4">
|
||||
<h4 id="orgf536e09"><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-org85989c8" class="outline-3">
|
||||
<h3 id="org85989c8"><span class="section-number-3">3.11</span> Electron-electron-nucleus Jastrow \(f_{een}\)</h3>
|
||||
<div id="outline-container-orgd26c6d3" class="outline-3">
|
||||
<h3 id="orgd26c6d3"><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-orge03e464" class="outline-4">
|
||||
<h4 id="orge03e464"><span class="section-number-4">3.11.1</span> Get</h4>
|
||||
<div id="outline-container-org462b7e3" class="outline-4">
|
||||
<h4 id="org462b7e3"><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-org976274a" class="outline-4">
|
||||
<h4 id="org976274a"><span class="section-number-4">3.11.2</span> Compute naive</h4>
|
||||
<div id="outline-container-orgc850ac0" class="outline-4">
|
||||
<h4 id="orgc850ac0"><span class="section-number-4">3.11.2</span> Compute naive</h4>
|
||||
<div class="outline-text-4" id="text-3-11-2">
|
||||
<table id="orgbd0f16b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org19ef07c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -4348,10 +4348,10 @@ TODO: write equations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga8f39fd" class="outline-4">
|
||||
<h4 id="orga8f39fd"><span class="section-number-4">3.11.3</span> Compute</h4>
|
||||
<div id="outline-container-org3963518" class="outline-4">
|
||||
<h4 id="org3963518"><span class="section-number-4">3.11.3</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-3-11-3">
|
||||
<table id="org426c6bb" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgfdb7bc2" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -4540,8 +4540,8 @@ TODO: write equations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7744028" class="outline-4">
|
||||
<h4 id="org7744028"><span class="section-number-4">3.11.4</span> Test</h4>
|
||||
<div id="outline-container-org37518e3" class="outline-4">
|
||||
<h4 id="org37518e3"><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-org448c19b" class="outline-3">
|
||||
<h3 id="org448c19b"><span class="section-number-3">3.12</span> Electron-electron-nucleus Jastrow \(f_{een}\) derivative</h3>
|
||||
<div id="outline-container-org891ac9e" class="outline-3">
|
||||
<h3 id="org891ac9e"><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-org4a05524" class="outline-4">
|
||||
<h4 id="org4a05524"><span class="section-number-4">3.12.1</span> Get</h4>
|
||||
<div id="outline-container-org2de0ff8" class="outline-4">
|
||||
<h4 id="org2de0ff8"><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-orgb7c7c84" class="outline-4">
|
||||
<h4 id="orgb7c7c84"><span class="section-number-4">3.12.2</span> Compute Naive</h4>
|
||||
<div id="outline-container-org85db859" class="outline-4">
|
||||
<h4 id="org85db859"><span class="section-number-4">3.12.2</span> Compute Naive</h4>
|
||||
<div class="outline-text-4" id="text-3-12-2">
|
||||
<table id="orge714e44" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgb85cb94" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -4819,10 +4819,10 @@ TODO: write equations.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org983076e" class="outline-4">
|
||||
<h4 id="org983076e"><span class="section-number-4">3.12.3</span> Compute</h4>
|
||||
<div id="outline-container-org8211ef7" class="outline-4">
|
||||
<h4 id="org8211ef7"><span class="section-number-4">3.12.3</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-3-12-3">
|
||||
<table id="org2d2cf4c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orge36fd0a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -5048,8 +5048,8 @@ TODO: write equations.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgd16dcf6" class="outline-4">
|
||||
<h4 id="orgd16dcf6"><span class="section-number-4">3.12.4</span> Test</h4>
|
||||
<div id="outline-container-org908f476" class="outline-4">
|
||||
<h4 id="org908f476"><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-02-19 Sat 18:26</p>
|
||||
<p class="date">Created: 2022-02-24 Thu 18:08</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-02-19 Sat 18:26 -->
|
||||
<!-- 2022-02-24 Thu 18:08 -->
|
||||
<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="#org30fd6c5">1. Context</a>
|
||||
<li><a href="#org38cd204">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#orge3644fc">1.1. Data structure</a></li>
|
||||
<li><a href="#org9a98111">1.1. Data structure</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgdc01db9">2. Computation</a>
|
||||
<li><a href="#orge85b165">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#orgfb44799">2.1. Kinetic energy</a>
|
||||
<li><a href="#org334c9a7">2.1. Kinetic energy</a>
|
||||
<ul>
|
||||
<li><a href="#orgfb4ee9d">2.1.1. Get</a></li>
|
||||
<li><a href="#orga3d41f2">2.1.2. Provide</a></li>
|
||||
<li><a href="#orgf1b4e81">2.1.3. Compute kinetic enregy</a></li>
|
||||
<li><a href="#orga51ce77">2.1.4. Test</a></li>
|
||||
<li><a href="#org5b81f14">2.1.1. Get</a></li>
|
||||
<li><a href="#org34b290f">2.1.2. Provide</a></li>
|
||||
<li><a href="#org49a2038">2.1.3. Compute kinetic enregy</a></li>
|
||||
<li><a href="#org95c54d5">2.1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org53bae04">2.2. Potential energy</a>
|
||||
<li><a href="#org82837d6">2.2. Potential energy</a>
|
||||
<ul>
|
||||
<li><a href="#org6f91497">2.2.1. Get</a></li>
|
||||
<li><a href="#org86fdc8d">2.2.2. Provide</a></li>
|
||||
<li><a href="#org9f2dc0f">2.2.3. Compute potential enregy</a></li>
|
||||
<li><a href="#org0b82db7">2.2.4. Test</a></li>
|
||||
<li><a href="#orgc65e152">2.2.1. Get</a></li>
|
||||
<li><a href="#org3903b87">2.2.2. Provide</a></li>
|
||||
<li><a href="#org60ba939">2.2.3. Compute potential enregy</a></li>
|
||||
<li><a href="#orgf8ddb54">2.2.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgc5b214a">2.3. Local energy</a>
|
||||
<li><a href="#org824b23b">2.3. Local energy</a>
|
||||
<ul>
|
||||
<li><a href="#org39d641e">2.3.1. Get</a></li>
|
||||
<li><a href="#orgb6db322">2.3.2. Provide</a></li>
|
||||
<li><a href="#org51b3640">2.3.3. Compute local enregy</a></li>
|
||||
<li><a href="#org85ba068">2.3.4. Test</a></li>
|
||||
<li><a href="#org3be2e76">2.3.1. Get</a></li>
|
||||
<li><a href="#org17537fd">2.3.2. Provide</a></li>
|
||||
<li><a href="#org27f814b">2.3.3. Compute local enregy</a></li>
|
||||
<li><a href="#orga430142">2.3.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgc94676c">2.4. Drift vector</a>
|
||||
<li><a href="#orged1497d">2.4. Drift vector</a>
|
||||
<ul>
|
||||
<li><a href="#orgdb92562">2.4.1. Get</a></li>
|
||||
<li><a href="#orge823c31">2.4.2. Provide</a></li>
|
||||
<li><a href="#org75b907b">2.4.3. Compute drift vector</a></li>
|
||||
<li><a href="#orge264516">2.4.4. Test</a></li>
|
||||
<li><a href="#org0cbebf8">2.4.1. Get</a></li>
|
||||
<li><a href="#org97fe82b">2.4.2. Provide</a></li>
|
||||
<li><a href="#org010be8e">2.4.3. Compute drift vector</a></li>
|
||||
<li><a href="#org1849949">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-org30fd6c5" class="outline-2">
|
||||
<h2 id="org30fd6c5"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-org38cd204" class="outline-2">
|
||||
<h2 id="org38cd204"><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-orge3644fc" class="outline-3">
|
||||
<h3 id="orge3644fc"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-org9a98111" class="outline-3">
|
||||
<h3 id="org9a98111"><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-orgdc01db9" class="outline-2">
|
||||
<h2 id="orgdc01db9"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-orge85b165" class="outline-2">
|
||||
<h2 id="orge85b165"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-orgfb44799" class="outline-3">
|
||||
<h3 id="orgfb44799"><span class="section-number-3">2.1</span> Kinetic energy</h3>
|
||||
<div id="outline-container-org334c9a7" class="outline-3">
|
||||
<h3 id="org334c9a7"><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-orgfb4ee9d" class="outline-4">
|
||||
<h4 id="orgfb4ee9d"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-org5b81f14" class="outline-4">
|
||||
<h4 id="org5b81f14"><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-orga3d41f2" class="outline-4">
|
||||
<h4 id="orga3d41f2"><span class="section-number-4">2.1.2</span> Provide</h4>
|
||||
<div id="outline-container-org34b290f" class="outline-4">
|
||||
<h4 id="org34b290f"><span class="section-number-4">2.1.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf1b4e81" class="outline-4">
|
||||
<h4 id="orgf1b4e81"><span class="section-number-4">2.1.3</span> Compute kinetic enregy</h4>
|
||||
<div id="outline-container-org49a2038" class="outline-4">
|
||||
<h4 id="org49a2038"><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="org1f71779" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org505e755" 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-orga51ce77" class="outline-4">
|
||||
<h4 id="orga51ce77"><span class="section-number-4">2.1.4</span> Test</h4>
|
||||
<div id="outline-container-org95c54d5" class="outline-4">
|
||||
<h4 id="org95c54d5"><span class="section-number-4">2.1.4</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org53bae04" class="outline-3">
|
||||
<h3 id="org53bae04"><span class="section-number-3">2.2</span> Potential energy</h3>
|
||||
<div id="outline-container-org82837d6" class="outline-3">
|
||||
<h3 id="org82837d6"><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-org6f91497" class="outline-4">
|
||||
<h4 id="org6f91497"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div id="outline-container-orgc65e152" class="outline-4">
|
||||
<h4 id="orgc65e152"><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-org86fdc8d" class="outline-4">
|
||||
<h4 id="org86fdc8d"><span class="section-number-4">2.2.2</span> Provide</h4>
|
||||
<div id="outline-container-org3903b87" class="outline-4">
|
||||
<h4 id="org3903b87"><span class="section-number-4">2.2.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9f2dc0f" class="outline-4">
|
||||
<h4 id="org9f2dc0f"><span class="section-number-4">2.2.3</span> Compute potential enregy</h4>
|
||||
<div id="outline-container-org60ba939" class="outline-4">
|
||||
<h4 id="org60ba939"><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="org221b10e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org2c27f01" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -949,12 +949,12 @@ contributions.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0b82db7" class="outline-4">
|
||||
<h4 id="org0b82db7"><span class="section-number-4">2.2.4</span> Test</h4>
|
||||
<div id="outline-container-orgf8ddb54" class="outline-4">
|
||||
<h4 id="orgf8ddb54"><span class="section-number-4">2.2.4</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgc5b214a" class="outline-3">
|
||||
<h3 id="orgc5b214a"><span class="section-number-3">2.3</span> Local energy</h3>
|
||||
<div id="outline-container-org824b23b" class="outline-3">
|
||||
<h3 id="org824b23b"><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-org39d641e" class="outline-4">
|
||||
<h4 id="org39d641e"><span class="section-number-4">2.3.1</span> Get</h4>
|
||||
<div id="outline-container-org3be2e76" class="outline-4">
|
||||
<h4 id="org3be2e76"><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-orgb6db322" class="outline-4">
|
||||
<h4 id="orgb6db322"><span class="section-number-4">2.3.2</span> Provide</h4>
|
||||
<div id="outline-container-org17537fd" class="outline-4">
|
||||
<h4 id="org17537fd"><span class="section-number-4">2.3.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org51b3640" class="outline-4">
|
||||
<h4 id="org51b3640"><span class="section-number-4">2.3.3</span> Compute local enregy</h4>
|
||||
<div id="outline-container-org27f814b" class="outline-4">
|
||||
<h4 id="org27f814b"><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="orgc0d86f3" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org657b9b1" 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-org85ba068" class="outline-4">
|
||||
<h4 id="org85ba068"><span class="section-number-4">2.3.4</span> Test</h4>
|
||||
<div id="outline-container-orga430142" class="outline-4">
|
||||
<h4 id="orga430142"><span class="section-number-4">2.3.4</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgc94676c" class="outline-3">
|
||||
<h3 id="orgc94676c"><span class="section-number-3">2.4</span> Drift vector</h3>
|
||||
<div id="outline-container-orged1497d" class="outline-3">
|
||||
<h3 id="orged1497d"><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-orgdb92562" class="outline-4">
|
||||
<h4 id="orgdb92562"><span class="section-number-4">2.4.1</span> Get</h4>
|
||||
<div id="outline-container-org0cbebf8" class="outline-4">
|
||||
<h4 id="org0cbebf8"><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-orge823c31" class="outline-4">
|
||||
<h4 id="orge823c31"><span class="section-number-4">2.4.2</span> Provide</h4>
|
||||
<div id="outline-container-org97fe82b" class="outline-4">
|
||||
<h4 id="org97fe82b"><span class="section-number-4">2.4.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org75b907b" class="outline-4">
|
||||
<h4 id="org75b907b"><span class="section-number-4">2.4.3</span> Compute drift vector</h4>
|
||||
<div id="outline-container-org010be8e" class="outline-4">
|
||||
<h4 id="org010be8e"><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="org609d98d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org13e2246" 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-orge264516" class="outline-4">
|
||||
<h4 id="orge264516"><span class="section-number-4">2.4.4</span> Test</h4>
|
||||
<div id="outline-container-org1849949" class="outline-4">
|
||||
<h4 id="org1849949"><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-02-19 Sat 18:26</p>
|
||||
<p class="date">Created: 2022-02-24 Thu 18:08</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-02-19 Sat 18:26 -->
|
||||
<!-- 2022-02-24 Thu 18:08 -->
|
||||
<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="#org18279df">1. Memory data structure for the context</a></li>
|
||||
<li><a href="#orga2f04aa">2. Passing info to allocation routines</a></li>
|
||||
<li><a href="#org17164e0">3. Allocation/deallocation functions</a></li>
|
||||
<li><a href="#org88c8717">1. Memory data structure for the context</a></li>
|
||||
<li><a href="#orgf926888">2. Passing info to allocation routines</a></li>
|
||||
<li><a href="#orge714a03">3. Allocation/deallocation functions</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org18279df" class="outline-2">
|
||||
<h2 id="org18279df"><span class="section-number-2">1</span> Memory data structure for the context</h2>
|
||||
<div id="outline-container-org88c8717" class="outline-2">
|
||||
<h2 id="org88c8717"><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-orga2f04aa" class="outline-2">
|
||||
<h2 id="orga2f04aa"><span class="section-number-2">2</span> Passing info to allocation routines</h2>
|
||||
<div id="outline-container-orgf926888" class="outline-2">
|
||||
<h2 id="orgf926888"><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-org17164e0" class="outline-2">
|
||||
<h2 id="org17164e0"><span class="section-number-2">3</span> Allocation/deallocation functions</h2>
|
||||
<div id="outline-container-orge714a03" class="outline-2">
|
||||
<h2 id="orge714a03"><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-02-19 Sat 18:26</p>
|
||||
<p class="date">Created: 2022-02-24 Thu 18:08</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-02-19 Sat 18:26 -->
|
||||
<!-- 2022-02-24 Thu 18:08 -->
|
||||
<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,21 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org2520916">1. Context</a>
|
||||
<li><a href="#org3cec4f3">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#orga7e5cd8">1.1. Data structure</a></li>
|
||||
<li><a href="#orge44d6f0">1.2. Access functions</a></li>
|
||||
<li><a href="#org455a360">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org05e6bfb">1.1. Data structure</a></li>
|
||||
<li><a href="#orgd9c1575">1.2. Access functions</a></li>
|
||||
<li><a href="#org824ab09">1.3. Initialization functions</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org69d2000">2. Computation</a>
|
||||
<li><a href="#org678ca8b">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#orgf47f5f2">2.1. Computation of MOs</a>
|
||||
<li><a href="#org7da1343">2.1. Computation of MOs</a>
|
||||
<ul>
|
||||
<li><a href="#org9c7be2c">2.1.1. Get</a></li>
|
||||
<li><a href="#org28ea846">2.1.2. Provide</a></li>
|
||||
<li><a href="#org4429a4b">2.1.3. Compute</a></li>
|
||||
<li><a href="#org5f4c647">2.1.4. Test</a></li>
|
||||
<li><a href="#org979a85b">2.1.1. Get</a></li>
|
||||
<li><a href="#orgc6f102c">2.1.2. Provide</a></li>
|
||||
<li><a href="#org7f66550">2.1.3. Compute</a></li>
|
||||
<li><a href="#orgaf6b982">2.1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -334,8 +334,8 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2520916" class="outline-2">
|
||||
<h2 id="org2520916"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-org3cec4f3" class="outline-2">
|
||||
<h2 id="org3cec4f3"><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:
|
||||
@ -397,8 +397,8 @@ Computed data:
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga7e5cd8" class="outline-3">
|
||||
<h3 id="orga7e5cd8"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-org05e6bfb" class="outline-3">
|
||||
<h3 id="org05e6bfb"><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> {
|
||||
@ -447,8 +447,8 @@ this mechanism.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge44d6f0" class="outline-3">
|
||||
<h3 id="orge44d6f0"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-orgd9c1575" class="outline-3">
|
||||
<h3 id="orgd9c1575"><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 +462,8 @@ function returns <code>true</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org455a360" class="outline-3">
|
||||
<h3 id="org455a360"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-org824ab09" class="outline-3">
|
||||
<h3 id="org824ab09"><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,16 +484,16 @@ computed to accelerate the calculations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org69d2000" class="outline-2">
|
||||
<h2 id="org69d2000"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-org678ca8b" class="outline-2">
|
||||
<h2 id="org678ca8b"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-orgf47f5f2" class="outline-3">
|
||||
<h3 id="orgf47f5f2"><span class="section-number-3">2.1</span> Computation of MOs</h3>
|
||||
<div id="outline-container-org7da1343" class="outline-3">
|
||||
<h3 id="org7da1343"><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-org9c7be2c" class="outline-4">
|
||||
<h4 id="org9c7be2c"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-org979a85b" class="outline-4">
|
||||
<h4 id="org979a85b"><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>);
|
||||
@ -502,14 +502,14 @@ computed to accelerate the calculations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org28ea846" class="outline-4">
|
||||
<h4 id="org28ea846"><span class="section-number-4">2.1.2</span> Provide</h4>
|
||||
<div id="outline-container-orgc6f102c" class="outline-4">
|
||||
<h4 id="orgc6f102c"><span class="section-number-4">2.1.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4429a4b" class="outline-4">
|
||||
<h4 id="org4429a4b"><span class="section-number-4">2.1.3</span> Compute</h4>
|
||||
<div id="outline-container-org7f66550" class="outline-4">
|
||||
<h4 id="org7f66550"><span class="section-number-4">2.1.3</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-1-3">
|
||||
<table id="org5f6758b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org76d134d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -628,15 +628,15 @@ computed to accelerate the calculations.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org5f4c647" class="outline-4">
|
||||
<h4 id="org5f4c647"><span class="section-number-4">2.1.4</span> Test</h4>
|
||||
<div id="outline-container-orgaf6b982" class="outline-4">
|
||||
<h4 id="orgaf6b982"><span class="section-number-4">2.1.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-02-19 Sat 18:26</p>
|
||||
<p class="date">Created: 2022-02-24 Thu 18:08</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-02-19 Sat 18:26 -->
|
||||
<!-- 2022-02-24 Thu 18:08 -->
|
||||
<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="#org962255b">1. Context</a>
|
||||
<li><a href="#orgd7a042e">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org1ab93fd">1.1. Data structure</a></li>
|
||||
<li><a href="#orgc24cbc5">1.2. Access functions</a></li>
|
||||
<li><a href="#org4ef186f">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org7fb1e97">1.4. Test</a></li>
|
||||
<li><a href="#orge3260f7">1.1. Data structure</a></li>
|
||||
<li><a href="#org09fdcbd">1.2. Access functions</a></li>
|
||||
<li><a href="#org64d5215">1.3. Initialization functions</a></li>
|
||||
<li><a href="#orgb98a197">1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org6fc9520">2. Computation</a>
|
||||
<li><a href="#org4bad0e3">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#orgc1bc99d">2.1. Nucleus-nucleus distances</a>
|
||||
<li><a href="#orgf6c5cbb">2.1. Nucleus-nucleus distances</a>
|
||||
<ul>
|
||||
<li><a href="#org0b21390">2.1.1. Get</a></li>
|
||||
<li><a href="#org4a32dc8">2.1.2. Compute</a></li>
|
||||
<li><a href="#orgb752eb0">2.1.3. Test</a></li>
|
||||
<li><a href="#orgc962643">2.1.1. Get</a></li>
|
||||
<li><a href="#orgce1222f">2.1.2. Compute</a></li>
|
||||
<li><a href="#org9d6f9e9">2.1.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orge054a56">2.2. Nucleus-nucleus rescaled distances</a>
|
||||
<li><a href="#org1958559">2.2. Nucleus-nucleus rescaled distances</a>
|
||||
<ul>
|
||||
<li><a href="#org3f704ab">2.2.1. Get</a></li>
|
||||
<li><a href="#org2e3eb51">2.2.2. Compute</a></li>
|
||||
<li><a href="#orgdd19a4c">2.2.3. Test</a></li>
|
||||
<li><a href="#orga7505aa">2.2.1. Get</a></li>
|
||||
<li><a href="#org99cc56a">2.2.2. Compute</a></li>
|
||||
<li><a href="#orgdb927c7">2.2.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgc3a2243">2.3. Nuclear repulsion energy</a>
|
||||
<li><a href="#orge8ac87c">2.3. Nuclear repulsion energy</a>
|
||||
<ul>
|
||||
<li><a href="#orgcf51d3d">2.3.1. Get</a></li>
|
||||
<li><a href="#org53167aa">2.3.2. Compute</a></li>
|
||||
<li><a href="#orgd606309">2.3.3. Test</a></li>
|
||||
<li><a href="#orgc2af540">2.3.1. Get</a></li>
|
||||
<li><a href="#orgda94b9c">2.3.2. Compute</a></li>
|
||||
<li><a href="#orgbe22346">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-org962255b" class="outline-2">
|
||||
<h2 id="org962255b"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-orgd7a042e" class="outline-2">
|
||||
<h2 id="orgd7a042e"><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-org1ab93fd" class="outline-3">
|
||||
<h3 id="org1ab93fd"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-orge3260f7" class="outline-3">
|
||||
<h3 id="orge3260f7"><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-orgc24cbc5" class="outline-3">
|
||||
<h3 id="orgc24cbc5"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-org09fdcbd" class="outline-3">
|
||||
<h3 id="org09fdcbd"><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-org4ef186f" class="outline-3">
|
||||
<h3 id="org4ef186f"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-org64d5215" class="outline-3">
|
||||
<h3 id="org64d5215"><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-org7fb1e97" class="outline-3">
|
||||
<h3 id="org7fb1e97"><span class="section-number-3">1.4</span> Test</h3>
|
||||
<div id="outline-container-orgb98a197" class="outline-3">
|
||||
<h3 id="orgb98a197"><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-org6fc9520" class="outline-2">
|
||||
<h2 id="org6fc9520"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-org4bad0e3" class="outline-2">
|
||||
<h2 id="org4bad0e3"><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-orgc1bc99d" class="outline-3">
|
||||
<h3 id="orgc1bc99d"><span class="section-number-3">2.1</span> Nucleus-nucleus distances</h3>
|
||||
<div id="outline-container-orgf6c5cbb" class="outline-3">
|
||||
<h3 id="orgf6c5cbb"><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-org0b21390" class="outline-4">
|
||||
<h4 id="org0b21390"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-orgc962643" class="outline-4">
|
||||
<h4 id="orgc962643"><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-org4a32dc8" class="outline-4">
|
||||
<h4 id="org4a32dc8"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div id="outline-container-orgce1222f" class="outline-4">
|
||||
<h4 id="orgce1222f"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-1-2">
|
||||
<table id="org6f8eb23" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org8e6fff8" 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-orgb752eb0" class="outline-4">
|
||||
<h4 id="orgb752eb0"><span class="section-number-4">2.1.3</span> Test</h4>
|
||||
<div id="outline-container-org9d6f9e9" class="outline-4">
|
||||
<h4 id="org9d6f9e9"><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-orge054a56" class="outline-3">
|
||||
<h3 id="orge054a56"><span class="section-number-3">2.2</span> Nucleus-nucleus rescaled distances</h3>
|
||||
<div id="outline-container-org1958559" class="outline-3">
|
||||
<h3 id="org1958559"><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-org3f704ab" class="outline-4">
|
||||
<h4 id="org3f704ab"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div id="outline-container-orga7505aa" class="outline-4">
|
||||
<h4 id="orga7505aa"><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-org2e3eb51" class="outline-4">
|
||||
<h4 id="org2e3eb51"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div id="outline-container-org99cc56a" class="outline-4">
|
||||
<h4 id="org99cc56a"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-2-2">
|
||||
<table id="org3bd7c71" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org0b8181e" 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-orgdd19a4c" class="outline-4">
|
||||
<h4 id="orgdd19a4c"><span class="section-number-4">2.2.3</span> Test</h4>
|
||||
<div id="outline-container-orgdb927c7" class="outline-4">
|
||||
<h4 id="orgdb927c7"><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-orgc3a2243" class="outline-3">
|
||||
<h3 id="orgc3a2243"><span class="section-number-3">2.3</span> Nuclear repulsion energy</h3>
|
||||
<div id="outline-container-orge8ac87c" class="outline-3">
|
||||
<h3 id="orge8ac87c"><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-orgcf51d3d" class="outline-4">
|
||||
<h4 id="orgcf51d3d"><span class="section-number-4">2.3.1</span> Get</h4>
|
||||
<div id="outline-container-orgc2af540" class="outline-4">
|
||||
<h4 id="orgc2af540"><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-org53167aa" class="outline-4">
|
||||
<h4 id="org53167aa"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div id="outline-container-orgda94b9c" class="outline-4">
|
||||
<h4 id="orgda94b9c"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-3-2">
|
||||
<table id="orga5df9bd" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgf5f3afe" 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-orgd606309" class="outline-4">
|
||||
<h4 id="orgd606309"><span class="section-number-4">2.3.3</span> Test</h4>
|
||||
<div id="outline-container-orgbe22346" class="outline-4">
|
||||
<h4 id="orgbe22346"><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-02-19 Sat 18:26</p>
|
||||
<p class="date">Created: 2022-02-24 Thu 18:08</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-02-19 Sat 18:26 -->
|
||||
<!-- 2022-02-24 Thu 18:08 -->
|
||||
<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="#org950f8cc">1. Control of the numerical precision</a></li>
|
||||
<li><a href="#org3d7ac58">2. Precision</a></li>
|
||||
<li><a href="#orgb57b24b">3. Range</a></li>
|
||||
<li><a href="#orgcc5aab5">4. Helper functions</a></li>
|
||||
<li><a href="#org18d4487">1. Control of the numerical precision</a></li>
|
||||
<li><a href="#orga26e8a0">2. Precision</a></li>
|
||||
<li><a href="#org7e0c735">3. Range</a></li>
|
||||
<li><a href="#org546e87f">4. Helper functions</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org950f8cc" class="outline-2">
|
||||
<h2 id="org950f8cc"><span class="section-number-2">1</span> Control of the numerical precision</h2>
|
||||
<div id="outline-container-org18d4487" class="outline-2">
|
||||
<h2 id="org18d4487"><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="orgb178782" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orge978e9a" 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-org3d7ac58" class="outline-2">
|
||||
<h2 id="org3d7ac58"><span class="section-number-2">2</span> Precision</h2>
|
||||
<div id="outline-container-orga26e8a0" class="outline-2">
|
||||
<h2 id="orga26e8a0"><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-orgb57b24b" class="outline-2">
|
||||
<h2 id="orgb57b24b"><span class="section-number-2">3</span> Range</h2>
|
||||
<div id="outline-container-org7e0c735" class="outline-2">
|
||||
<h2 id="org7e0c735"><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-orgcc5aab5" class="outline-2">
|
||||
<h2 id="orgcc5aab5"><span class="section-number-2">4</span> Helper functions</h2>
|
||||
<div id="outline-container-org546e87f" class="outline-2">
|
||||
<h2 id="org546e87f"><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-02-19 Sat 18:26</p>
|
||||
<p class="date">Created: 2022-02-24 Thu 18:08</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-02-19 Sat 18:26 -->
|
||||
<!-- 2022-02-24 Thu 18:08 -->
|
||||
<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="#orgffe2583">1. Context</a>
|
||||
<li><a href="#org602affa">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#orgdc54f7b">1.1. Data structure</a></li>
|
||||
<li><a href="#org4d95703">1.2. Access functions</a>
|
||||
<li><a href="#org0625dc9">1.1. Data structure</a></li>
|
||||
<li><a href="#org632d5d6">1.2. Access functions</a>
|
||||
<ul>
|
||||
<li><a href="#orgf97bf72">1.2.1. Number of points</a></li>
|
||||
<li><a href="#org744eb9c">1.2.2. Point coordinates</a></li>
|
||||
<li><a href="#org76d3242">1.2.1. Number of points</a></li>
|
||||
<li><a href="#orgb113519">1.2.2. Point coordinates</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgc746ecc">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org0f99dcf">1.4. Test</a></li>
|
||||
<li><a href="#orgd644251">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org7efa03e">1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgffe2583" class="outline-2">
|
||||
<h2 id="orgffe2583"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-org602affa" class="outline-2">
|
||||
<h2 id="org602affa"><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-orgdc54f7b" class="outline-3">
|
||||
<h3 id="orgdc54f7b"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-org0625dc9" class="outline-3">
|
||||
<h3 id="org0625dc9"><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-org4d95703" class="outline-3">
|
||||
<h3 id="org4d95703"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-org632d5d6" class="outline-3">
|
||||
<h3 id="org632d5d6"><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-orgf97bf72" class="outline-4">
|
||||
<h4 id="orgf97bf72"><span class="section-number-4">1.2.1</span> Number of points</h4>
|
||||
<div id="outline-container-org76d3242" class="outline-4">
|
||||
<h4 id="org76d3242"><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-org744eb9c" class="outline-4">
|
||||
<h4 id="org744eb9c"><span class="section-number-4">1.2.2</span> Point coordinates</h4>
|
||||
<div id="outline-container-orgb113519" class="outline-4">
|
||||
<h4 id="orgb113519"><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-orgc746ecc" class="outline-3">
|
||||
<h3 id="orgc746ecc"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-orgd644251" class="outline-3">
|
||||
<h3 id="orgd644251"><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
|
||||
@ -625,8 +625,8 @@ Copy a sequence of <code>num</code> points \((x,y,z)\) into the context.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org0f99dcf" class="outline-3">
|
||||
<h3 id="org0f99dcf"><span class="section-number-3">1.4</span> Test</h3>
|
||||
<div id="outline-container-org7efa03e" class="outline-3">
|
||||
<h3 id="org7efa03e"><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>*/
|
||||
@ -685,7 +685,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-02-19 Sat 18:26</p>
|
||||
<p class="date">Created: 2022-02-24 Thu 18:08</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-02-19 Sat 18:26 -->
|
||||
<!-- 2022-02-24 Thu 18:08 -->
|
||||
<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="#orgac637d4">1. Headers</a></li>
|
||||
<li><a href="#orgc07dcd0">2. Naïve Sherman-Morrison</a>
|
||||
<li><a href="#orgf3dad59">1. Headers</a></li>
|
||||
<li><a href="#orge1b4b05">2. Naïve Sherman-Morrison</a>
|
||||
<ul>
|
||||
<li><a href="#orgccee769">2.1. <code>qmckl_sherman_morrison</code></a>
|
||||
<li><a href="#org511a751">2.1. <code>qmckl_sherman_morrison</code></a>
|
||||
<ul>
|
||||
<li><a href="#org0ac09b2">2.1.1. Requirements</a></li>
|
||||
<li><a href="#org9e9d735">2.1.2. C header</a></li>
|
||||
<li><a href="#org7edd057">2.1.3. C source</a></li>
|
||||
<li><a href="#orgdf700fb">2.1.4. Performance</a></li>
|
||||
<li><a href="#orgd51fb39">2.1.1. Requirements</a></li>
|
||||
<li><a href="#org78c56e4">2.1.2. C header</a></li>
|
||||
<li><a href="#orgd57ec73">2.1.3. C source</a></li>
|
||||
<li><a href="#org111843f">2.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orge80d9a0">3. Woodbury 2x2</a>
|
||||
<li><a href="#org0043cf9">3. Woodbury 2x2</a>
|
||||
<ul>
|
||||
<li><a href="#org7cd8a5c">3.1. <code>qmckl_woodbury_2</code></a>
|
||||
<li><a href="#orgb2445ee">3.1. <code>qmckl_woodbury_2</code></a>
|
||||
<ul>
|
||||
<li><a href="#orgcf3ab57">3.1.1. Requirements</a></li>
|
||||
<li><a href="#org22eb805">3.1.2. C header</a></li>
|
||||
<li><a href="#org831f115">3.1.3. C source</a></li>
|
||||
<li><a href="#orgf89f04d">3.1.4. Performance</a></li>
|
||||
<li><a href="#org4433510">3.1.1. Requirements</a></li>
|
||||
<li><a href="#org01d0a4c">3.1.2. C header</a></li>
|
||||
<li><a href="#org8a1c67e">3.1.3. C source</a></li>
|
||||
<li><a href="#org511ef19">3.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org2f75872">4. Woodbury 3x3</a>
|
||||
<li><a href="#orge3bacdf">4. Woodbury 3x3</a>
|
||||
<ul>
|
||||
<li><a href="#orgf0a7bf1">4.1. <code>qmckl_woodbury_3</code></a>
|
||||
<li><a href="#org0d6566b">4.1. <code>qmckl_woodbury_3</code></a>
|
||||
<ul>
|
||||
<li><a href="#org5b22eff">4.1.1. Requirements</a></li>
|
||||
<li><a href="#org54b0d6b">4.1.2. C header</a></li>
|
||||
<li><a href="#org8e30c30">4.1.3. C source</a></li>
|
||||
<li><a href="#org5c90c16">4.1.4. Performance…</a></li>
|
||||
<li><a href="#orgb3353dd">4.1.1. Requirements</a></li>
|
||||
<li><a href="#orgca80e06">4.1.2. C header</a></li>
|
||||
<li><a href="#org0588304">4.1.3. C source</a></li>
|
||||
<li><a href="#orgdae5747">4.1.4. Performance…</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org0130248">5. Sherman-Morrison with update splitting</a>
|
||||
<li><a href="#orgb86a946">5. Sherman-Morrison with update splitting</a>
|
||||
<ul>
|
||||
<li><a href="#org25c8691">5.1. <code>qmckl_sherman_morrison_splitting</code></a>
|
||||
<li><a href="#orgf94b33c">5.1. <code>qmckl_sherman_morrison_splitting</code></a>
|
||||
<ul>
|
||||
<li><a href="#orgc2f8c67">5.1.1. Requirements</a></li>
|
||||
<li><a href="#org764d1eb">5.1.2. C header</a></li>
|
||||
<li><a href="#org289a020">5.1.3. C source</a></li>
|
||||
<li><a href="#org6ed61cb">5.1.4. Performance…</a></li>
|
||||
<li><a href="#orgdf505de">5.1.1. Requirements</a></li>
|
||||
<li><a href="#orgd0689e2">5.1.2. C header</a></li>
|
||||
<li><a href="#orgc69668f">5.1.3. C source</a></li>
|
||||
<li><a href="#orgd99e2e9">5.1.4. Performance…</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org2c44ac4">6. Woodbury 3x3 and 2x2 with Sherman-Morrison and update splitting</a>
|
||||
<li><a href="#org26ce6f6">6. Woodbury 3x3 and 2x2 with Sherman-Morrison and update splitting</a>
|
||||
<ul>
|
||||
<li><a href="#orgbb00dd7">6.1. <code>qmckl_sherman_morrison_smw32s</code></a>
|
||||
<li><a href="#orgb0dd247">6.1. <code>qmckl_sherman_morrison_smw32s</code></a>
|
||||
<ul>
|
||||
<li><a href="#org90ba78c">6.1.1. Requirements</a></li>
|
||||
<li><a href="#orgc74feb5">6.1.2. C header</a></li>
|
||||
<li><a href="#orgef55238">6.1.3. C source</a></li>
|
||||
<li><a href="#org07f6f31">6.1.4. Performance…</a></li>
|
||||
<li><a href="#orgb77ec4e">6.1.1. Requirements</a></li>
|
||||
<li><a href="#org2d02492">6.1.2. C header</a></li>
|
||||
<li><a href="#orgc920048">6.1.3. C source</a></li>
|
||||
<li><a href="#org8420ccc">6.1.4. Performance…</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgf6e3522">7. Helper Functions</a>
|
||||
<li><a href="#org501ad47">7. Helper Functions</a>
|
||||
<ul>
|
||||
<li><a href="#org344dcc2">7.1. <code>qmckl_slagel_splitting</code></a>
|
||||
<li><a href="#orgaa97d14">7.1. <code>qmckl_slagel_splitting</code></a>
|
||||
<ul>
|
||||
<li><a href="#orgc629c04">7.1.1. Requirements</a></li>
|
||||
<li><a href="#orge9c9d0f">7.1.2. C header</a></li>
|
||||
<li><a href="#org21c821c">7.1.3. C source</a></li>
|
||||
<li><a href="#org1ff188c">7.1.4. Performance</a></li>
|
||||
<li><a href="#org6d826c7">7.1.1. Requirements</a></li>
|
||||
<li><a href="#org078de9c">7.1.2. C header</a></li>
|
||||
<li><a href="#orgf34a4a9">7.1.3. C source</a></li>
|
||||
<li><a href="#org0c1483a">7.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org24bab75">8. End of files</a></li>
|
||||
<li><a href="#org3e0aeb7">8. End of files</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgac637d4" class="outline-2">
|
||||
<h2 id="orgac637d4"><span class="section-number-2">1</span> Headers</h2>
|
||||
<div id="outline-container-orgf3dad59" class="outline-2">
|
||||
<h2 id="orgf3dad59"><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-orgc07dcd0" class="outline-2">
|
||||
<h2 id="orgc07dcd0"><span class="section-number-2">2</span> Naïve Sherman-Morrison</h2>
|
||||
<div id="outline-container-orge1b4b05" class="outline-2">
|
||||
<h2 id="orge1b4b05"><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-orgccee769" class="outline-3">
|
||||
<h3 id="orgccee769"><span class="section-number-3">2.1</span> <code>qmckl_sherman_morrison</code></h3>
|
||||
<div id="outline-container-org511a751" class="outline-3">
|
||||
<h3 id="org511a751"><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="org3ff16d8" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org9614ee0" 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-org0ac09b2" class="outline-4">
|
||||
<h4 id="org0ac09b2"><span class="section-number-4">2.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-orgd51fb39" class="outline-4">
|
||||
<h4 id="orgd51fb39"><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-org9e9d735" class="outline-4">
|
||||
<h4 id="org9e9d735"><span class="section-number-4">2.1.2</span> C header</h4>
|
||||
<div id="outline-container-org78c56e4" class="outline-4">
|
||||
<h4 id="org78c56e4"><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-org7edd057" class="outline-4">
|
||||
<h4 id="org7edd057"><span class="section-number-4">2.1.3</span> C source</h4>
|
||||
<div id="outline-container-orgd57ec73" class="outline-4">
|
||||
<h4 id="orgd57ec73"><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-orgdf700fb" class="outline-4">
|
||||
<h4 id="orgdf700fb"><span class="section-number-4">2.1.4</span> Performance</h4>
|
||||
<div id="outline-container-org111843f" class="outline-4">
|
||||
<h4 id="org111843f"><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-orge80d9a0" class="outline-2">
|
||||
<h2 id="orge80d9a0"><span class="section-number-2">3</span> Woodbury 2x2</h2>
|
||||
<div id="outline-container-org0043cf9" class="outline-2">
|
||||
<h2 id="org0043cf9"><span class="section-number-2">3</span> Woodbury 2x2</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
</div>
|
||||
<div id="outline-container-org7cd8a5c" class="outline-3">
|
||||
<h3 id="org7cd8a5c"><span class="section-number-3">3.1</span> <code>qmckl_woodbury_2</code></h3>
|
||||
<div id="outline-container-orgb2445ee" class="outline-3">
|
||||
<h3 id="orgb2445ee"><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="org544d469" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org02a03b8" 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-orgcf3ab57" class="outline-4">
|
||||
<h4 id="orgcf3ab57"><span class="section-number-4">3.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org4433510" class="outline-4">
|
||||
<h4 id="org4433510"><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-org22eb805" class="outline-4">
|
||||
<h4 id="org22eb805"><span class="section-number-4">3.1.2</span> C header</h4>
|
||||
<div id="outline-container-org01d0a4c" class="outline-4">
|
||||
<h4 id="org01d0a4c"><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-org831f115" class="outline-4">
|
||||
<h4 id="org831f115"><span class="section-number-4">3.1.3</span> C source</h4>
|
||||
<div id="outline-container-org8a1c67e" class="outline-4">
|
||||
<h4 id="org8a1c67e"><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-orgf89f04d" class="outline-4">
|
||||
<h4 id="orgf89f04d"><span class="section-number-4">3.1.4</span> Performance</h4>
|
||||
<div id="outline-container-org511ef19" class="outline-4">
|
||||
<h4 id="org511ef19"><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-org2f75872" class="outline-2">
|
||||
<h2 id="org2f75872"><span class="section-number-2">4</span> Woodbury 3x3</h2>
|
||||
<div id="outline-container-orge3bacdf" class="outline-2">
|
||||
<h2 id="orge3bacdf"><span class="section-number-2">4</span> Woodbury 3x3</h2>
|
||||
<div class="outline-text-2" id="text-4">
|
||||
</div>
|
||||
<div id="outline-container-orgf0a7bf1" class="outline-3">
|
||||
<h3 id="orgf0a7bf1"><span class="section-number-3">4.1</span> <code>qmckl_woodbury_3</code></h3>
|
||||
<div id="outline-container-org0d6566b" class="outline-3">
|
||||
<h3 id="org0d6566b"><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="org1d6a643" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgd2261f0" 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-org5b22eff" class="outline-4">
|
||||
<h4 id="org5b22eff"><span class="section-number-4">4.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-orgb3353dd" class="outline-4">
|
||||
<h4 id="orgb3353dd"><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-org54b0d6b" class="outline-4">
|
||||
<h4 id="org54b0d6b"><span class="section-number-4">4.1.2</span> C header</h4>
|
||||
<div id="outline-container-orgca80e06" class="outline-4">
|
||||
<h4 id="orgca80e06"><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-org8e30c30" class="outline-4">
|
||||
<h4 id="org8e30c30"><span class="section-number-4">4.1.3</span> C source</h4>
|
||||
<div id="outline-container-org0588304" class="outline-4">
|
||||
<h4 id="org0588304"><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-org5c90c16" class="outline-4">
|
||||
<h4 id="org5c90c16"><span class="section-number-4">4.1.4</span> Performance…</h4>
|
||||
<div id="outline-container-orgdae5747" class="outline-4">
|
||||
<h4 id="orgdae5747"><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-org0130248" class="outline-2">
|
||||
<h2 id="org0130248"><span class="section-number-2">5</span> Sherman-Morrison with update splitting</h2>
|
||||
<div id="outline-container-orgb86a946" class="outline-2">
|
||||
<h2 id="orgb86a946"><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-org25c8691" class="outline-3">
|
||||
<h3 id="org25c8691"><span class="section-number-3">5.1</span> <code>qmckl_sherman_morrison_splitting</code></h3>
|
||||
<div id="outline-container-orgf94b33c" class="outline-3">
|
||||
<h3 id="orgf94b33c"><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="org76a07f0" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orge9ccf81" 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-orgc2f8c67" class="outline-4">
|
||||
<h4 id="orgc2f8c67"><span class="section-number-4">5.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-orgdf505de" class="outline-4">
|
||||
<h4 id="orgdf505de"><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-org764d1eb" class="outline-4">
|
||||
<h4 id="org764d1eb"><span class="section-number-4">5.1.2</span> C header</h4>
|
||||
<div id="outline-container-orgd0689e2" class="outline-4">
|
||||
<h4 id="orgd0689e2"><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-org289a020" class="outline-4">
|
||||
<h4 id="org289a020"><span class="section-number-4">5.1.3</span> C source</h4>
|
||||
<div id="outline-container-orgc69668f" class="outline-4">
|
||||
<h4 id="orgc69668f"><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-org6ed61cb" class="outline-4">
|
||||
<h4 id="org6ed61cb"><span class="section-number-4">5.1.4</span> Performance…</h4>
|
||||
<div id="outline-container-orgd99e2e9" class="outline-4">
|
||||
<h4 id="orgd99e2e9"><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-org2c44ac4" class="outline-2">
|
||||
<h2 id="org2c44ac4"><span class="section-number-2">6</span> Woodbury 3x3 and 2x2 with Sherman-Morrison and update splitting</h2>
|
||||
<div id="outline-container-org26ce6f6" class="outline-2">
|
||||
<h2 id="org26ce6f6"><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-orgbb00dd7" class="outline-3">
|
||||
<h3 id="orgbb00dd7"><span class="section-number-3">6.1</span> <code>qmckl_sherman_morrison_smw32s</code></h3>
|
||||
<div id="outline-container-orgb0dd247" class="outline-3">
|
||||
<h3 id="orgb0dd247"><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="orgeb2e801" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgdf51ab8" 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-org90ba78c" class="outline-4">
|
||||
<h4 id="org90ba78c"><span class="section-number-4">6.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-orgb77ec4e" class="outline-4">
|
||||
<h4 id="orgb77ec4e"><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-orgc74feb5" class="outline-4">
|
||||
<h4 id="orgc74feb5"><span class="section-number-4">6.1.2</span> C header</h4>
|
||||
<div id="outline-container-org2d02492" class="outline-4">
|
||||
<h4 id="org2d02492"><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-orgef55238" class="outline-4">
|
||||
<h4 id="orgef55238"><span class="section-number-4">6.1.3</span> C source</h4>
|
||||
<div id="outline-container-orgc920048" class="outline-4">
|
||||
<h4 id="orgc920048"><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-org07f6f31" class="outline-4">
|
||||
<h4 id="org07f6f31"><span class="section-number-4">6.1.4</span> Performance…</h4>
|
||||
<div id="outline-container-org8420ccc" class="outline-4">
|
||||
<h4 id="org8420ccc"><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-orgf6e3522" class="outline-2">
|
||||
<h2 id="orgf6e3522"><span class="section-number-2">7</span> Helper Functions</h2>
|
||||
<div id="outline-container-org501ad47" class="outline-2">
|
||||
<h2 id="org501ad47"><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-org344dcc2" class="outline-3">
|
||||
<h3 id="org344dcc2"><span class="section-number-3">7.1</span> <code>qmckl_slagel_splitting</code></h3>
|
||||
<div id="outline-container-orgaa97d14" class="outline-3">
|
||||
<h3 id="orgaa97d14"><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="orge944494" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org2273d20" 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-orgc629c04" class="outline-4">
|
||||
<h4 id="orgc629c04"><span class="section-number-4">7.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org6d826c7" class="outline-4">
|
||||
<h4 id="org6d826c7"><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-orge9c9d0f" class="outline-4">
|
||||
<h4 id="orge9c9d0f"><span class="section-number-4">7.1.2</span> C header</h4>
|
||||
<div id="outline-container-org078de9c" class="outline-4">
|
||||
<h4 id="org078de9c"><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-org21c821c" class="outline-4">
|
||||
<h4 id="org21c821c"><span class="section-number-4">7.1.3</span> C source</h4>
|
||||
<div id="outline-container-orgf34a4a9" class="outline-4">
|
||||
<h4 id="orgf34a4a9"><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-org1ff188c" class="outline-4">
|
||||
<h4 id="org1ff188c"><span class="section-number-4">7.1.4</span> Performance</h4>
|
||||
<div id="outline-container-org0c1483a" class="outline-4">
|
||||
<h4 id="org0c1483a"><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-org24bab75" class="outline-2">
|
||||
<h2 id="org24bab75"><span class="section-number-2">8</span> End of files</h2>
|
||||
<div id="outline-container-org3e0aeb7" class="outline-2">
|
||||
<h2 id="org3e0aeb7"><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-02-19 Sat 18:26</p>
|
||||
<p class="date">Created: 2022-02-24 Thu 18:08</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-02-19 Sat 18:26 -->
|
||||
<!-- 2022-02-24 Thu 18:08 -->
|
||||
<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="#org04f14e6">1. CHBrClF</a>
|
||||
<li><a href="#orgd3c13d0">1. CHBrClF</a>
|
||||
<ul>
|
||||
<li><a href="#orgabeb5e5">1.1. XYZ coordinates</a></li>
|
||||
<li><a href="#org74c6aec">1.2. Atomic basis set</a></li>
|
||||
<li><a href="#org70c6f57">1.3. Molecular orbitals</a></li>
|
||||
<li><a href="#orgb8f9cf6">1.4. Electron coordinates</a></li>
|
||||
<li><a href="#orga888c3b">1.1. XYZ coordinates</a></li>
|
||||
<li><a href="#org2e5a692">1.2. Atomic basis set</a></li>
|
||||
<li><a href="#orgf667ce5">1.3. Molecular orbitals</a></li>
|
||||
<li><a href="#org786439b">1.4. Electron coordinates</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org0dd7fa4">2. N2</a>
|
||||
<li><a href="#orgc7b15b8">2. N2</a>
|
||||
<ul>
|
||||
<li><a href="#orgb6e0872">2.1. XYZ coordinates</a></li>
|
||||
<li><a href="#org468e346">2.2. Electron coordinates</a></li>
|
||||
<li><a href="#org6a2ddbe">2.3. Jastrow related data</a></li>
|
||||
<li><a href="#org46b6ac1">2.1. XYZ coordinates</a></li>
|
||||
<li><a href="#orga88b506">2.2. Electron coordinates</a></li>
|
||||
<li><a href="#org60d48e1">2.3. Jastrow related data</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org04f14e6" class="outline-2">
|
||||
<h2 id="org04f14e6"><span class="section-number-2">1</span> CHBrClF</h2>
|
||||
<div id="outline-container-orgd3c13d0" class="outline-2">
|
||||
<h2 id="orgd3c13d0"><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-orgabeb5e5" class="outline-3">
|
||||
<h3 id="orgabeb5e5"><span class="section-number-3">1.1</span> XYZ coordinates</h3>
|
||||
<div id="outline-container-orga888c3b" class="outline-3">
|
||||
<h3 id="orga888c3b"><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-org74c6aec" class="outline-3">
|
||||
<h3 id="org74c6aec"><span class="section-number-3">1.2</span> Atomic basis set</h3>
|
||||
<div id="outline-container-org2e5a692" class="outline-3">
|
||||
<h3 id="org2e5a692"><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-org70c6f57" class="outline-3">
|
||||
<h3 id="org70c6f57"><span class="section-number-3">1.3</span> Molecular orbitals</h3>
|
||||
<div id="outline-container-orgf667ce5" class="outline-3">
|
||||
<h3 id="orgf667ce5"><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-orgb8f9cf6" class="outline-3">
|
||||
<h3 id="orgb8f9cf6"><span class="section-number-3">1.4</span> Electron coordinates</h3>
|
||||
<div id="outline-container-org786439b" class="outline-3">
|
||||
<h3 id="org786439b"><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-org0dd7fa4" class="outline-2">
|
||||
<h2 id="org0dd7fa4"><span class="section-number-2">2</span> N2</h2>
|
||||
<div id="outline-container-orgc7b15b8" class="outline-2">
|
||||
<h2 id="orgc7b15b8"><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-orgb6e0872" class="outline-3">
|
||||
<h3 id="orgb6e0872"><span class="section-number-3">2.1</span> XYZ coordinates</h3>
|
||||
<div id="outline-container-org46b6ac1" class="outline-3">
|
||||
<h3 id="org46b6ac1"><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-org468e346" class="outline-3">
|
||||
<h3 id="org468e346"><span class="section-number-3">2.2</span> Electron coordinates</h3>
|
||||
<div id="outline-container-orga88b506" class="outline-3">
|
||||
<h3 id="orga88b506"><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-org6a2ddbe" class="outline-3">
|
||||
<h3 id="org6a2ddbe"><span class="section-number-3">2.3</span> Jastrow related data</h3>
|
||||
<div id="outline-container-org60d48e1" class="outline-3">
|
||||
<h3 id="org60d48e1"><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-02-19 Sat 18:26</p>
|
||||
<p class="date">Created: 2022-02-24 Thu 18:08</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-02-19 Sat 18:26 -->
|
||||
<!-- 2022-02-24 Thu 18:08 -->
|
||||
<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="#org00a4ae3">1. Local functions</a>
|
||||
<li><a href="#org2e22cfd">1. Local functions</a>
|
||||
<ul>
|
||||
<li><a href="#orgfb6e4c2">1.1. Open file</a></li>
|
||||
<li><a href="#org14b9e03">1.2. Electron</a></li>
|
||||
<li><a href="#orgd0aca6a">1.3. Nucleus</a>
|
||||
<li><a href="#org423e4a9">1.1. Open file</a></li>
|
||||
<li><a href="#orgb768f06">1.2. Electron</a></li>
|
||||
<li><a href="#org029a7f6">1.3. Nucleus</a>
|
||||
<ul>
|
||||
<li><a href="#org63fb9a4">1.3.1. Number of nuclei</a></li>
|
||||
<li><a href="#org7c67966">1.3.2. Nuclear charges</a></li>
|
||||
<li><a href="#orgbe30337">1.3.3. Nuclear coordinates</a></li>
|
||||
<li><a href="#org13e8952">1.3.1. Number of nuclei</a></li>
|
||||
<li><a href="#org57ac864">1.3.2. Nuclear charges</a></li>
|
||||
<li><a href="#org8503d96">1.3.3. Nuclear coordinates</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org2e9a844">1.4. Basis set and AOs</a>
|
||||
<li><a href="#org9778d27">1.4. Basis set and AOs</a>
|
||||
<ul>
|
||||
<li><a href="#org80f06c0">1.4.1. Basis set type</a></li>
|
||||
<li><a href="#org3fcee01">1.4.2. Number of shells</a></li>
|
||||
<li><a href="#org0600eca">1.4.3. Number of primitives</a></li>
|
||||
<li><a href="#org859d2ec">1.4.4. Number of atomic orbitals</a></li>
|
||||
<li><a href="#org81c10d8">1.4.5. Nucleus<sub>index</sub> array</a></li>
|
||||
<li><a href="#orga607e18">1.4.6. Number of shells per nucleus</a></li>
|
||||
<li><a href="#org7fe695e">1.4.7. Angular momentum</a></li>
|
||||
<li><a href="#org5ea73ab">1.4.8. Number of primitives per shell</a></li>
|
||||
<li><a href="#org9c2cbf8">1.4.9. Indices of the primitives</a></li>
|
||||
<li><a href="#orgb85e085">1.4.10. Normalization of the shells</a></li>
|
||||
<li><a href="#org1bda895">1.4.11. Exponents</a></li>
|
||||
<li><a href="#orgb9c0389">1.4.12. Coefficients</a></li>
|
||||
<li><a href="#org38070d9">1.4.13. Normalization of the primitivies</a></li>
|
||||
<li><a href="#orgb4d3483">1.4.14. AO Normalization</a></li>
|
||||
<li><a href="#org432e78a">1.4.1. Basis set type</a></li>
|
||||
<li><a href="#org4b8f9af">1.4.2. Number of shells</a></li>
|
||||
<li><a href="#org24f6e87">1.4.3. Number of primitives</a></li>
|
||||
<li><a href="#org527b398">1.4.4. Number of atomic orbitals</a></li>
|
||||
<li><a href="#org7de9363">1.4.5. Nucleus<sub>index</sub> array</a></li>
|
||||
<li><a href="#org3c23691">1.4.6. Number of shells per nucleus</a></li>
|
||||
<li><a href="#orge47a480">1.4.7. Angular momentum</a></li>
|
||||
<li><a href="#org0ad5a94">1.4.8. Number of primitives per shell</a></li>
|
||||
<li><a href="#orgedd561c">1.4.9. Indices of the primitives</a></li>
|
||||
<li><a href="#org06e9c68">1.4.10. Normalization of the shells</a></li>
|
||||
<li><a href="#orgd999526">1.4.11. Exponents</a></li>
|
||||
<li><a href="#org7fd8207">1.4.12. Coefficients</a></li>
|
||||
<li><a href="#org5123f32">1.4.13. Normalization of the primitivies</a></li>
|
||||
<li><a href="#orgac1be07">1.4.14. AO Normalization</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orge687eba">1.5. Molecular orbitals</a>
|
||||
<li><a href="#orgaaa553e">1.5. Molecular orbitals</a>
|
||||
<ul>
|
||||
<li><a href="#orgb700047">1.5.1. Number of MOs</a></li>
|
||||
<li><a href="#org30f49f3">1.5.2. MO coefficients</a></li>
|
||||
<li><a href="#org63ea89a">1.5.1. Number of MOs</a></li>
|
||||
<li><a href="#org7560ef7">1.5.2. MO coefficients</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgcb497bd">1.6. <span class="todo TODO">TODO</span> ECP</a></li>
|
||||
<li><a href="#org0d8fa21">1.6. <span class="todo TODO">TODO</span> ECP</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orga06a00b">2. Read everything</a></li>
|
||||
<li><a href="#orgc818770">3. Test</a>
|
||||
<li><a href="#orgc64f321">2. Read everything</a></li>
|
||||
<li><a href="#orga32033a">3. Test</a>
|
||||
<ul>
|
||||
<li>
|
||||
<ul>
|
||||
<li><a href="#org1b5b5fb">3.0.1. Electrons</a></li>
|
||||
<li><a href="#org3d2ea23">3.0.2. Nuclei</a></li>
|
||||
<li><a href="#org43304e5">3.0.3. Atomic basis</a></li>
|
||||
<li><a href="#orga8c9f36">3.0.4. MO Basis</a></li>
|
||||
<li><a href="#org67d4486">3.0.1. Electrons</a></li>
|
||||
<li><a href="#orgda89599">3.0.2. Nuclei</a></li>
|
||||
<li><a href="#orge462536">3.0.3. Atomic basis</a></li>
|
||||
<li><a href="#org284548f">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-org00a4ae3" class="outline-2">
|
||||
<h2 id="org00a4ae3"><span class="section-number-2">1</span> Local functions</h2>
|
||||
<div id="outline-container-org2e22cfd" class="outline-2">
|
||||
<h2 id="org2e22cfd"><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-orgfb6e4c2" class="outline-3">
|
||||
<h3 id="orgfb6e4c2"><span class="section-number-3">1.1</span> Open file</h3>
|
||||
<div id="outline-container-org423e4a9" class="outline-3">
|
||||
<h3 id="org423e4a9"><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-org14b9e03" class="outline-3">
|
||||
<h3 id="org14b9e03"><span class="section-number-3">1.2</span> Electron</h3>
|
||||
<div id="outline-container-orgb768f06" class="outline-3">
|
||||
<h3 id="orgb768f06"><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-orgd0aca6a" class="outline-3">
|
||||
<h3 id="orgd0aca6a"><span class="section-number-3">1.3</span> Nucleus</h3>
|
||||
<div id="outline-container-org029a7f6" class="outline-3">
|
||||
<h3 id="org029a7f6"><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-org63fb9a4" class="outline-4">
|
||||
<h4 id="org63fb9a4"><span class="section-number-4">1.3.1</span> Number of nuclei</h4>
|
||||
<div id="outline-container-org13e8952" class="outline-4">
|
||||
<h4 id="org13e8952"><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-org7c67966" class="outline-4">
|
||||
<h4 id="org7c67966"><span class="section-number-4">1.3.2</span> Nuclear charges</h4>
|
||||
<div id="outline-container-org57ac864" class="outline-4">
|
||||
<h4 id="org57ac864"><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-orgbe30337" class="outline-4">
|
||||
<h4 id="orgbe30337"><span class="section-number-4">1.3.3</span> Nuclear coordinates</h4>
|
||||
<div id="outline-container-org8503d96" class="outline-4">
|
||||
<h4 id="org8503d96"><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-org2e9a844" class="outline-3">
|
||||
<h3 id="org2e9a844"><span class="section-number-3">1.4</span> Basis set and AOs</h3>
|
||||
<div id="outline-container-org9778d27" class="outline-3">
|
||||
<h3 id="org9778d27"><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-org80f06c0" class="outline-4">
|
||||
<h4 id="org80f06c0"><span class="section-number-4">1.4.1</span> Basis set type</h4>
|
||||
<div id="outline-container-org432e78a" class="outline-4">
|
||||
<h4 id="org432e78a"><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-org3fcee01" class="outline-4">
|
||||
<h4 id="org3fcee01"><span class="section-number-4">1.4.2</span> Number of shells</h4>
|
||||
<div id="outline-container-org4b8f9af" class="outline-4">
|
||||
<h4 id="org4b8f9af"><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-org0600eca" class="outline-4">
|
||||
<h4 id="org0600eca"><span class="section-number-4">1.4.3</span> Number of primitives</h4>
|
||||
<div id="outline-container-org24f6e87" class="outline-4">
|
||||
<h4 id="org24f6e87"><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-org859d2ec" class="outline-4">
|
||||
<h4 id="org859d2ec"><span class="section-number-4">1.4.4</span> Number of atomic orbitals</h4>
|
||||
<div id="outline-container-org527b398" class="outline-4">
|
||||
<h4 id="org527b398"><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-org81c10d8" class="outline-4">
|
||||
<h4 id="org81c10d8"><span class="section-number-4">1.4.5</span> Nucleus<sub>index</sub> array</h4>
|
||||
<div id="outline-container-org7de9363" class="outline-4">
|
||||
<h4 id="org7de9363"><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-orga607e18" class="outline-4">
|
||||
<h4 id="orga607e18"><span class="section-number-4">1.4.6</span> Number of shells per nucleus</h4>
|
||||
<div id="outline-container-org3c23691" class="outline-4">
|
||||
<h4 id="org3c23691"><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-org7fe695e" class="outline-4">
|
||||
<h4 id="org7fe695e"><span class="section-number-4">1.4.7</span> Angular momentum</h4>
|
||||
<div id="outline-container-orge47a480" class="outline-4">
|
||||
<h4 id="orge47a480"><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-org5ea73ab" class="outline-4">
|
||||
<h4 id="org5ea73ab"><span class="section-number-4">1.4.8</span> Number of primitives per shell</h4>
|
||||
<div id="outline-container-org0ad5a94" class="outline-4">
|
||||
<h4 id="org0ad5a94"><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-org9c2cbf8" class="outline-4">
|
||||
<h4 id="org9c2cbf8"><span class="section-number-4">1.4.9</span> Indices of the primitives</h4>
|
||||
<div id="outline-container-orgedd561c" class="outline-4">
|
||||
<h4 id="orgedd561c"><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-orgb85e085" class="outline-4">
|
||||
<h4 id="orgb85e085"><span class="section-number-4">1.4.10</span> Normalization of the shells</h4>
|
||||
<div id="outline-container-org06e9c68" class="outline-4">
|
||||
<h4 id="org06e9c68"><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-org1bda895" class="outline-4">
|
||||
<h4 id="org1bda895"><span class="section-number-4">1.4.11</span> Exponents</h4>
|
||||
<div id="outline-container-orgd999526" class="outline-4">
|
||||
<h4 id="orgd999526"><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-orgb9c0389" class="outline-4">
|
||||
<h4 id="orgb9c0389"><span class="section-number-4">1.4.12</span> Coefficients</h4>
|
||||
<div id="outline-container-org7fd8207" class="outline-4">
|
||||
<h4 id="org7fd8207"><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-org38070d9" class="outline-4">
|
||||
<h4 id="org38070d9"><span class="section-number-4">1.4.13</span> Normalization of the primitivies</h4>
|
||||
<div id="outline-container-org5123f32" class="outline-4">
|
||||
<h4 id="org5123f32"><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-orgb4d3483" class="outline-4">
|
||||
<h4 id="orgb4d3483"><span class="section-number-4">1.4.14</span> AO Normalization</h4>
|
||||
<div id="outline-container-orgac1be07" class="outline-4">
|
||||
<h4 id="orgac1be07"><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-orge687eba" class="outline-3">
|
||||
<h3 id="orge687eba"><span class="section-number-3">1.5</span> Molecular orbitals</h3>
|
||||
<div id="outline-container-orgaaa553e" class="outline-3">
|
||||
<h3 id="orgaaa553e"><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-orgb700047" class="outline-4">
|
||||
<h4 id="orgb700047"><span class="section-number-4">1.5.1</span> Number of MOs</h4>
|
||||
<div id="outline-container-org63ea89a" class="outline-4">
|
||||
<h4 id="org63ea89a"><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-org30f49f3" class="outline-4">
|
||||
<h4 id="org30f49f3"><span class="section-number-4">1.5.2</span> MO coefficients</h4>
|
||||
<div id="outline-container-org7560ef7" class="outline-4">
|
||||
<h4 id="org7560ef7"><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-orgcb497bd" class="outline-3">
|
||||
<h3 id="orgcb497bd"><span class="section-number-3">1.6</span> <span class="todo TODO">TODO</span> ECP</h3>
|
||||
<div id="outline-container-org0d8fa21" class="outline-3">
|
||||
<h3 id="org0d8fa21"><span class="section-number-3">1.6</span> <span class="todo TODO">TODO</span> ECP</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orga06a00b" class="outline-2">
|
||||
<h2 id="orga06a00b"><span class="section-number-2">2</span> Read everything</h2>
|
||||
<div id="outline-container-orgc64f321" class="outline-2">
|
||||
<h2 id="orgc64f321"><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-orgc818770" class="outline-2">
|
||||
<h2 id="orgc818770"><span class="section-number-2">3</span> Test</h2>
|
||||
<div id="outline-container-orga32033a" class="outline-2">
|
||||
<h2 id="orga32033a"><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-org1b5b5fb" class="outline-4">
|
||||
<h4 id="org1b5b5fb"><span class="section-number-4">3.0.1</span> Electrons</h4>
|
||||
<div id="outline-container-org67d4486" class="outline-4">
|
||||
<h4 id="org67d4486"><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-org3d2ea23" class="outline-4">
|
||||
<h4 id="org3d2ea23"><span class="section-number-4">3.0.2</span> Nuclei</h4>
|
||||
<div id="outline-container-orgda89599" class="outline-4">
|
||||
<h4 id="orgda89599"><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-org43304e5" class="outline-4">
|
||||
<h4 id="org43304e5"><span class="section-number-4">3.0.3</span> Atomic basis</h4>
|
||||
<div id="outline-container-orge462536" class="outline-4">
|
||||
<h4 id="orge462536"><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-orga8c9f36" class="outline-4">
|
||||
<h4 id="orga8c9f36"><span class="section-number-4">3.0.4</span> MO Basis</h4>
|
||||
<div id="outline-container-org284548f" class="outline-4">
|
||||
<h4 id="org284548f"><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-02-19 Sat 18:26</p>
|
||||
<p class="date">Created: 2022-02-24 Thu 18:08</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-02-19 Sat 18:26 -->
|
||||
<!-- 2022-02-24 Thu 18:08 -->
|
||||
<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="#org4a3f086">1. Verificarlo probes</a>
|
||||
<li><a href="#orgf7253ed">1. Verificarlo probes</a>
|
||||
<ul>
|
||||
<li><a href="#orgb585165">1.1. Automatically initialize the <code>vfc_probe</code> object if <code>VFC_CI</code> is defined</a></li>
|
||||
<li><a href="#org83de964">1.2. Standard probe, without check</a></li>
|
||||
<li><a href="#org801d147">1.3. Probe with absolute check</a></li>
|
||||
<li><a href="#orgdbdaaca">1.4. Probe with relative check</a></li>
|
||||
<li><a href="#orgdae950d">1.5. Automatically delete and dump the vfc<sub>probe</sub> object if <code>VFC_CI</code> is defined</a></li>
|
||||
<li><a href="#org05341e5">1.1. Automatically initialize the <code>vfc_probe</code> object if <code>VFC_CI</code> is defined</a></li>
|
||||
<li><a href="#orgf50c5c7">1.2. Standard probe, without check</a></li>
|
||||
<li><a href="#org7f0f853">1.3. Probe with absolute check</a></li>
|
||||
<li><a href="#orgc4748bd">1.4. Probe with relative check</a></li>
|
||||
<li><a href="#orgd9374c3">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="#org3f25a49">2. Fortran wrappers</a></li>
|
||||
<li><a href="#orgeeff12e">2. Fortran wrappers</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4a3f086" class="outline-2">
|
||||
<h2 id="org4a3f086"><span class="section-number-2">1</span> Verificarlo probes</h2>
|
||||
<div id="outline-container-orgf7253ed" class="outline-2">
|
||||
<h2 id="orgf7253ed"><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-orgb585165" class="outline-3">
|
||||
<h3 id="orgb585165"><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-org05341e5" class="outline-3">
|
||||
<h3 id="org05341e5"><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-org83de964" class="outline-3">
|
||||
<h3 id="org83de964"><span class="section-number-3">1.2</span> Standard probe, without check</h3>
|
||||
<div id="outline-container-orgf50c5c7" class="outline-3">
|
||||
<h3 id="orgf50c5c7"><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-org801d147" class="outline-3">
|
||||
<h3 id="org801d147"><span class="section-number-3">1.3</span> Probe with absolute check</h3>
|
||||
<div id="outline-container-org7f0f853" class="outline-3">
|
||||
<h3 id="org7f0f853"><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-orgdbdaaca" class="outline-3">
|
||||
<h3 id="orgdbdaaca"><span class="section-number-3">1.4</span> Probe with relative check</h3>
|
||||
<div id="outline-container-orgc4748bd" class="outline-3">
|
||||
<h3 id="orgc4748bd"><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-orgdae950d" class="outline-3">
|
||||
<h3 id="orgdae950d"><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-orgd9374c3" class="outline-3">
|
||||
<h3 id="orgd9374c3"><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-org3f25a49" class="outline-2">
|
||||
<h2 id="org3f25a49"><span class="section-number-2">2</span> Fortran wrappers</h2>
|
||||
<div id="outline-container-orgeeff12e" class="outline-2">
|
||||
<h2 id="orgeeff12e"><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-02-19 Sat 18:26</p>
|
||||
<p class="date">Created: 2022-02-24 Thu 18:08</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