mirror of
https://github.com/TREX-CoE/qmckl.git
synced 2025-04-28 11:24:46 +02:00
Deploying to gh-pages from @ TREX-CoE/qmckl@28fe475425 🚀
This commit is contained in:
parent
4aa5ebb073
commit
0135519c05
@ -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-06-15 Wed 14:21 -->
|
||||
<!-- 2022-06-15 Wed 17:18 -->
|
||||
<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>
|
||||
@ -330,6 +330,7 @@ for the JavaScript code in this tag.
|
||||
<li><a href="./qmckl_trexio.html">TREXIO I/O library</a></li>
|
||||
<li><a href="./qmckl_tests.html">Data for Tests</a></li>
|
||||
<li><a href="./qmckl_verificarlo.html">Verificarlo CI</a></li>
|
||||
<li><a href="./qmckl_examples.html">Code examples</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
@ -361,7 +362,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-06-15 Wed 14:21</p>
|
||||
<p class="date">Created: 2022-06-15 Wed 17:18</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-06-15 Wed 14:21 -->
|
||||
<!-- 2022-06-15 Wed 17:18 -->
|
||||
<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="#org47272a3">1. Installing QMCkl</a>
|
||||
<li><a href="#org7d10eb2">1. Installing QMCkl</a>
|
||||
<ul>
|
||||
<li><a href="#org4676f8d">1.1. Installing from the released tarball (for end users)</a></li>
|
||||
<li><a href="#org73a4d39">1.2. Installing from the source repository (for developers)</a></li>
|
||||
<li><a href="#orgf7327be">1.1. Installing from the released tarball (for end users)</a></li>
|
||||
<li><a href="#orgea9b084">1.2. Installing from the source repository (for developers)</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgaf0f836">2. Using QMCkl</a></li>
|
||||
<li><a href="#org957fbb7">3. Developing in QMCkl</a>
|
||||
<li><a href="#orgf9b4a6d">2. Using QMCkl</a></li>
|
||||
<li><a href="#org0f941c8">3. Developing in QMCkl</a>
|
||||
<ul>
|
||||
<li><a href="#orga2f582b">3.1. Literate programming</a></li>
|
||||
<li><a href="#orgda71792">3.2. Source code editing</a></li>
|
||||
<li><a href="#org14c3330">3.3. Choice of the programming language</a></li>
|
||||
<li><a href="#org9da0b8f">3.4. Coding rules</a></li>
|
||||
<li><a href="#org6415622">3.5. Design of the library</a></li>
|
||||
<li><a href="#org9c427cf">3.6. Naming conventions</a></li>
|
||||
<li><a href="#org4607bcc">3.7. Application programming interface</a></li>
|
||||
<li><a href="#org828c360">3.8. Global state</a></li>
|
||||
<li><a href="#org5ca4e09">3.9. Headers</a></li>
|
||||
<li><a href="#org328126e">3.10. Low-level functions</a></li>
|
||||
<li><a href="#org0225557">3.11. High-level functions</a></li>
|
||||
<li><a href="#orged4cc88">3.12. Numerical precision</a></li>
|
||||
<li><a href="#org013f373">3.13. Algorithms</a></li>
|
||||
<li><a href="#org6694bdd">3.1. Literate programming</a></li>
|
||||
<li><a href="#orgd9bbc4b">3.2. Source code editing</a></li>
|
||||
<li><a href="#org6a01ea2">3.3. Choice of the programming language</a></li>
|
||||
<li><a href="#org6064880">3.4. Coding rules</a></li>
|
||||
<li><a href="#orgaf51089">3.5. Design of the library</a></li>
|
||||
<li><a href="#org5028c6b">3.6. Naming conventions</a></li>
|
||||
<li><a href="#org0c55dc5">3.7. Application programming interface</a></li>
|
||||
<li><a href="#orge5348c1">3.8. Global state</a></li>
|
||||
<li><a href="#org35fc031">3.9. Headers</a></li>
|
||||
<li><a href="#org36a6dec">3.10. Low-level functions</a></li>
|
||||
<li><a href="#org802b2c4">3.11. High-level functions</a></li>
|
||||
<li><a href="#org350ea4d">3.12. Numerical precision</a></li>
|
||||
<li><a href="#org8b6d9b8">3.13. Algorithms</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org47272a3" class="outline-2">
|
||||
<h2 id="org47272a3"><span class="section-number-2">1</span> Installing QMCkl</h2>
|
||||
<div id="outline-container-org7d10eb2" class="outline-2">
|
||||
<h2 id="org7d10eb2"><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-org4676f8d" class="outline-3">
|
||||
<h3 id="org4676f8d"><span class="section-number-3">1.1</span> Installing from the released tarball (for end users)</h3>
|
||||
<div id="outline-container-orgf7327be" class="outline-3">
|
||||
<h3 id="orgf7327be"><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-org73a4d39" class="outline-3">
|
||||
<h3 id="org73a4d39"><span class="section-number-3">1.2</span> Installing from the source repository (for developers)</h3>
|
||||
<div id="outline-container-orgea9b084" class="outline-3">
|
||||
<h3 id="orgea9b084"><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-orgaf0f836" class="outline-2">
|
||||
<h2 id="orgaf0f836"><span class="section-number-2">2</span> Using QMCkl</h2>
|
||||
<div id="outline-container-orgf9b4a6d" class="outline-2">
|
||||
<h2 id="orgf9b4a6d"><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-org957fbb7" class="outline-2">
|
||||
<h2 id="org957fbb7"><span class="section-number-2">3</span> Developing in QMCkl</h2>
|
||||
<div id="outline-container-org0f941c8" class="outline-2">
|
||||
<h2 id="org0f941c8"><span class="section-number-2">3</span> Developing in QMCkl</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
</div>
|
||||
<div id="outline-container-orga2f582b" class="outline-3">
|
||||
<h3 id="orga2f582b"><span class="section-number-3">3.1</span> Literate programming</h3>
|
||||
<div id="outline-container-org6694bdd" class="outline-3">
|
||||
<h3 id="org6694bdd"><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-orgda71792" class="outline-3">
|
||||
<h3 id="orgda71792"><span class="section-number-3">3.2</span> Source code editing</h3>
|
||||
<div id="outline-container-orgd9bbc4b" class="outline-3">
|
||||
<h3 id="orgd9bbc4b"><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-org14c3330" class="outline-3">
|
||||
<h3 id="org14c3330"><span class="section-number-3">3.3</span> Choice of the programming language</h3>
|
||||
<div id="outline-container-org6a01ea2" class="outline-3">
|
||||
<h3 id="org6a01ea2"><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-org9da0b8f" class="outline-3">
|
||||
<h3 id="org9da0b8f"><span class="section-number-3">3.4</span> Coding rules</h3>
|
||||
<div id="outline-container-org6064880" class="outline-3">
|
||||
<h3 id="org6064880"><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-org6415622" class="outline-3">
|
||||
<h3 id="org6415622"><span class="section-number-3">3.5</span> Design of the library</h3>
|
||||
<div id="outline-container-orgaf51089" class="outline-3">
|
||||
<h3 id="orgaf51089"><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-org9c427cf" class="outline-3">
|
||||
<h3 id="org9c427cf"><span class="section-number-3">3.6</span> Naming conventions</h3>
|
||||
<div id="outline-container-org5028c6b" class="outline-3">
|
||||
<h3 id="org5028c6b"><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-org4607bcc" class="outline-3">
|
||||
<h3 id="org4607bcc"><span class="section-number-3">3.7</span> Application programming interface</h3>
|
||||
<div id="outline-container-org0c55dc5" class="outline-3">
|
||||
<h3 id="org0c55dc5"><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-org828c360" class="outline-3">
|
||||
<h3 id="org828c360"><span class="section-number-3">3.8</span> Global state</h3>
|
||||
<div id="outline-container-orge5348c1" class="outline-3">
|
||||
<h3 id="orge5348c1"><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="org03458e4">=context=</a> contains the global
|
||||
<code>qmckl_context_create</code> function. The <a id="orgacede32">=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-org5ca4e09" class="outline-3">
|
||||
<h3 id="org5ca4e09"><span class="section-number-3">3.9</span> Headers</h3>
|
||||
<div id="outline-container-org35fc031" class="outline-3">
|
||||
<h3 id="org35fc031"><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-org328126e" class="outline-3">
|
||||
<h3 id="org328126e"><span class="section-number-3">3.10</span> Low-level functions</h3>
|
||||
<div id="outline-container-org36a6dec" class="outline-3">
|
||||
<h3 id="org36a6dec"><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="#org03458e4"><code>context</code></a>. They are not allowed to allocate/deallocate memory, and
|
||||
<a href="#orgacede32"><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-org0225557" class="outline-3">
|
||||
<h3 id="org0225557"><span class="section-number-3">3.11</span> High-level functions</h3>
|
||||
<div id="outline-container-org802b2c4" class="outline-3">
|
||||
<h3 id="org802b2c4"><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-orged4cc88" class="outline-3">
|
||||
<h3 id="orged4cc88"><span class="section-number-3">3.12</span> Numerical precision</h3>
|
||||
<div id="outline-container-org350ea4d" class="outline-3">
|
||||
<h3 id="org350ea4d"><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="#org03458e4"><code>context</code></a> variable.
|
||||
specified in the <a href="#orgacede32"><code>context</code></a> variable.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
@ -896,8 +896,8 @@ following points :
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org013f373" class="outline-3">
|
||||
<h3 id="org013f373"><span class="section-number-3">3.13</span> Algorithms</h3>
|
||||
<div id="outline-container-org8b6d9b8" class="outline-3">
|
||||
<h3 id="org8b6d9b8"><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-06-15 Wed 14:21</p>
|
||||
<p class="date">Created: 2022-06-15 Wed 17:18</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
212
qmckl_ao.html
212
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-06-15 Wed 14:22 -->
|
||||
<!-- 2022-06-15 Wed 17:18 -->
|
||||
<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,61 +333,61 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#orgc55c732">1. Introduction</a></li>
|
||||
<li><a href="#org6ea34f2">2. Context</a>
|
||||
<li><a href="#orgedebc64">1. Introduction</a></li>
|
||||
<li><a href="#orgf948f82">2. Context</a>
|
||||
<ul>
|
||||
<li><a href="#orge471335">2.1. Constant data</a>
|
||||
<li><a href="#org37f427c">2.1. Constant data</a>
|
||||
<ul>
|
||||
<li><a href="#org3a98d06">2.1.1. Initialization functions</a>
|
||||
<li><a href="#org5df0e53">2.1.1. Initialization functions</a>
|
||||
<ul>
|
||||
<li><a href="#orga6fca96">2.1.1.1. C interface</a></li>
|
||||
<li><a href="#org1a83b36">2.1.1.2. Fortran interface</a></li>
|
||||
<li><a href="#orga907be8">2.1.1.1. C interface</a></li>
|
||||
<li><a href="#org89fb1ef">2.1.1.2. Fortran interface</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org1e45732">2.1.2. Access functions</a>
|
||||
<li><a href="#org764a50e">2.1.2. Access functions</a>
|
||||
<ul>
|
||||
<li><a href="#org0be2dcf">2.1.2.1. C interface</a></li>
|
||||
<li><a href="#org8db74c1">2.1.2.2. Fortran interface</a></li>
|
||||
<li><a href="#orgd011e88">2.1.2.1. C interface</a></li>
|
||||
<li><a href="#orgbcc4635">2.1.2.2. Fortran interface</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org8aafeac">2.2. Computed data</a>
|
||||
<li><a href="#orgd2dbf81">2.2. Computed data</a>
|
||||
<ul>
|
||||
<li><a href="#orgf1407df">2.2.1. After initialization</a></li>
|
||||
<li><a href="#org7779944">2.2.2. <span class="todo TODO">TODO</span> HPC-specific data structures</a></li>
|
||||
<li><a href="#orge40bfed">2.2.3. Access functions</a></li>
|
||||
<li><a href="#org809f860">2.2.1. After initialization</a></li>
|
||||
<li><a href="#orgd55102b">2.2.2. <span class="todo TODO">TODO</span> HPC-specific data structures</a></li>
|
||||
<li><a href="#org71dfbb8">2.2.3. Access functions</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org7df5a52">3. Radial part</a>
|
||||
<li><a href="#orgf06ed3b">3. Radial part</a>
|
||||
<ul>
|
||||
<li><a href="#org2f4338b">3.1. General functions for Gaussian basis functions</a></li>
|
||||
<li><a href="#org73125e7">3.2. Computation of primitives</a></li>
|
||||
<li><a href="#org7d1b7bc">3.3. Computation of shells</a></li>
|
||||
<li><a href="#orgddc2960">3.1. General functions for Gaussian basis functions</a></li>
|
||||
<li><a href="#org80d0c8a">3.2. Computation of primitives</a></li>
|
||||
<li><a href="#org11911de">3.3. Computation of shells</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgfdc492b">4. Polynomial part</a>
|
||||
<li><a href="#org9cf0afb">4. Polynomial part</a>
|
||||
<ul>
|
||||
<li><a href="#org1f3c665">4.1. General functions for Powers of \(x-X_i\)</a></li>
|
||||
<li><a href="#orgc053c21">4.2. General functions for Value, Gradient and Laplacian of a polynomial</a></li>
|
||||
<li><a href="#org7b1644d">4.1. General functions for Powers of \(x-X_i\)</a></li>
|
||||
<li><a href="#org3b33651">4.2. General functions for Value, Gradient and Laplacian of a polynomial</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgd77f937">5. Combining radial and polynomial parts</a>
|
||||
<li><a href="#org1036237">5. Combining radial and polynomial parts</a>
|
||||
<ul>
|
||||
<li><a href="#orgf2e40de">5.1. Values only</a>
|
||||
<li><a href="#org82053f3">5.1. Values only</a>
|
||||
<ul>
|
||||
<li><a href="#org196a4f4">5.1.1. Unoptimized version</a></li>
|
||||
<li><a href="#org5b62193">5.1.2. HPC version</a></li>
|
||||
<li><a href="#orgad3ddc9">5.1.3. Interfaces</a></li>
|
||||
<li><a href="#orgc1f0314">5.1.1. Unoptimized version</a></li>
|
||||
<li><a href="#orgde57d58">5.1.2. HPC version</a></li>
|
||||
<li><a href="#org7a83d6e">5.1.3. Interfaces</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgea69bd8">5.2. Value, gradients, Laplacian</a>
|
||||
<li><a href="#org03eb372">5.2. Value, gradients, Laplacian</a>
|
||||
<ul>
|
||||
<li><a href="#org5672731">5.2.1. Unoptimized version</a></li>
|
||||
<li><a href="#orgf609ab9">5.2.2. HPC version</a></li>
|
||||
<li><a href="#org0fa99cb">5.2.3. Interfaces</a></li>
|
||||
<li><a href="#org45a4237">5.2.1. Unoptimized version</a></li>
|
||||
<li><a href="#org9c47eb9">5.2.2. HPC version</a></li>
|
||||
<li><a href="#org2985e3a">5.2.3. Interfaces</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -396,8 +396,8 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc55c732" class="outline-2">
|
||||
<h2 id="orgc55c732"><span class="section-number-2">1</span> Introduction</h2>
|
||||
<div id="outline-container-orgedebc64" class="outline-2">
|
||||
<h2 id="orgedebc64"><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
|
||||
@ -450,19 +450,19 @@ gradients and Laplacian of the atomic basis functions.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6ea34f2" class="outline-2">
|
||||
<h2 id="org6ea34f2"><span class="section-number-2">2</span> Context</h2>
|
||||
<div id="outline-container-orgf948f82" class="outline-2">
|
||||
<h2 id="orgf948f82"><span class="section-number-2">2</span> Context</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-orge471335" class="outline-3">
|
||||
<h3 id="orge471335"><span class="section-number-3">2.1</span> Constant data</h3>
|
||||
<div id="outline-container-org37f427c" class="outline-3">
|
||||
<h3 id="org37f427c"><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="org4a72ba4" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org8f53a66" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -636,7 +636,7 @@ calling the functions:
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-C" id="org181154d"><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="orgb788fcf"><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>,
|
||||
@ -673,7 +673,7 @@ For array variables, use the rule:
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-C" id="org2b6e316"><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="org89501a3"><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>);
|
||||
|
||||
@ -711,17 +711,17 @@ For array variables, use the rule:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3a98d06" class="outline-4">
|
||||
<h4 id="org3a98d06"><span class="section-number-4">2.1.1</span> Initialization functions</h4>
|
||||
<div id="outline-container-org5df0e53" class="outline-4">
|
||||
<h4 id="org5df0e53"><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="#org6ea34f2">2</a>.
|
||||
equal of larger than the value given in the table of section <a href="#orgf948f82">2</a>.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga6fca96" class="outline-5">
|
||||
<h5 id="orga6fca96"><span class="section-number-5">2.1.1.1</span> C interface</h5>
|
||||
<div id="outline-container-orga907be8" class="outline-5">
|
||||
<h5 id="orga907be8"><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
|
||||
@ -845,8 +845,8 @@ called.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1a83b36" class="outline-5">
|
||||
<h5 id="org1a83b36"><span class="section-number-5">2.1.1.2</span> Fortran interface</h5>
|
||||
<div id="outline-container-org89fb1ef" class="outline-5">
|
||||
<h5 id="org89fb1ef"><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>
|
||||
@ -1029,17 +1029,17 @@ called.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1e45732" class="outline-4">
|
||||
<h4 id="org1e45732"><span class="section-number-4">2.1.2</span> Access functions</h4>
|
||||
<div id="outline-container-org764a50e" class="outline-4">
|
||||
<h4 id="org764a50e"><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="#org6ea34f2">2</a>.
|
||||
equal of larger than the value given in the table of section <a href="#orgf948f82">2</a>.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0be2dcf" class="outline-5">
|
||||
<h5 id="org0be2dcf"><span class="section-number-5">2.1.2.1</span> C interface</h5>
|
||||
<div id="outline-container-orgd011e88" class="outline-5">
|
||||
<h5 id="orgd011e88"><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>
|
||||
@ -1161,8 +1161,8 @@ function returns <code>true</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8db74c1" class="outline-5">
|
||||
<h5 id="org8db74c1"><span class="section-number-5">2.1.2.2</span> Fortran interface</h5>
|
||||
<div id="outline-container-orgbcc4635" class="outline-5">
|
||||
<h5 id="orgbcc4635"><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>
|
||||
@ -1346,8 +1346,8 @@ function returns <code>true</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8aafeac" class="outline-3">
|
||||
<h3 id="org8aafeac"><span class="section-number-3">2.2</span> Computed data</h3>
|
||||
<div id="outline-container-orgd2dbf81" class="outline-3">
|
||||
<h3 id="orgd2dbf81"><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:
|
||||
@ -1422,8 +1422,8 @@ The following data is computed as described in the next sections:
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf1407df" class="outline-4">
|
||||
<h4 id="orgf1407df"><span class="section-number-4">2.2.1</span> After initialization</h4>
|
||||
<div id="outline-container-org809f860" class="outline-4">
|
||||
<h4 id="org809f860"><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
|
||||
@ -1437,8 +1437,8 @@ the context.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7779944" class="outline-4">
|
||||
<h4 id="org7779944"><span class="section-number-4">2.2.2</span> <span class="todo TODO">TODO</span> HPC-specific data structures</h4>
|
||||
<div id="outline-container-orgd55102b" class="outline-4">
|
||||
<h4 id="orgd55102b"><span class="section-number-4">2.2.2</span> <span class="todo TODO">TODO</span> HPC-specific data structures</h4>
|
||||
<div class="outline-text-4" id="text-2-2-2">
|
||||
<p>
|
||||
For faster access, we provide extra arrays for the shell information as:
|
||||
@ -1468,8 +1468,8 @@ which is a matrix-vector product.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge40bfed" class="outline-4">
|
||||
<h4 id="orge40bfed"><span class="section-number-4">2.2.3</span> Access functions</h4>
|
||||
<div id="outline-container-org71dfbb8" class="outline-4">
|
||||
<h4 id="org71dfbb8"><span class="section-number-4">2.2.3</span> Access functions</h4>
|
||||
<div class="outline-text-4" id="text-2-2-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
|
||||
@ -1482,7 +1482,7 @@ which is a matrix-vector product.
|
||||
<p>
|
||||
Returns the array of values, gradients an Laplacian of primitive
|
||||
basis functions evaluated at the current coordinates.
|
||||
See section <a href="#org73125e7">3.2</a>.
|
||||
See section <a href="#org80d0c8a">3.2</a>.
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
@ -1495,7 +1495,7 @@ See section <a href="#org73125e7">3.2</a>.
|
||||
|
||||
<p>
|
||||
Returns the array of values, gradients an Laplacian of contracted shells
|
||||
evaluated at the current coordinates. See section <a href="#org7d1b7bc">3.3</a>.
|
||||
evaluated at the current coordinates. See section <a href="#org11911de">3.3</a>.
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
@ -1509,7 +1509,7 @@ evaluated at the current coordinates. See section <a href="#org7d1b7bc">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="#orgd77f937">5</a>.
|
||||
See section <a href="#org1036237">5</a>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
@ -1534,7 +1534,7 @@ Uses the given array to compute the VGL.
|
||||
|
||||
<p>
|
||||
Returns the array of values of the atomic orbitals evaluated at
|
||||
the current coordinates. See section <a href="#orgd77f937">5</a>.
|
||||
the current coordinates. See section <a href="#org1036237">5</a>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
@ -1553,12 +1553,12 @@ Uses the given array to compute the value.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7df5a52" class="outline-2">
|
||||
<h2 id="org7df5a52"><span class="section-number-2">3</span> Radial part</h2>
|
||||
<div id="outline-container-orgf06ed3b" class="outline-2">
|
||||
<h2 id="orgf06ed3b"><span class="section-number-2">3</span> Radial part</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
</div>
|
||||
<div id="outline-container-org2f4338b" class="outline-3">
|
||||
<h3 id="org2f4338b"><span class="section-number-3">3.1</span> General functions for Gaussian basis functions</h3>
|
||||
<div id="outline-container-orgddc2960" class="outline-3">
|
||||
<h3 id="orgddc2960"><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
|
||||
@ -1729,10 +1729,10 @@ Requirements:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org73125e7" class="outline-3">
|
||||
<h3 id="org73125e7"><span class="section-number-3">3.2</span> Computation of primitives</h3>
|
||||
<div id="outline-container-org80d0c8a" class="outline-3">
|
||||
<h3 id="org80d0c8a"><span class="section-number-3">3.2</span> Computation of primitives</h3>
|
||||
<div class="outline-text-3" id="text-3-2">
|
||||
<table id="org1979128" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgba8e112" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1891,10 +1891,10 @@ Requirements:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7d1b7bc" class="outline-3">
|
||||
<h3 id="org7d1b7bc"><span class="section-number-3">3.3</span> Computation of shells</h3>
|
||||
<div id="outline-container-org11911de" class="outline-3">
|
||||
<h3 id="org11911de"><span class="section-number-3">3.3</span> Computation of shells</h3>
|
||||
<div class="outline-text-3" id="text-3-3">
|
||||
<table id="orgede8c2f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org503d912" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2146,8 +2146,8 @@ Requirements:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgfdc492b" class="outline-2">
|
||||
<h2 id="orgfdc492b"><span class="section-number-2">4</span> Polynomial part</h2>
|
||||
<div id="outline-container-org9cf0afb" class="outline-2">
|
||||
<h2 id="org9cf0afb"><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
|
||||
@ -2167,8 +2167,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-org1f3c665" class="outline-3">
|
||||
<h3 id="org1f3c665"><span class="section-number-3">4.1</span> General functions for Powers of \(x-X_i\)</h3>
|
||||
<div id="outline-container-org7b1644d" class="outline-3">
|
||||
<h3 id="org7b1644d"><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>
|
||||
@ -2180,7 +2180,7 @@ the \(n\) points:
|
||||
\[ P_{ik} = X_i^k \]
|
||||
</p>
|
||||
|
||||
<table id="org4677fe5" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org5bd859c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2318,8 +2318,8 @@ Requirements:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc053c21" class="outline-3">
|
||||
<h3 id="orgc053c21"><span class="section-number-3">4.2</span> General functions for Value, Gradient and Laplacian of a polynomial</h3>
|
||||
<div id="outline-container-org3b33651" class="outline-3">
|
||||
<h3 id="org3b33651"><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\)
|
||||
@ -2364,7 +2364,7 @@ Laplacians at a given point in space, of all polynomials with an
|
||||
angular momentum up to <code>lmax</code>.
|
||||
</p>
|
||||
|
||||
<table id="orgd4ef8cc" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgd684a7e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3128,18 +3128,18 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd77f937" class="outline-2">
|
||||
<h2 id="orgd77f937"><span class="section-number-2">5</span> Combining radial and polynomial parts</h2>
|
||||
<div id="outline-container-org1036237" class="outline-2">
|
||||
<h2 id="org1036237"><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-orgf2e40de" class="outline-3">
|
||||
<h3 id="orgf2e40de"><span class="section-number-3">5.1</span> Values only</h3>
|
||||
<div id="outline-container-org82053f3" class="outline-3">
|
||||
<h3 id="org82053f3"><span class="section-number-3">5.1</span> Values only</h3>
|
||||
<div class="outline-text-3" id="text-5-1">
|
||||
</div>
|
||||
<div id="outline-container-org196a4f4" class="outline-4">
|
||||
<h4 id="org196a4f4"><span class="section-number-4">5.1.1</span> Unoptimized version</h4>
|
||||
<div id="outline-container-orgc1f0314" class="outline-4">
|
||||
<h4 id="orgc1f0314"><span class="section-number-4">5.1.1</span> Unoptimized version</h4>
|
||||
<div class="outline-text-4" id="text-5-1-1">
|
||||
<table id="org1375963" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orga759268" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3375,10 +3375,10 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5b62193" class="outline-4">
|
||||
<h4 id="org5b62193"><span class="section-number-4">5.1.2</span> HPC version</h4>
|
||||
<div id="outline-container-orgde57d58" class="outline-4">
|
||||
<h4 id="orgde57d58"><span class="section-number-4">5.1.2</span> HPC version</h4>
|
||||
<div class="outline-text-4" id="text-5-1-2">
|
||||
<table id="orgcbfcbdf" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org53e19b8" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3536,8 +3536,8 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgad3ddc9" class="outline-4">
|
||||
<h4 id="orgad3ddc9"><span class="section-number-4">5.1.3</span> Interfaces</h4>
|
||||
<div id="outline-container-org7a83d6e" class="outline-4">
|
||||
<h4 id="org7a83d6e"><span class="section-number-4">5.1.3</span> Interfaces</h4>
|
||||
<div class="outline-text-4" id="text-5-1-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_value_doc</span> (
|
||||
@ -3586,14 +3586,14 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgea69bd8" class="outline-3">
|
||||
<h3 id="orgea69bd8"><span class="section-number-3">5.2</span> Value, gradients, Laplacian</h3>
|
||||
<div id="outline-container-org03eb372" class="outline-3">
|
||||
<h3 id="org03eb372"><span class="section-number-3">5.2</span> Value, gradients, Laplacian</h3>
|
||||
<div class="outline-text-3" id="text-5-2">
|
||||
</div>
|
||||
<div id="outline-container-org5672731" class="outline-4">
|
||||
<h4 id="org5672731"><span class="section-number-4">5.2.1</span> Unoptimized version</h4>
|
||||
<div id="outline-container-org45a4237" class="outline-4">
|
||||
<h4 id="org45a4237"><span class="section-number-4">5.2.1</span> Unoptimized version</h4>
|
||||
<div class="outline-text-4" id="text-5-2-1">
|
||||
<table id="org95bbd5f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgb1d87db" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3858,10 +3858,10 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf609ab9" class="outline-4">
|
||||
<h4 id="orgf609ab9"><span class="section-number-4">5.2.2</span> HPC version</h4>
|
||||
<div id="outline-container-org9c47eb9" class="outline-4">
|
||||
<h4 id="org9c47eb9"><span class="section-number-4">5.2.2</span> HPC version</h4>
|
||||
<div class="outline-text-4" id="text-5-2-2">
|
||||
<table id="org5a6ed49" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org97bb8d8" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -4020,8 +4020,8 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org0fa99cb" class="outline-4">
|
||||
<h4 id="org0fa99cb"><span class="section-number-4">5.2.3</span> Interfaces</h4>
|
||||
<div id="outline-container-org2985e3a" class="outline-4">
|
||||
<h4 id="org2985e3a"><span class="section-number-4">5.2.3</span> Interfaces</h4>
|
||||
<div class="outline-text-4" id="text-5-2-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> (
|
||||
@ -4073,7 +4073,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-06-15 Wed 14:22</p>
|
||||
<p class="date">Created: 2022-06-15 Wed 17:18</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
150
qmckl_blas.html
150
qmckl_blas.html
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2022-06-15 Wed 14:21 -->
|
||||
<!-- 2022-06-15 Wed 17:18 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>BLAS functions</title>
|
||||
@ -333,48 +333,48 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org43fd4a0">-</a></li>
|
||||
<li><a href="#org8c5d98d">1. Data types</a>
|
||||
<li><a href="#org60e7416">-</a></li>
|
||||
<li><a href="#orgeeb6570">1. Data types</a>
|
||||
<ul>
|
||||
<li><a href="#orgad8e1c6">1.1. Vector</a></li>
|
||||
<li><a href="#orgfb75af4">1.2. Matrix</a></li>
|
||||
<li><a href="#orgee3cc5f">1.3. Tensor</a></li>
|
||||
<li><a href="#orgaae9e32">1.4. Reshaping</a>
|
||||
<li><a href="#org989dae1">1.1. Vector</a></li>
|
||||
<li><a href="#org2513694">1.2. Matrix</a></li>
|
||||
<li><a href="#org74831c2">1.3. Tensor</a></li>
|
||||
<li><a href="#orgd9aaf4c">1.4. Reshaping</a>
|
||||
<ul>
|
||||
<li><a href="#org6b853b4">1.4.1. Vector -> Matrix</a></li>
|
||||
<li><a href="#org36b630a">1.4.2. Vector -> Tensor</a></li>
|
||||
<li><a href="#org2dbd94b">1.4.3. Matrix -> Vector</a></li>
|
||||
<li><a href="#orgede9ce8">1.4.4. Matrix -> Tensor</a></li>
|
||||
<li><a href="#orgfb0bc21">1.4.5. Tensor -> Vector</a></li>
|
||||
<li><a href="#org732caed">1.4.6. Tensor -> Matrix</a></li>
|
||||
<li><a href="#orgf8b9e7a">1.4.1. Vector -> Matrix</a></li>
|
||||
<li><a href="#orgef488a2">1.4.2. Vector -> Tensor</a></li>
|
||||
<li><a href="#orgb85d55e">1.4.3. Matrix -> Vector</a></li>
|
||||
<li><a href="#org8e73c9a">1.4.4. Matrix -> Tensor</a></li>
|
||||
<li><a href="#org6f2167f">1.4.5. Tensor -> Vector</a></li>
|
||||
<li><a href="#orgd435a16">1.4.6. Tensor -> Matrix</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orge10816b">1.5. Access macros</a></li>
|
||||
<li><a href="#org7a0827a">1.6. Set all elements</a>
|
||||
<li><a href="#org61dcf71">1.5. Access macros</a></li>
|
||||
<li><a href="#org1629bc0">1.6. Set all elements</a>
|
||||
<ul>
|
||||
<li><a href="#org31fafe6">1.6.1. Vector</a></li>
|
||||
<li><a href="#org2378c3c">1.6.2. Matrix</a></li>
|
||||
<li><a href="#org7cf25a6">1.6.3. Tensor</a></li>
|
||||
<li><a href="#org7cb78bf">1.6.1. Vector</a></li>
|
||||
<li><a href="#org5834d85">1.6.2. Matrix</a></li>
|
||||
<li><a href="#org538b2e4">1.6.3. Tensor</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org6745a19">1.7. Copy to/from to <code>double*</code></a></li>
|
||||
<li><a href="#orgf7ce272">1.7. Copy to/from to <code>double*</code></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org1d3fd19">2. Matrix operations</a>
|
||||
<li><a href="#org000bb0a">2. Matrix operations</a>
|
||||
<ul>
|
||||
<li><a href="#org86eeed9">2.1. <code>qmckl_dgemm</code></a></li>
|
||||
<li><a href="#orgd9786fb">2.2. <code>qmckl_matmul</code></a></li>
|
||||
<li><a href="#org41cd9a1">2.3. <code>qmckl_adjugate</code></a></li>
|
||||
<li><a href="#org0fbc783">2.4. <code>qmckl_transpose</code></a></li>
|
||||
<li><a href="#org3155067">2.1. <code>qmckl_dgemm</code></a></li>
|
||||
<li><a href="#org5ad896d">2.2. <code>qmckl_matmul</code></a></li>
|
||||
<li><a href="#org751e4bb">2.3. <code>qmckl_adjugate</code></a></li>
|
||||
<li><a href="#org26cad0a">2.4. <code>qmckl_transpose</code></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org43fd4a0" class="outline-2">
|
||||
<h2 id="org43fd4a0">-</h2>
|
||||
<div class="outline-text-2" id="text-org43fd4a0">
|
||||
<div id="outline-container-org60e7416" class="outline-2">
|
||||
<h2 id="org60e7416">-</h2>
|
||||
<div class="outline-text-2" id="text-org60e7416">
|
||||
<p>
|
||||
Basic linear algebra data types and operations are described in this file.
|
||||
The data types are private, so that HPC implementations can use
|
||||
@ -388,12 +388,12 @@ are not intended to be passed to external codes.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8c5d98d" class="outline-2">
|
||||
<h2 id="org8c5d98d"><span class="section-number-2">1</span> Data types</h2>
|
||||
<div id="outline-container-orgeeb6570" class="outline-2">
|
||||
<h2 id="orgeeb6570"><span class="section-number-2">1</span> Data types</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
</div>
|
||||
<div id="outline-container-orgad8e1c6" class="outline-3">
|
||||
<h3 id="orgad8e1c6"><span class="section-number-3">1.1</span> Vector</h3>
|
||||
<div id="outline-container-org989dae1" class="outline-3">
|
||||
<h3 id="org989dae1"><span class="section-number-3">1.1</span> Vector</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
@ -447,8 +447,8 @@ Allocates a new vector. If the allocation failed the size is zero.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgfb75af4" class="outline-3">
|
||||
<h3 id="orgfb75af4"><span class="section-number-3">1.2</span> Matrix</h3>
|
||||
<div id="outline-container-org2513694" class="outline-3">
|
||||
<h3 id="org2513694"><span class="section-number-3">1.2</span> Matrix</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
@ -508,8 +508,8 @@ Allocates a new matrix. If the allocation failed the sizes are zero.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgee3cc5f" class="outline-3">
|
||||
<h3 id="orgee3cc5f"><span class="section-number-3">1.3</span> Tensor</h3>
|
||||
<div id="outline-container-org74831c2" class="outline-3">
|
||||
<h3 id="org74831c2"><span class="section-number-3">1.3</span> Tensor</h3>
|
||||
<div class="outline-text-3" id="text-1-3">
|
||||
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
@ -576,16 +576,16 @@ is zero.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgaae9e32" class="outline-3">
|
||||
<h3 id="orgaae9e32"><span class="section-number-3">1.4</span> Reshaping</h3>
|
||||
<div id="outline-container-orgd9aaf4c" class="outline-3">
|
||||
<h3 id="orgd9aaf4c"><span class="section-number-3">1.4</span> Reshaping</h3>
|
||||
<div class="outline-text-3" id="text-1-4">
|
||||
<p>
|
||||
Reshaping occurs in-place and the pointer to the data is copied.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6b853b4" class="outline-4">
|
||||
<h4 id="org6b853b4"><span class="section-number-4">1.4.1</span> Vector -> Matrix</h4>
|
||||
<div id="outline-container-orgf8b9e7a" class="outline-4">
|
||||
<h4 id="orgf8b9e7a"><span class="section-number-4">1.4.1</span> Vector -> Matrix</h4>
|
||||
<div class="outline-text-4" id="text-1-4-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_matrix</span>
|
||||
@ -601,8 +601,8 @@ Reshapes a vector into a matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org36b630a" class="outline-4">
|
||||
<h4 id="org36b630a"><span class="section-number-4">1.4.2</span> Vector -> Tensor</h4>
|
||||
<div id="outline-container-orgef488a2" class="outline-4">
|
||||
<h4 id="orgef488a2"><span class="section-number-4">1.4.2</span> Vector -> Tensor</h4>
|
||||
<div class="outline-text-4" id="text-1-4-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_tensor</span>
|
||||
@ -618,8 +618,8 @@ Reshapes a vector into a tensor.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2dbd94b" class="outline-4">
|
||||
<h4 id="org2dbd94b"><span class="section-number-4">1.4.3</span> Matrix -> Vector</h4>
|
||||
<div id="outline-container-orgb85d55e" class="outline-4">
|
||||
<h4 id="orgb85d55e"><span class="section-number-4">1.4.3</span> Matrix -> Vector</h4>
|
||||
<div class="outline-text-4" id="text-1-4-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_vector</span>
|
||||
@ -633,8 +633,8 @@ Reshapes a matrix into a vector.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgede9ce8" class="outline-4">
|
||||
<h4 id="orgede9ce8"><span class="section-number-4">1.4.4</span> Matrix -> Tensor</h4>
|
||||
<div id="outline-container-org8e73c9a" class="outline-4">
|
||||
<h4 id="org8e73c9a"><span class="section-number-4">1.4.4</span> Matrix -> Tensor</h4>
|
||||
<div class="outline-text-4" id="text-1-4-4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_tensor</span>
|
||||
@ -650,8 +650,8 @@ Reshapes a matrix into a tensor.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgfb0bc21" class="outline-4">
|
||||
<h4 id="orgfb0bc21"><span class="section-number-4">1.4.5</span> Tensor -> Vector</h4>
|
||||
<div id="outline-container-org6f2167f" class="outline-4">
|
||||
<h4 id="org6f2167f"><span class="section-number-4">1.4.5</span> Tensor -> Vector</h4>
|
||||
<div class="outline-text-4" id="text-1-4-5">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_vector</span>
|
||||
@ -665,8 +665,8 @@ Reshapes a tensor into a vector.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org732caed" class="outline-4">
|
||||
<h4 id="org732caed"><span class="section-number-4">1.4.6</span> Tensor -> Matrix</h4>
|
||||
<div id="outline-container-orgd435a16" class="outline-4">
|
||||
<h4 id="orgd435a16"><span class="section-number-4">1.4.6</span> Tensor -> Matrix</h4>
|
||||
<div class="outline-text-4" id="text-1-4-6">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_matrix</span>
|
||||
@ -683,8 +683,8 @@ Reshapes a tensor into a vector.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge10816b" class="outline-3">
|
||||
<h3 id="orge10816b"><span class="section-number-3">1.5</span> Access macros</h3>
|
||||
<div id="outline-container-org61dcf71" class="outline-3">
|
||||
<h3 id="org61dcf71"><span class="section-number-3">1.5</span> Access macros</h3>
|
||||
<div class="outline-text-3" id="text-1-5">
|
||||
<p>
|
||||
Macros are provided to ease the access to vectors, matrices and
|
||||
@ -708,12 +708,12 @@ For example:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7a0827a" class="outline-3">
|
||||
<h3 id="org7a0827a"><span class="section-number-3">1.6</span> Set all elements</h3>
|
||||
<div id="outline-container-org1629bc0" class="outline-3">
|
||||
<h3 id="org1629bc0"><span class="section-number-3">1.6</span> Set all elements</h3>
|
||||
<div class="outline-text-3" id="text-1-6">
|
||||
</div>
|
||||
<div id="outline-container-org31fafe6" class="outline-4">
|
||||
<h4 id="org31fafe6"><span class="section-number-4">1.6.1</span> Vector</h4>
|
||||
<div id="outline-container-org7cb78bf" class="outline-4">
|
||||
<h4 id="org7cb78bf"><span class="section-number-4">1.6.1</span> Vector</h4>
|
||||
<div class="outline-text-4" id="text-1-6-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_vector</span>
|
||||
@ -723,8 +723,8 @@ For example:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2378c3c" class="outline-4">
|
||||
<h4 id="org2378c3c"><span class="section-number-4">1.6.2</span> Matrix</h4>
|
||||
<div id="outline-container-org5834d85" class="outline-4">
|
||||
<h4 id="org5834d85"><span class="section-number-4">1.6.2</span> Matrix</h4>
|
||||
<div class="outline-text-4" id="text-1-6-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_matrix</span>
|
||||
@ -734,8 +734,8 @@ For example:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7cf25a6" class="outline-4">
|
||||
<h4 id="org7cf25a6"><span class="section-number-4">1.6.3</span> Tensor</h4>
|
||||
<div id="outline-container-org538b2e4" class="outline-4">
|
||||
<h4 id="org538b2e4"><span class="section-number-4">1.6.3</span> Tensor</h4>
|
||||
<div class="outline-text-4" id="text-1-6-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_tensor</span>
|
||||
@ -746,8 +746,8 @@ For example:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6745a19" class="outline-3">
|
||||
<h3 id="org6745a19"><span class="section-number-3">1.7</span> Copy to/from to <code>double*</code></h3>
|
||||
<div id="outline-container-orgf7ce272" class="outline-3">
|
||||
<h3 id="orgf7ce272"><span class="section-number-3">1.7</span> Copy to/from to <code>double*</code></h3>
|
||||
<div class="outline-text-3" id="text-1-7">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
|
||||
@ -830,12 +830,12 @@ Converts a <code>double*</code> to a tensor.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1d3fd19" class="outline-2">
|
||||
<h2 id="org1d3fd19"><span class="section-number-2">2</span> Matrix operations</h2>
|
||||
<div id="outline-container-org000bb0a" class="outline-2">
|
||||
<h2 id="org000bb0a"><span class="section-number-2">2</span> Matrix operations</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-org86eeed9" class="outline-3">
|
||||
<h3 id="org86eeed9"><span class="section-number-3">2.1</span> <code>qmckl_dgemm</code></h3>
|
||||
<div id="outline-container-org3155067" class="outline-3">
|
||||
<h3 id="org3155067"><span class="section-number-3">2.1</span> <code>qmckl_dgemm</code></h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
<p>
|
||||
Matrix multiplication with a BLAS interface:
|
||||
@ -847,7 +847,7 @@ Matrix multiplication with a BLAS interface:
|
||||
\]
|
||||
</p>
|
||||
|
||||
<table id="orgf46a8c4" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org991bdec" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1006,8 +1006,8 @@ Requirements:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd9786fb" class="outline-3">
|
||||
<h3 id="orgd9786fb"><span class="section-number-3">2.2</span> <code>qmckl_matmul</code></h3>
|
||||
<div id="outline-container-org5ad896d" class="outline-3">
|
||||
<h3 id="org5ad896d"><span class="section-number-3">2.2</span> <code>qmckl_matmul</code></h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
<p>
|
||||
Matrix multiplication using the <code>qmckl_matrix</code> data type:
|
||||
@ -1019,7 +1019,7 @@ Matrix multiplication using the <code>qmckl_matrix</code> data type:
|
||||
\]
|
||||
</p>
|
||||
|
||||
<table id="org1578295" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org6d0ae77" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1113,8 +1113,8 @@ Matrix multiplication using the <code>qmckl_matrix</code> data type:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org41cd9a1" class="outline-3">
|
||||
<h3 id="org41cd9a1"><span class="section-number-3">2.3</span> <code>qmckl_adjugate</code></h3>
|
||||
<div id="outline-container-org751e4bb" class="outline-3">
|
||||
<h3 id="org751e4bb"><span class="section-number-3">2.3</span> <code>qmckl_adjugate</code></h3>
|
||||
<div class="outline-text-3" id="text-2-3">
|
||||
<p>
|
||||
Given a matrix \(\mathbf{A}\), the adjugate matrix
|
||||
@ -1132,7 +1132,7 @@ of \(\mathbf{A}\).
|
||||
See also: <a href="https://en.wikipedia.org/wiki/Adjugate_matrix">https://en.wikipedia.org/wiki/Adjugate_matrix</a>
|
||||
</p>
|
||||
|
||||
<table id="org6f27239" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org85cc706" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1328,8 +1328,8 @@ determinant with the inverse:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0fbc783" class="outline-3">
|
||||
<h3 id="org0fbc783"><span class="section-number-3">2.4</span> <code>qmckl_transpose</code></h3>
|
||||
<div id="outline-container-org26cad0a" class="outline-3">
|
||||
<h3 id="org26cad0a"><span class="section-number-3">2.4</span> <code>qmckl_transpose</code></h3>
|
||||
<div class="outline-text-3" id="text-2-4">
|
||||
<p>
|
||||
Transposes a matrix: \(A^\dagger_{ji} = A_{ij}\).
|
||||
@ -1392,7 +1392,7 @@ Transposes a matrix: \(A^\dagger_{ji} = A_{ij}\).
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-06-15 Wed 14:21</p>
|
||||
<p class="date">Created: 2022-06-15 Wed 17:18</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-06-15 Wed 14:21 -->
|
||||
<!-- 2022-06-15 Wed 17:18 -->
|
||||
<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="#org355a73b">1. Context handling</a>
|
||||
<li><a href="#org6efcab2">1. Context handling</a>
|
||||
<ul>
|
||||
<li><a href="#orga21cfac">1.1. Data structure</a></li>
|
||||
<li><a href="#orgae4ae34">1.2. Creation</a></li>
|
||||
<li><a href="#orgcb67478">1.3. Locking</a></li>
|
||||
<li><a href="#orge080a85">1.4. <span class="todo TODO">TODO</span> Copy</a></li>
|
||||
<li><a href="#orge0f13fd">1.5. Destroy</a></li>
|
||||
<li><a href="#org86a9fbb">1.1. Data structure</a></li>
|
||||
<li><a href="#orge55d632">1.2. Creation</a></li>
|
||||
<li><a href="#orgbd60801">1.3. Locking</a></li>
|
||||
<li><a href="#org27bedcd">1.4. <span class="todo TODO">TODO</span> Copy</a></li>
|
||||
<li><a href="#org6466a59">1.5. Destroy</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org355a73b" class="outline-2">
|
||||
<h2 id="org355a73b"><span class="section-number-2">1</span> Context handling</h2>
|
||||
<div id="outline-container-org6efcab2" class="outline-2">
|
||||
<h2 id="org6efcab2"><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="orgab7ba1c"><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="orgae4cb2b"><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-orga21cfac" class="outline-3">
|
||||
<h3 id="orga21cfac"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-org86a9fbb" class="outline-3">
|
||||
<h3 id="org86a9fbb"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<p>
|
||||
A tag is used internally to check if the memory domain pointed
|
||||
@ -385,7 +385,7 @@ to be recomputed. The date is incremented when the context is touched.
|
||||
|
||||
<p>
|
||||
When a new element is added to the context, the functions
|
||||
<a href="#orgae4ae34"><code>qmckl_context_create</code></a> <a href="#orge0f13fd"><code>qmckl_context_destroy</code></a> and <a href="#orge080a85"><code>qmckl_context_copy</code></a>
|
||||
<a href="#orge55d632"><code>qmckl_context_create</code></a> <a href="#org6466a59"><code>qmckl_context_destroy</code></a> and <a href="#org27bedcd"><code>qmckl_context_copy</code></a>
|
||||
should be updated in order to make deep copies.
|
||||
</p>
|
||||
|
||||
@ -406,8 +406,8 @@ This has the effect to increment the date of the context.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgae4ae34" class="outline-3">
|
||||
<h3 id="orgae4ae34"><span class="section-number-3">1.2</span> Creation</h3>
|
||||
<div id="outline-container-orge55d632" class="outline-3">
|
||||
<h3 id="orge55d632"><span class="section-number-3">1.2</span> Creation</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<p>
|
||||
To create a new context, <code>qmckl_context_create()</code> should be used.
|
||||
@ -424,8 +424,8 @@ To create a new context, <code>qmckl_context_create()</code> should be used.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgcb67478" class="outline-3">
|
||||
<h3 id="orgcb67478"><span class="section-number-3">1.3</span> Locking</h3>
|
||||
<div id="outline-container-orgbd60801" class="outline-3">
|
||||
<h3 id="orgbd60801"><span class="section-number-3">1.3</span> Locking</h3>
|
||||
<div class="outline-text-3" id="text-1-3">
|
||||
<p>
|
||||
For thread safety, the context may be locked/unlocked. The lock is
|
||||
@ -441,8 +441,8 @@ number of times the thread has locked it is saved in the
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orge080a85" class="outline-3">
|
||||
<h3 id="orge080a85"><span class="section-number-3">1.4</span> <span class="todo TODO">TODO</span> Copy</h3>
|
||||
<div id="outline-container-org27bedcd" class="outline-3">
|
||||
<h3 id="org27bedcd"><span class="section-number-3">1.4</span> <span class="todo TODO">TODO</span> Copy</h3>
|
||||
<div class="outline-text-3" id="text-1-4">
|
||||
<p>
|
||||
<code>qmckl_context_copy</code> makes a deep copy of a context. It returns
|
||||
@ -450,8 +450,8 @@ number of times the thread has locked it is saved in the
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orge0f13fd" class="outline-3">
|
||||
<h3 id="orge0f13fd"><span class="section-number-3">1.5</span> Destroy</h3>
|
||||
<div id="outline-container-org6466a59" class="outline-3">
|
||||
<h3 id="org6466a59"><span class="section-number-3">1.5</span> Destroy</h3>
|
||||
<div class="outline-text-3" id="text-1-5">
|
||||
<p>
|
||||
The context is destroyed with <code>qmckl_context_destroy</code>, leaving the ancestors untouched.
|
||||
@ -469,7 +469,7 @@ It frees the context, and returns the previous context.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-06-15 Wed 14:21</p>
|
||||
<p class="date">Created: 2022-06-15 Wed 17:18</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-06-15 Wed 14:21 -->
|
||||
<!-- 2022-06-15 Wed 17:18 -->
|
||||
<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="#org716012b">1. Context</a>
|
||||
<li><a href="#orgf406b1f">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org3cab5b5">1.1. Data structure</a></li>
|
||||
<li><a href="#org0c9ef45">1.2. Access functions</a></li>
|
||||
<li><a href="#org713364f">1.3. Initialization functions</a></li>
|
||||
<li><a href="#orgfab3aa6">1.4. Fortran Interfaces</a></li>
|
||||
<li><a href="#org20e038a">1.5. Test</a></li>
|
||||
<li><a href="#org361ca21">1.1. Data structure</a></li>
|
||||
<li><a href="#orgca5438a">1.2. Access functions</a></li>
|
||||
<li><a href="#org67014f4">1.3. Initialization functions</a></li>
|
||||
<li><a href="#orged7f87a">1.4. Fortran Interfaces</a></li>
|
||||
<li><a href="#orgaad221c">1.5. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org4872c17">2. Computation</a>
|
||||
<li><a href="#org9c325a5">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#orge1b2715">2.1. Determinant matrix</a>
|
||||
<li><a href="#orgd63b747">2.1. Determinant matrix</a>
|
||||
<ul>
|
||||
<li><a href="#org061610e">2.1.1. Get</a></li>
|
||||
<li><a href="#orge0536be">2.1.2. Provide</a></li>
|
||||
<li><a href="#org5abb7f6">2.1.3. Compute alpha</a></li>
|
||||
<li><a href="#orgfd9a0b2">2.1.4. Compute beta</a></li>
|
||||
<li><a href="#orgae647bb">2.1.5. Test</a></li>
|
||||
<li><a href="#org0c861c4">2.1.1. Get</a></li>
|
||||
<li><a href="#org1decc88">2.1.2. Provide</a></li>
|
||||
<li><a href="#org8837b57">2.1.3. Compute alpha</a></li>
|
||||
<li><a href="#orgb621498">2.1.4. Compute beta</a></li>
|
||||
<li><a href="#orgc73425f">2.1.5. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgee92f94">2.2. Inverse of Determinant matrix</a>
|
||||
<li><a href="#orga0d8d42">2.2. Inverse of Determinant matrix</a>
|
||||
<ul>
|
||||
<li><a href="#orgce35312">2.2.1. Get</a></li>
|
||||
<li><a href="#orgf669284">2.2.2. Provide</a></li>
|
||||
<li><a href="#org54c37ad">2.2.3. Compute alpha</a></li>
|
||||
<li><a href="#org1903e5d">2.2.4. Compute beta</a></li>
|
||||
<li><a href="#orgb9287bc">2.2.1. Get</a></li>
|
||||
<li><a href="#org39de0e6">2.2.2. Provide</a></li>
|
||||
<li><a href="#orgac79b78">2.2.3. Compute alpha</a></li>
|
||||
<li><a href="#org1aa4338">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-org716012b" class="outline-2">
|
||||
<h2 id="org716012b"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-orgf406b1f" class="outline-2">
|
||||
<h2 id="orgf406b1f"><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-org3cab5b5" class="outline-3">
|
||||
<h3 id="org3cab5b5"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-org361ca21" class="outline-3">
|
||||
<h3 id="org361ca21"><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-org0c9ef45" class="outline-3">
|
||||
<h3 id="org0c9ef45"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-orgca5438a" class="outline-3">
|
||||
<h3 id="orgca5438a"><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-org713364f" class="outline-3">
|
||||
<h3 id="org713364f"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-org67014f4" class="outline-3">
|
||||
<h3 id="org67014f4"><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-orgfab3aa6" class="outline-3">
|
||||
<h3 id="orgfab3aa6"><span class="section-number-3">1.4</span> Fortran Interfaces</h3>
|
||||
<div id="outline-container-orged7f87a" class="outline-3">
|
||||
<h3 id="orged7f87a"><span class="section-number-3">1.4</span> Fortran Interfaces</h3>
|
||||
</div>
|
||||
<div id="outline-container-org20e038a" class="outline-3">
|
||||
<h3 id="org20e038a"><span class="section-number-3">1.5</span> Test</h3>
|
||||
<div id="outline-container-orgaad221c" class="outline-3">
|
||||
<h3 id="orgaad221c"><span class="section-number-3">1.5</span> Test</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org4872c17" class="outline-2">
|
||||
<h2 id="org4872c17"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-org9c325a5" class="outline-2">
|
||||
<h2 id="org9c325a5"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-orge1b2715" class="outline-3">
|
||||
<h3 id="orge1b2715"><span class="section-number-3">2.1</span> Determinant matrix</h3>
|
||||
<div id="outline-container-orgd63b747" class="outline-3">
|
||||
<h3 id="orgd63b747"><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-org061610e" class="outline-4">
|
||||
<h4 id="org061610e"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-org0c861c4" class="outline-4">
|
||||
<h4 id="org0c861c4"><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-orge0536be" class="outline-4">
|
||||
<h4 id="orge0536be"><span class="section-number-4">2.1.2</span> Provide</h4>
|
||||
<div id="outline-container-org1decc88" class="outline-4">
|
||||
<h4 id="org1decc88"><span class="section-number-4">2.1.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5abb7f6" class="outline-4">
|
||||
<h4 id="org5abb7f6"><span class="section-number-4">2.1.3</span> Compute alpha</h4>
|
||||
<div id="outline-container-org8837b57" class="outline-4">
|
||||
<h4 id="org8837b57"><span class="section-number-4">2.1.3</span> Compute alpha</h4>
|
||||
<div class="outline-text-4" id="text-2-1-3">
|
||||
<table id="org7d312fb" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgdca6958" 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-orgfd9a0b2" class="outline-4">
|
||||
<h4 id="orgfd9a0b2"><span class="section-number-4">2.1.4</span> Compute beta</h4>
|
||||
<div id="outline-container-orgb621498" class="outline-4">
|
||||
<h4 id="orgb621498"><span class="section-number-4">2.1.4</span> Compute beta</h4>
|
||||
<div class="outline-text-4" id="text-2-1-4">
|
||||
<table id="org46c4672" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org9bc9641" 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-orgae647bb" class="outline-4">
|
||||
<h4 id="orgae647bb"><span class="section-number-4">2.1.5</span> Test</h4>
|
||||
<div id="outline-container-orgc73425f" class="outline-4">
|
||||
<h4 id="orgc73425f"><span class="section-number-4">2.1.5</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgee92f94" class="outline-3">
|
||||
<h3 id="orgee92f94"><span class="section-number-3">2.2</span> Inverse of Determinant matrix</h3>
|
||||
<div id="outline-container-orga0d8d42" class="outline-3">
|
||||
<h3 id="orga0d8d42"><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-orgce35312" class="outline-4">
|
||||
<h4 id="orgce35312"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div id="outline-container-orgb9287bc" class="outline-4">
|
||||
<h4 id="orgb9287bc"><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-orgf669284" class="outline-4">
|
||||
<h4 id="orgf669284"><span class="section-number-4">2.2.2</span> Provide</h4>
|
||||
<div id="outline-container-org39de0e6" class="outline-4">
|
||||
<h4 id="org39de0e6"><span class="section-number-4">2.2.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org54c37ad" class="outline-4">
|
||||
<h4 id="org54c37ad"><span class="section-number-4">2.2.3</span> Compute alpha</h4>
|
||||
<div id="outline-container-orgac79b78" class="outline-4">
|
||||
<h4 id="orgac79b78"><span class="section-number-4">2.2.3</span> Compute alpha</h4>
|
||||
<div class="outline-text-4" id="text-2-2-3">
|
||||
<table id="org5aceb72" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org361f450" 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-org1903e5d" class="outline-4">
|
||||
<h4 id="org1903e5d"><span class="section-number-4">2.2.4</span> Compute beta</h4>
|
||||
<div id="outline-container-org1aa4338" class="outline-4">
|
||||
<h4 id="org1aa4338"><span class="section-number-4">2.2.4</span> Compute beta</h4>
|
||||
<div class="outline-text-4" id="text-2-2-4">
|
||||
<table id="org4f9b178" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgf29de22" 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-06-15 Wed 14:21</p>
|
||||
<p class="date">Created: 2022-06-15 Wed 17:18</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-06-15 Wed 14:22 -->
|
||||
<!-- 2022-06-15 Wed 17:18 -->
|
||||
<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="#org658b86a">1. Squared distance</a>
|
||||
<li><a href="#orgc6d6a4c">1. Squared distance</a>
|
||||
<ul>
|
||||
<li><a href="#orgeccf9ac">1.1. <code>qmckl_distance_sq</code></a>
|
||||
<li><a href="#org4d19178">1.1. <code>qmckl_distance_sq</code></a>
|
||||
<ul>
|
||||
<li><a href="#org5112fff">1.1.1. Performance</a></li>
|
||||
<li><a href="#org3810dcd">1.1.1. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgae3e72a">2. Distance</a>
|
||||
<li><a href="#orgf19af24">2. Distance</a>
|
||||
<ul>
|
||||
<li><a href="#org3aa0fff">2.1. <code>qmckl_distance</code></a>
|
||||
<li><a href="#orgf1d02b5">2.1. <code>qmckl_distance</code></a>
|
||||
<ul>
|
||||
<li><a href="#org0283053">2.1.1. Requirements</a></li>
|
||||
<li><a href="#orgc46bfc3">2.1.2. C header</a></li>
|
||||
<li><a href="#org06151ab">2.1.3. Source</a></li>
|
||||
<li><a href="#org2020444">2.1.4. Performance</a></li>
|
||||
<li><a href="#orga87515a">2.1.1. Requirements</a></li>
|
||||
<li><a href="#org16d1416">2.1.2. C header</a></li>
|
||||
<li><a href="#orga9e15ea">2.1.3. Source</a></li>
|
||||
<li><a href="#org71c1bcb">2.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org9bb5bb0">3. Rescaled Distance</a>
|
||||
<li><a href="#org132d776">3. Rescaled Distance</a>
|
||||
<ul>
|
||||
<li><a href="#orgd533fc5">3.1. <code>qmckl_distance_rescaled</code></a>
|
||||
<li><a href="#orgbf85eb7">3.1. <code>qmckl_distance_rescaled</code></a>
|
||||
<ul>
|
||||
<li><a href="#org7705a34">3.1.1. Requirements</a></li>
|
||||
<li><a href="#org463fbaa">3.1.2. C header</a></li>
|
||||
<li><a href="#org85f03f0">3.1.3. Source</a></li>
|
||||
<li><a href="#org1252b35">3.1.4. Performance</a></li>
|
||||
<li><a href="#org4299471">3.1.1. Requirements</a></li>
|
||||
<li><a href="#org050e412">3.1.2. C header</a></li>
|
||||
<li><a href="#orgf9e86db">3.1.3. Source</a></li>
|
||||
<li><a href="#org8bac7dc">3.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgbde7ce7">4. Rescaled Distance Derivatives</a>
|
||||
<li><a href="#orgcff50e0">4. Rescaled Distance Derivatives</a>
|
||||
<ul>
|
||||
<li><a href="#orgec80103">4.1. <code>qmckl_distance_rescaled_deriv_e</code></a></li>
|
||||
<li><a href="#org9def1c6">4.1. <code>qmckl_distance_rescaled_deriv_e</code></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org658b86a" class="outline-2">
|
||||
<h2 id="org658b86a"><span class="section-number-2">1</span> Squared distance</h2>
|
||||
<div id="outline-container-orgc6d6a4c" class="outline-2">
|
||||
<h2 id="orgc6d6a4c"><span class="section-number-2">1</span> Squared distance</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
</div>
|
||||
<div id="outline-container-orgeccf9ac" class="outline-3">
|
||||
<h3 id="orgeccf9ac"><span class="section-number-3">1.1</span> <code>qmckl_distance_sq</code></h3>
|
||||
<div id="outline-container-org4d19178" class="outline-3">
|
||||
<h3 id="org4d19178"><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="org3d59acb" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org1f0c29d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -659,8 +659,8 @@ Requirements:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5112fff" class="outline-4">
|
||||
<h4 id="org5112fff"><span class="section-number-4">1.1.1</span> Performance</h4>
|
||||
<div id="outline-container-org3810dcd" class="outline-4">
|
||||
<h4 id="org3810dcd"><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-orgae3e72a" class="outline-2">
|
||||
<h2 id="orgae3e72a"><span class="section-number-2">2</span> Distance</h2>
|
||||
<div id="outline-container-orgf19af24" class="outline-2">
|
||||
<h2 id="orgf19af24"><span class="section-number-2">2</span> Distance</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-org3aa0fff" class="outline-3">
|
||||
<h3 id="org3aa0fff"><span class="section-number-3">2.1</span> <code>qmckl_distance</code></h3>
|
||||
<div id="outline-container-orgf1d02b5" class="outline-3">
|
||||
<h3 id="orgf1d02b5"><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="org4efa32d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org20f6391" 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-org0283053" class="outline-4">
|
||||
<h4 id="org0283053"><span class="section-number-4">2.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-orga87515a" class="outline-4">
|
||||
<h4 id="orga87515a"><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-orgc46bfc3" class="outline-4">
|
||||
<h4 id="orgc46bfc3"><span class="section-number-4">2.1.2</span> C header</h4>
|
||||
<div id="outline-container-org16d1416" class="outline-4">
|
||||
<h4 id="org16d1416"><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-org06151ab" class="outline-4">
|
||||
<h4 id="org06151ab"><span class="section-number-4">2.1.3</span> Source</h4>
|
||||
<div id="outline-container-orga9e15ea" class="outline-4">
|
||||
<h4 id="orga9e15ea"><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-org2020444" class="outline-4">
|
||||
<h4 id="org2020444"><span class="section-number-4">2.1.4</span> Performance</h4>
|
||||
<div id="outline-container-org71c1bcb" class="outline-4">
|
||||
<h4 id="org71c1bcb"><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-org9bb5bb0" class="outline-2">
|
||||
<h2 id="org9bb5bb0"><span class="section-number-2">3</span> Rescaled Distance</h2>
|
||||
<div id="outline-container-org132d776" class="outline-2">
|
||||
<h2 id="org132d776"><span class="section-number-2">3</span> Rescaled Distance</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
</div>
|
||||
<div id="outline-container-orgd533fc5" class="outline-3">
|
||||
<h3 id="orgd533fc5"><span class="section-number-3">3.1</span> <code>qmckl_distance_rescaled</code></h3>
|
||||
<div id="outline-container-orgbf85eb7" class="outline-3">
|
||||
<h3 id="orgbf85eb7"><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="orge67af90" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org099bf9e" 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-org7705a34" class="outline-4">
|
||||
<h4 id="org7705a34"><span class="section-number-4">3.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org4299471" class="outline-4">
|
||||
<h4 id="org4299471"><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-org463fbaa" class="outline-4">
|
||||
<h4 id="org463fbaa"><span class="section-number-4">3.1.2</span> C header</h4>
|
||||
<div id="outline-container-org050e412" class="outline-4">
|
||||
<h4 id="org050e412"><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-org85f03f0" class="outline-4">
|
||||
<h4 id="org85f03f0"><span class="section-number-4">3.1.3</span> Source</h4>
|
||||
<div id="outline-container-orgf9e86db" class="outline-4">
|
||||
<h4 id="orgf9e86db"><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-org1252b35" class="outline-4">
|
||||
<h4 id="org1252b35"><span class="section-number-4">3.1.4</span> Performance</h4>
|
||||
<div id="outline-container-org8bac7dc" class="outline-4">
|
||||
<h4 id="org8bac7dc"><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-orgbde7ce7" class="outline-2">
|
||||
<h2 id="orgbde7ce7"><span class="section-number-2">4</span> Rescaled Distance Derivatives</h2>
|
||||
<div id="outline-container-orgcff50e0" class="outline-2">
|
||||
<h2 id="orgcff50e0"><span class="section-number-2">4</span> Rescaled Distance Derivatives</h2>
|
||||
<div class="outline-text-2" id="text-4">
|
||||
</div>
|
||||
<div id="outline-container-orgec80103" class="outline-3">
|
||||
<h3 id="orgec80103"><span class="section-number-3">4.1</span> <code>qmckl_distance_rescaled_deriv_e</code></h3>
|
||||
<div id="outline-container-org9def1c6" class="outline-3">
|
||||
<h3 id="org9def1c6"><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="orgcbde1ec" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org1e05601" 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-06-15 Wed 14:22</p>
|
||||
<p class="date">Created: 2022-06-15 Wed 17:18</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-06-15 Wed 14:22 -->
|
||||
<!-- 2022-06-15 Wed 17:18 -->
|
||||
<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="#org3bd333a">1. Context</a>
|
||||
<li><a href="#org1b32aef">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#orgff90aac">1.1. Data structure</a></li>
|
||||
<li><a href="#orge2121cf">1.2. Access functions</a>
|
||||
<li><a href="#org817c81b">1.1. Data structure</a></li>
|
||||
<li><a href="#orge0d4f92">1.2. Access functions</a>
|
||||
<ul>
|
||||
<li><a href="#org628ae3a">1.2.1. Number of electrons</a></li>
|
||||
<li><a href="#org192dca8">1.2.2. Number of walkers</a></li>
|
||||
<li><a href="#org5571d1e">1.2.3. Scaling factors Kappa</a></li>
|
||||
<li><a href="#org4532006">1.2.4. Electron coordinates</a></li>
|
||||
<li><a href="#org19c04f5">1.2.1. Number of electrons</a></li>
|
||||
<li><a href="#orgd2a08c6">1.2.2. Number of walkers</a></li>
|
||||
<li><a href="#org0a00add">1.2.3. Scaling factors Kappa</a></li>
|
||||
<li><a href="#org0fd3b86">1.2.4. Electron coordinates</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org246d33d">1.3. Initialization functions</a></li>
|
||||
<li><a href="#orgcc815d2">1.4. Test</a></li>
|
||||
<li><a href="#orgd8a04be">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org20ebdcb">1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgace82a0">2. Computation</a>
|
||||
<li><a href="#orgebb8c2b">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#orgb52759b">2.1. Electron-electron distances</a>
|
||||
<li><a href="#org346cb1f">2.1. Electron-electron distances</a>
|
||||
<ul>
|
||||
<li><a href="#orgeb93002">2.1.1. Get</a></li>
|
||||
<li><a href="#orgcf071a3">2.1.2. Compute</a></li>
|
||||
<li><a href="#org6b7ebda">2.1.3. Test</a></li>
|
||||
<li><a href="#org79cee3e">2.1.1. Get</a></li>
|
||||
<li><a href="#org109e2e1">2.1.2. Compute</a></li>
|
||||
<li><a href="#orged63ffd">2.1.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org6890456">2.2. Electron-electron rescaled distances</a>
|
||||
<li><a href="#orgaebe994">2.2. Electron-electron rescaled distances</a>
|
||||
<ul>
|
||||
<li><a href="#org83c343b">2.2.1. Get</a></li>
|
||||
<li><a href="#org921b710">2.2.2. Compute</a></li>
|
||||
<li><a href="#orgb03bf15">2.2.3. Test</a></li>
|
||||
<li><a href="#orgb7d0320">2.2.1. Get</a></li>
|
||||
<li><a href="#orgd460445">2.2.2. Compute</a></li>
|
||||
<li><a href="#org8a86871">2.2.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org52528db">2.3. Electron-electron rescaled distance gradients and Laplacian with respect to electron coords</a>
|
||||
<li><a href="#org9d22397">2.3. Electron-electron rescaled distance gradients and Laplacian with respect to electron coords</a>
|
||||
<ul>
|
||||
<li><a href="#org2dfb2c4">2.3.1. Get</a></li>
|
||||
<li><a href="#org2ee204c">2.3.2. Compute</a></li>
|
||||
<li><a href="#org1a7e9bf">2.3.3. Test</a></li>
|
||||
<li><a href="#org0c71764">2.3.1. Get</a></li>
|
||||
<li><a href="#org9a793c0">2.3.2. Compute</a></li>
|
||||
<li><a href="#org8e50786">2.3.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org6b20948">2.4. Electron-electron potential</a>
|
||||
<li><a href="#org66b65f4">2.4. Electron-electron potential</a>
|
||||
<ul>
|
||||
<li><a href="#orgcb18f54">2.4.1. Get</a></li>
|
||||
<li><a href="#org66ed97e">2.4.2. Compute</a></li>
|
||||
<li><a href="#org5dc43f0">2.4.3. Test</a></li>
|
||||
<li><a href="#org1d85865">2.4.1. Get</a></li>
|
||||
<li><a href="#org1b7ca22">2.4.2. Compute</a></li>
|
||||
<li><a href="#org2cfc1c8">2.4.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgec445d9">2.5. Electron-nucleus distances</a>
|
||||
<li><a href="#org8d0e770">2.5. Electron-nucleus distances</a>
|
||||
<ul>
|
||||
<li><a href="#org889c323">2.5.1. Get</a></li>
|
||||
<li><a href="#org15569ea">2.5.2. Compute</a></li>
|
||||
<li><a href="#org2219c6a">2.5.3. Test</a></li>
|
||||
<li><a href="#org0dd049f">2.5.1. Get</a></li>
|
||||
<li><a href="#org831a1bb">2.5.2. Compute</a></li>
|
||||
<li><a href="#org8342e10">2.5.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orge1809f3">2.6. Electron-nucleus rescaled distances</a>
|
||||
<li><a href="#orgc5d5329">2.6. Electron-nucleus rescaled distances</a>
|
||||
<ul>
|
||||
<li><a href="#orgc99b620">2.6.1. Get</a></li>
|
||||
<li><a href="#org7c40184">2.6.2. Compute</a></li>
|
||||
<li><a href="#orgbbec858">2.6.3. Test</a></li>
|
||||
<li><a href="#orgf621bbb">2.6.1. Get</a></li>
|
||||
<li><a href="#orgae3894d">2.6.2. Compute</a></li>
|
||||
<li><a href="#org8032082">2.6.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org8a002e2">2.7. Electron-nucleus rescaled distance gradients and laplacian with respect to electron coords</a>
|
||||
<li><a href="#org784b3ab">2.7. Electron-nucleus rescaled distance gradients and laplacian with respect to electron coords</a>
|
||||
<ul>
|
||||
<li><a href="#org68581c3">2.7.1. Get</a></li>
|
||||
<li><a href="#org96f63b0">2.7.2. Compute</a></li>
|
||||
<li><a href="#orgc9e7a21">2.7.3. Test</a></li>
|
||||
<li><a href="#org8d39be9">2.7.1. Get</a></li>
|
||||
<li><a href="#orgdf94c46">2.7.2. Compute</a></li>
|
||||
<li><a href="#org694342c">2.7.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgda13ad9">2.8. Electron-nucleus potential</a>
|
||||
<li><a href="#orgc328640">2.8. Electron-nucleus potential</a>
|
||||
<ul>
|
||||
<li><a href="#org605959d">2.8.1. Get</a></li>
|
||||
<li><a href="#org05ea64d">2.8.2. Compute</a></li>
|
||||
<li><a href="#orgf39d277">2.8.3. Test</a></li>
|
||||
<li><a href="#org88f1c58">2.8.1. Get</a></li>
|
||||
<li><a href="#org1444497">2.8.2. Compute</a></li>
|
||||
<li><a href="#org76f37e2">2.8.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org28e5621">2.9. Generate initial coordinates</a></li>
|
||||
<li><a href="#org6ba12cd">2.9. Generate initial coordinates</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3bd333a" class="outline-2">
|
||||
<h2 id="org3bd333a"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-org1b32aef" class="outline-2">
|
||||
<h2 id="org1b32aef"><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-orgff90aac" class="outline-3">
|
||||
<h3 id="orgff90aac"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-org817c81b" class="outline-3">
|
||||
<h3 id="org817c81b"><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-orge2121cf" class="outline-3">
|
||||
<h3 id="orge2121cf"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-orge0d4f92" class="outline-3">
|
||||
<h3 id="orge0d4f92"><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-org628ae3a" class="outline-4">
|
||||
<h4 id="org628ae3a"><span class="section-number-4">1.2.1</span> Number of electrons</h4>
|
||||
<div id="outline-container-org19c04f5" class="outline-4">
|
||||
<h4 id="org19c04f5"><span class="section-number-4">1.2.1</span> Number of electrons</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org192dca8" class="outline-4">
|
||||
<h4 id="org192dca8"><span class="section-number-4">1.2.2</span> Number of walkers</h4>
|
||||
<div id="outline-container-orgd2a08c6" class="outline-4">
|
||||
<h4 id="orgd2a08c6"><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-org5571d1e" class="outline-4">
|
||||
<h4 id="org5571d1e"><span class="section-number-4">1.2.3</span> Scaling factors Kappa</h4>
|
||||
<div id="outline-container-org0a00add" class="outline-4">
|
||||
<h4 id="org0a00add"><span class="section-number-4">1.2.3</span> Scaling factors Kappa</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4532006" class="outline-4">
|
||||
<h4 id="org4532006"><span class="section-number-4">1.2.4</span> Electron coordinates</h4>
|
||||
<div id="outline-container-org0fd3b86" class="outline-4">
|
||||
<h4 id="org0fd3b86"><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-org246d33d" class="outline-3">
|
||||
<h3 id="org246d33d"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-orgd8a04be" class="outline-3">
|
||||
<h3 id="orgd8a04be"><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-orgcc815d2" class="outline-3">
|
||||
<h3 id="orgcc815d2"><span class="section-number-3">1.4</span> Test</h3>
|
||||
<div id="outline-container-org20ebdcb" class="outline-3">
|
||||
<h3 id="org20ebdcb"><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-orgace82a0" class="outline-2">
|
||||
<h2 id="orgace82a0"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-orgebb8c2b" class="outline-2">
|
||||
<h2 id="orgebb8c2b"><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-orgb52759b" class="outline-3">
|
||||
<h3 id="orgb52759b"><span class="section-number-3">2.1</span> Electron-electron distances</h3>
|
||||
<div id="outline-container-org346cb1f" class="outline-3">
|
||||
<h3 id="org346cb1f"><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-orgeb93002" class="outline-4">
|
||||
<h4 id="orgeb93002"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-org79cee3e" class="outline-4">
|
||||
<h4 id="org79cee3e"><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-orgcf071a3" class="outline-4">
|
||||
<h4 id="orgcf071a3"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div id="outline-container-org109e2e1" class="outline-4">
|
||||
<h4 id="org109e2e1"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-1-2">
|
||||
<table id="org6d3f78e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgcadd1a3" 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-org6b7ebda" class="outline-4">
|
||||
<h4 id="org6b7ebda"><span class="section-number-4">2.1.3</span> Test</h4>
|
||||
<div id="outline-container-orged63ffd" class="outline-4">
|
||||
<h4 id="orged63ffd"><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-org6890456" class="outline-3">
|
||||
<h3 id="org6890456"><span class="section-number-3">2.2</span> Electron-electron rescaled distances</h3>
|
||||
<div id="outline-container-orgaebe994" class="outline-3">
|
||||
<h3 id="orgaebe994"><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-org83c343b" class="outline-4">
|
||||
<h4 id="org83c343b"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div id="outline-container-orgb7d0320" class="outline-4">
|
||||
<h4 id="orgb7d0320"><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-org921b710" class="outline-4">
|
||||
<h4 id="org921b710"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div id="outline-container-orgd460445" class="outline-4">
|
||||
<h4 id="orgd460445"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-2-2">
|
||||
<table id="org9e822e9" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgc7b894c" 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-orgb03bf15" class="outline-4">
|
||||
<h4 id="orgb03bf15"><span class="section-number-4">2.2.3</span> Test</h4>
|
||||
<div id="outline-container-org8a86871" class="outline-4">
|
||||
<h4 id="org8a86871"><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-org52528db" class="outline-3">
|
||||
<h3 id="org52528db"><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-org9d22397" class="outline-3">
|
||||
<h3 id="org9d22397"><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-org2dfb2c4" class="outline-4">
|
||||
<h4 id="org2dfb2c4"><span class="section-number-4">2.3.1</span> Get</h4>
|
||||
<div id="outline-container-org0c71764" class="outline-4">
|
||||
<h4 id="org0c71764"><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-org2ee204c" class="outline-4">
|
||||
<h4 id="org2ee204c"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div id="outline-container-org9a793c0" class="outline-4">
|
||||
<h4 id="org9a793c0"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-3-2">
|
||||
<table id="orgefee991" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgff5f3d7" 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-org1a7e9bf" class="outline-4">
|
||||
<h4 id="org1a7e9bf"><span class="section-number-4">2.3.3</span> Test</h4>
|
||||
<div id="outline-container-org8e50786" class="outline-4">
|
||||
<h4 id="org8e50786"><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-org6b20948" class="outline-3">
|
||||
<h3 id="org6b20948"><span class="section-number-3">2.4</span> Electron-electron potential</h3>
|
||||
<div id="outline-container-org66b65f4" class="outline-3">
|
||||
<h3 id="org66b65f4"><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-orgcb18f54" class="outline-4">
|
||||
<h4 id="orgcb18f54"><span class="section-number-4">2.4.1</span> Get</h4>
|
||||
<div id="outline-container-org1d85865" class="outline-4">
|
||||
<h4 id="org1d85865"><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-org66ed97e" class="outline-4">
|
||||
<h4 id="org66ed97e"><span class="section-number-4">2.4.2</span> Compute</h4>
|
||||
<div id="outline-container-org1b7ca22" class="outline-4">
|
||||
<h4 id="org1b7ca22"><span class="section-number-4">2.4.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-4-2">
|
||||
<table id="orgb4aa6e3" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgcaaa4f5" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1666,8 +1666,8 @@ distance.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5dc43f0" class="outline-4">
|
||||
<h4 id="org5dc43f0"><span class="section-number-4">2.4.3</span> Test</h4>
|
||||
<div id="outline-container-org2cfc1c8" class="outline-4">
|
||||
<h4 id="org2cfc1c8"><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-orgec445d9" class="outline-3">
|
||||
<h3 id="orgec445d9"><span class="section-number-3">2.5</span> Electron-nucleus distances</h3>
|
||||
<div id="outline-container-org8d0e770" class="outline-3">
|
||||
<h3 id="org8d0e770"><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-org889c323" class="outline-4">
|
||||
<h4 id="org889c323"><span class="section-number-4">2.5.1</span> Get</h4>
|
||||
<div id="outline-container-org0dd049f" class="outline-4">
|
||||
<h4 id="org0dd049f"><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-org15569ea" class="outline-4">
|
||||
<h4 id="org15569ea"><span class="section-number-4">2.5.2</span> Compute</h4>
|
||||
<div id="outline-container-org831a1bb" class="outline-4">
|
||||
<h4 id="org831a1bb"><span class="section-number-4">2.5.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-5-2">
|
||||
<table id="org8753b40" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orge3a2efb" 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-org2219c6a" class="outline-4">
|
||||
<h4 id="org2219c6a"><span class="section-number-4">2.5.3</span> Test</h4>
|
||||
<div id="outline-container-org8342e10" class="outline-4">
|
||||
<h4 id="org8342e10"><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-orge1809f3" class="outline-3">
|
||||
<h3 id="orge1809f3"><span class="section-number-3">2.6</span> Electron-nucleus rescaled distances</h3>
|
||||
<div id="outline-container-orgc5d5329" class="outline-3">
|
||||
<h3 id="orgc5d5329"><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-orgc99b620" class="outline-4">
|
||||
<h4 id="orgc99b620"><span class="section-number-4">2.6.1</span> Get</h4>
|
||||
<div id="outline-container-orgf621bbb" class="outline-4">
|
||||
<h4 id="orgf621bbb"><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-org7c40184" class="outline-4">
|
||||
<h4 id="org7c40184"><span class="section-number-4">2.6.2</span> Compute</h4>
|
||||
<div id="outline-container-orgae3894d" class="outline-4">
|
||||
<h4 id="orgae3894d"><span class="section-number-4">2.6.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-6-2">
|
||||
<table id="org6edc4d4" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgd1bbdd2" 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-orgbbec858" class="outline-4">
|
||||
<h4 id="orgbbec858"><span class="section-number-4">2.6.3</span> Test</h4>
|
||||
<div id="outline-container-org8032082" class="outline-4">
|
||||
<h4 id="org8032082"><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-org8a002e2" class="outline-3">
|
||||
<h3 id="org8a002e2"><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-org784b3ab" class="outline-3">
|
||||
<h3 id="org784b3ab"><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-org68581c3" class="outline-4">
|
||||
<h4 id="org68581c3"><span class="section-number-4">2.7.1</span> Get</h4>
|
||||
<div id="outline-container-org8d39be9" class="outline-4">
|
||||
<h4 id="org8d39be9"><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-org96f63b0" class="outline-4">
|
||||
<h4 id="org96f63b0"><span class="section-number-4">2.7.2</span> Compute</h4>
|
||||
<div id="outline-container-orgdf94c46" class="outline-4">
|
||||
<h4 id="orgdf94c46"><span class="section-number-4">2.7.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-7-2">
|
||||
<table id="org2e0dbc4" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org92f48b2" 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-orgc9e7a21" class="outline-4">
|
||||
<h4 id="orgc9e7a21"><span class="section-number-4">2.7.3</span> Test</h4>
|
||||
<div id="outline-container-org694342c" class="outline-4">
|
||||
<h4 id="org694342c"><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-orgda13ad9" class="outline-3">
|
||||
<h3 id="orgda13ad9"><span class="section-number-3">2.8</span> Electron-nucleus potential</h3>
|
||||
<div id="outline-container-orgc328640" class="outline-3">
|
||||
<h3 id="orgc328640"><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-org605959d" class="outline-4">
|
||||
<h4 id="org605959d"><span class="section-number-4">2.8.1</span> Get</h4>
|
||||
<div id="outline-container-org88f1c58" class="outline-4">
|
||||
<h4 id="org88f1c58"><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-org05ea64d" class="outline-4">
|
||||
<h4 id="org05ea64d"><span class="section-number-4">2.8.2</span> Compute</h4>
|
||||
<div id="outline-container-org1444497" class="outline-4">
|
||||
<h4 id="org1444497"><span class="section-number-4">2.8.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-8-2">
|
||||
<table id="org1fa248b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgf3fafab" 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-orgf39d277" class="outline-4">
|
||||
<h4 id="orgf39d277"><span class="section-number-4">2.8.3</span> Test</h4>
|
||||
<div id="outline-container-org76f37e2" class="outline-4">
|
||||
<h4 id="org76f37e2"><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-org28e5621" class="outline-3">
|
||||
<h3 id="org28e5621"><span class="section-number-3">2.9</span> Generate initial coordinates</h3>
|
||||
<div id="outline-container-org6ba12cd" class="outline-3">
|
||||
<h3 id="org6ba12cd"><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-06-15 Wed 14:22</p>
|
||||
<p class="date">Created: 2022-06-15 Wed 17:18</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-06-15 Wed 14:21 -->
|
||||
<!-- 2022-06-15 Wed 17:18 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Error handling</title>
|
||||
@ -311,19 +311,19 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org5e951d7">-</a></li>
|
||||
<li><a href="#org0a5c8db">1. Decoding errors</a></li>
|
||||
<li><a href="#org60145a7">2. Data structure in context</a></li>
|
||||
<li><a href="#org2566b16">3. Updating errors in the context</a></li>
|
||||
<li><a href="#org10f74b9">4. Get the error</a></li>
|
||||
<li><a href="#orga483408">5. Failing</a></li>
|
||||
<li><a href="#orgb895c62">-</a></li>
|
||||
<li><a href="#org8c0ad59">1. Decoding errors</a></li>
|
||||
<li><a href="#org80243b9">2. Data structure in context</a></li>
|
||||
<li><a href="#org934f224">3. Updating errors in the context</a></li>
|
||||
<li><a href="#org46f8ff5">4. Get the error</a></li>
|
||||
<li><a href="#orga42b1de">5. Failing</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5e951d7" class="outline-2">
|
||||
<h2 id="org5e951d7">-</h2>
|
||||
<div class="outline-text-2" id="text-org5e951d7">
|
||||
<div id="outline-container-orgb895c62" class="outline-2">
|
||||
<h2 id="orgb895c62">-</h2>
|
||||
<div class="outline-text-2" id="text-orgb895c62">
|
||||
<p>
|
||||
The library should never make the calling programs abort, nor
|
||||
perform any input/output operations. This decision has to be taken
|
||||
@ -334,7 +334,7 @@ by the developer of the code calling the library.
|
||||
All the functions return with an exit code, defined as
|
||||
</p>
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c" id="orgfd9581f"><span style="color: #a020f0;">typedef</span> <span style="color: #228b22;">int32_t</span> <span style="color: #228b22;">qmckl_exit_code</span>;
|
||||
<pre class="src src-c" id="org55f1f60"><span style="color: #a020f0;">typedef</span> <span style="color: #228b22;">int32_t</span> <span style="color: #228b22;">qmckl_exit_code</span>;
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
@ -351,7 +351,7 @@ error code is returned to the program.
|
||||
Here is the complete list of exit codes.
|
||||
</p>
|
||||
|
||||
<table id="org73f30a3" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgc5336b7" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -553,8 +553,8 @@ string is assumed to be large enough to contain the error message
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0a5c8db" class="outline-2">
|
||||
<h2 id="org0a5c8db"><span class="section-number-2">1</span> Decoding errors</h2>
|
||||
<div id="outline-container-org8c0ad59" class="outline-2">
|
||||
<h2 id="org8c0ad59"><span class="section-number-2">1</span> Decoding errors</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
To decode the error messages, <code>qmckl_string_of_error</code> converts an
|
||||
@ -572,8 +572,8 @@ The text strings are extracted from the previous table.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org60145a7" class="outline-2">
|
||||
<h2 id="org60145a7"><span class="section-number-2">2</span> Data structure in context</h2>
|
||||
<div id="outline-container-org80243b9" class="outline-2">
|
||||
<h2 id="org80243b9"><span class="section-number-2">2</span> Data structure in context</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
<p>
|
||||
The strings are declared internally with a maximum fixed size to avoid
|
||||
@ -596,8 +596,8 @@ dynamic memory allocation.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2566b16" class="outline-2">
|
||||
<h2 id="org2566b16"><span class="section-number-2">3</span> Updating errors in the context</h2>
|
||||
<div id="outline-container-org934f224" class="outline-2">
|
||||
<h2 id="org934f224"><span class="section-number-2">3</span> Updating errors in the context</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
<p>
|
||||
The error is updated in the context using <code>qmckl_set_error</code>.
|
||||
@ -616,8 +616,8 @@ explaining the error. The exit code can't be <code>QMCKL_SUCCESS</code>.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org10f74b9" class="outline-2">
|
||||
<h2 id="org10f74b9"><span class="section-number-2">4</span> Get the error</h2>
|
||||
<div id="outline-container-org46f8ff5" class="outline-2">
|
||||
<h2 id="org46f8ff5"><span class="section-number-2">4</span> Get the error</h2>
|
||||
<div class="outline-text-2" id="text-4">
|
||||
<p>
|
||||
Upon error, the error type and message can be obtained from the
|
||||
@ -636,8 +636,8 @@ function name and message is mandatory.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orga483408" class="outline-2">
|
||||
<h2 id="orga483408"><span class="section-number-2">5</span> Failing</h2>
|
||||
<div id="outline-container-orga42b1de" class="outline-2">
|
||||
<h2 id="orga42b1de"><span class="section-number-2">5</span> Failing</h2>
|
||||
<div class="outline-text-2" id="text-5">
|
||||
<p>
|
||||
To make a function fail, the <code>qmckl_failwith</code> function should be
|
||||
@ -676,7 +676,7 @@ For example, this function can be used as
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-06-15 Wed 14:21</p>
|
||||
<p class="date">Created: 2022-06-15 Wed 17:18</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-06-15 Wed 14:21 -->
|
||||
<!-- 2022-06-15 Wed 17:18 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Code examples</title>
|
||||
@ -333,27 +333,27 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#orgd593c91">1. Python</a>
|
||||
<li><a href="#org1e9dce7">1. Python</a>
|
||||
<ul>
|
||||
<li><a href="#org570f204">1.1. Check numerically that MOs are orthonormal</a></li>
|
||||
<li><a href="#org295f915">1.1. Check numerically that MOs are orthonormal</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org952ade8">2. Fortran</a>
|
||||
<li><a href="#org9059c78">2. Fortran</a>
|
||||
<ul>
|
||||
<li><a href="#orgba4a680">2.1. Checking errors</a></li>
|
||||
<li><a href="#org5da5d01">2.2. Computing an atomic orbital on a grid</a></li>
|
||||
<li><a href="#org31ddb56">2.1. Checking errors</a></li>
|
||||
<li><a href="#orgc1068ec">2.2. Computing an atomic orbital on a grid</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd593c91" class="outline-2">
|
||||
<h2 id="orgd593c91"><span class="section-number-2">1</span> Python</h2>
|
||||
<div id="outline-container-org1e9dce7" class="outline-2">
|
||||
<h2 id="org1e9dce7"><span class="section-number-2">1</span> Python</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
</div>
|
||||
<div id="outline-container-org570f204" class="outline-3">
|
||||
<h3 id="org570f204"><span class="section-number-3">1.1</span> Check numerically that MOs are orthonormal</h3>
|
||||
<div id="outline-container-org295f915" class="outline-3">
|
||||
<h3 id="org295f915"><span class="section-number-3">1.1</span> Check numerically that MOs are orthonormal</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<p>
|
||||
In this example, we will compute numerically the overlap
|
||||
@ -529,12 +529,12 @@ and finally we compute the overlap between all the MOs as
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org952ade8" class="outline-2">
|
||||
<h2 id="org952ade8"><span class="section-number-2">2</span> Fortran</h2>
|
||||
<div id="outline-container-org9059c78" class="outline-2">
|
||||
<h2 id="org9059c78"><span class="section-number-2">2</span> Fortran</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-orgba4a680" class="outline-3">
|
||||
<h3 id="orgba4a680"><span class="section-number-3">2.1</span> Checking errors</h3>
|
||||
<div id="outline-container-org31ddb56" class="outline-3">
|
||||
<h3 id="org31ddb56"><span class="section-number-3">2.1</span> Checking errors</h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
<p>
|
||||
All QMCkl functions return an error code. A convenient way to handle
|
||||
@ -543,7 +543,7 @@ error in text format and exits the program.
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90" id="org4506406"><span style="color: #a020f0;">subroutine</span> <span style="color: #0000ff;">qmckl_check_error</span>(rc, message)
|
||||
<pre class="src src-f90" id="org1a64a3c"><span style="color: #a020f0;">subroutine</span> <span style="color: #0000ff;">qmckl_check_error</span>(rc, message)
|
||||
<span style="color: #a020f0;">use</span> <span style="color: #0000ff;">qmckl</span>
|
||||
<span style="color: #a020f0;">implicit</span> <span style="color: #228b22;">none</span>
|
||||
<span style="color: #228b22;">integer</span>(qmckl_exit_code), <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> rc</span>
|
||||
@ -561,8 +561,8 @@ error in text format and exits the program.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5da5d01" class="outline-3">
|
||||
<h3 id="org5da5d01"><span class="section-number-3">2.2</span> Computing an atomic orbital on a grid</h3>
|
||||
<div id="outline-container-orgc1068ec" class="outline-3">
|
||||
<h3 id="orgc1068ec"><span class="section-number-3">2.2</span> Computing an atomic orbital on a grid</h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
<p>
|
||||
The following program, in Fortran, computes the values of an atomic
|
||||
@ -781,7 +781,7 @@ We finally print the value and Laplacian of the AO:
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-06-15 Wed 14:21</p>
|
||||
<p class="date">Created: 2022-06-15 Wed 17:18</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-06-15 Wed 14:22 -->
|
||||
<!-- 2022-06-15 Wed 17:18 -->
|
||||
<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="#orgca7ca05">1. Introduction</a></li>
|
||||
<li><a href="#org549e3fb">2. Context</a>
|
||||
<li><a href="#org20799b0">1. Introduction</a></li>
|
||||
<li><a href="#orgd74c895">2. Context</a>
|
||||
<ul>
|
||||
<li><a href="#orgc0c827f">2.1. Data structure</a></li>
|
||||
<li><a href="#orgd60a168">2.2. Access functions</a></li>
|
||||
<li><a href="#orge474e86">2.3. Initialization functions</a></li>
|
||||
<li><a href="#org6a069f8">2.4. Test</a></li>
|
||||
<li><a href="#orga0af19d">2.1. Data structure</a></li>
|
||||
<li><a href="#orgd36c970">2.2. Access functions</a></li>
|
||||
<li><a href="#org37ff910">2.3. Initialization functions</a></li>
|
||||
<li><a href="#org7574a85">2.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgd36b092">3. Computation</a>
|
||||
<li><a href="#org05be7e1">3. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#org453ef76">3.1. Asymptotic component for \(J_{ee}\)</a>
|
||||
<li><a href="#orgb2497ad">3.1. Asymptotic component for \(J_{ee}\)</a>
|
||||
<ul>
|
||||
<li><a href="#org6fd574a">3.1.1. Get</a></li>
|
||||
<li><a href="#org3e281ee">3.1.2. Compute</a></li>
|
||||
<li><a href="#org3da9f5e">3.1.3. Test</a></li>
|
||||
<li><a href="#org7c36662">3.1.1. Get</a></li>
|
||||
<li><a href="#org64973ab">3.1.2. Compute</a></li>
|
||||
<li><a href="#orgb33dc4f">3.1.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org10ac57e">3.2. Electron-electron component \(f_{ee}\)</a>
|
||||
<li><a href="#orgaa28bd1">3.2. Electron-electron component \(f_{ee}\)</a>
|
||||
<ul>
|
||||
<li><a href="#org7e76929">3.2.1. Get</a></li>
|
||||
<li><a href="#org5449a83">3.2.2. Compute</a></li>
|
||||
<li><a href="#org7e19a8c">3.2.3. Test</a></li>
|
||||
<li><a href="#org9c6f434">3.2.1. Get</a></li>
|
||||
<li><a href="#orge770abe">3.2.2. Compute</a></li>
|
||||
<li><a href="#org0aa24cf">3.2.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgc6d7682">3.3. Electron-electron component derivative \(f'_{ee}\)</a>
|
||||
<li><a href="#org442706f">3.3. Electron-electron component derivative \(f'_{ee}\)</a>
|
||||
<ul>
|
||||
<li><a href="#orgb4c28da">3.3.1. Get</a></li>
|
||||
<li><a href="#org33d5c0f">3.3.2. Compute</a></li>
|
||||
<li><a href="#org60a4106">3.3.3. Test</a></li>
|
||||
<li><a href="#org8edd815">3.3.1. Get</a></li>
|
||||
<li><a href="#orgd7f66e2">3.3.2. Compute</a></li>
|
||||
<li><a href="#org042ebd4">3.3.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org6b8578a">3.4. Electron-nucleus component \(f_{en}\)</a>
|
||||
<li><a href="#orgea93f82">3.4. Electron-nucleus component \(f_{en}\)</a>
|
||||
<ul>
|
||||
<li><a href="#orgdaa6310">3.4.1. Get</a></li>
|
||||
<li><a href="#orgf1e1b92">3.4.2. Compute</a></li>
|
||||
<li><a href="#org6860714">3.4.3. Test</a></li>
|
||||
<li><a href="#org3477442">3.4.1. Get</a></li>
|
||||
<li><a href="#org223335b">3.4.2. Compute</a></li>
|
||||
<li><a href="#org7d34024">3.4.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org27dc8c5">3.5. Electron-nucleus component derivative \(f'_{en}\)</a>
|
||||
<li><a href="#org9bd0854">3.5. Electron-nucleus component derivative \(f'_{en}\)</a>
|
||||
<ul>
|
||||
<li><a href="#orge9b546c">3.5.1. Get</a></li>
|
||||
<li><a href="#org6f23ec0">3.5.2. Compute</a></li>
|
||||
<li><a href="#orgd05e619">3.5.3. Test</a></li>
|
||||
<li><a href="#org5bf8803">3.5.1. Get</a></li>
|
||||
<li><a href="#org4039a45">3.5.2. Compute</a></li>
|
||||
<li><a href="#orga332b8d">3.5.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org0be7401">3.6. Electron-electron rescaled distances for each order</a>
|
||||
<li><a href="#orgbc0d0e9">3.6. Electron-electron rescaled distances for each order</a>
|
||||
<ul>
|
||||
<li><a href="#org1e2ef3d">3.6.1. Get</a></li>
|
||||
<li><a href="#org9aeff41">3.6.2. Compute</a></li>
|
||||
<li><a href="#orgc85a468">3.6.3. Test</a></li>
|
||||
<li><a href="#org4a39a90">3.6.1. Get</a></li>
|
||||
<li><a href="#org652a1ad">3.6.2. Compute</a></li>
|
||||
<li><a href="#orgb66aab8">3.6.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgb0bc6ab">3.7. Electron-electron rescaled distances for each order and derivatives</a>
|
||||
<li><a href="#org2885bf0">3.7. Electron-electron rescaled distances for each order and derivatives</a>
|
||||
<ul>
|
||||
<li><a href="#orgee84a7c">3.7.1. Get</a></li>
|
||||
<li><a href="#org0c05fb7">3.7.2. Compute</a></li>
|
||||
<li><a href="#orgfb5d0f7">3.7.3. Test</a></li>
|
||||
<li><a href="#org1a13ea0">3.7.1. Get</a></li>
|
||||
<li><a href="#orga5330df">3.7.2. Compute</a></li>
|
||||
<li><a href="#org6f2194b">3.7.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org381622e">3.8. Electron-nucleus rescaled distances for each order</a>
|
||||
<li><a href="#orgab52f8c">3.8. Electron-nucleus rescaled distances for each order</a>
|
||||
<ul>
|
||||
<li><a href="#org6131e5a">3.8.1. Get</a></li>
|
||||
<li><a href="#orgdc32a0b">3.8.2. Compute</a></li>
|
||||
<li><a href="#org76fb055">3.8.3. Test</a></li>
|
||||
<li><a href="#orgebd46a7">3.8.1. Get</a></li>
|
||||
<li><a href="#org2d54b4b">3.8.2. Compute</a></li>
|
||||
<li><a href="#org8eb158c">3.8.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgd94bb28">3.9. Electron-nucleus rescaled distances for each order and derivatives</a>
|
||||
<li><a href="#org36fa1e5">3.9. Electron-nucleus rescaled distances for each order and derivatives</a>
|
||||
<ul>
|
||||
<li><a href="#org0536f18">3.9.1. Get</a></li>
|
||||
<li><a href="#org9b3299c">3.9.2. Compute</a></li>
|
||||
<li><a href="#org5605ed4">3.9.3. Test</a></li>
|
||||
<li><a href="#org4dd98ba">3.9.1. Get</a></li>
|
||||
<li><a href="#orgfd35579">3.9.2. Compute</a></li>
|
||||
<li><a href="#org7930332">3.9.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org8572bc9">3.10. Prepare for electron-electron-nucleus Jastrow \(f_{een}\)</a>
|
||||
<li><a href="#org6cc1d1f">3.10. Prepare for electron-electron-nucleus Jastrow \(f_{een}\)</a>
|
||||
<ul>
|
||||
<li><a href="#org625cbd2">3.10.1. Get</a></li>
|
||||
<li><a href="#orge612993">3.10.2. Compute dim<sub>cord</sub><sub>vect</sub></a></li>
|
||||
<li><a href="#org33a6a4b">3.10.3. Compute cord<sub>vect</sub><sub>full</sub></a></li>
|
||||
<li><a href="#org7161721">3.10.4. Compute lkpm<sub>combined</sub><sub>index</sub></a></li>
|
||||
<li><a href="#org4878de4">3.10.5. Compute tmp<sub>c</sub></a></li>
|
||||
<li><a href="#org21e35ab">3.10.6. Compute dtmp<sub>c</sub></a></li>
|
||||
<li><a href="#org0a7e11c">3.10.7. Test</a></li>
|
||||
<li><a href="#orgd567a4a">3.10.1. Get</a></li>
|
||||
<li><a href="#org256c14f">3.10.2. Compute dim<sub>cord</sub><sub>vect</sub></a></li>
|
||||
<li><a href="#org84bb45d">3.10.3. Compute cord<sub>vect</sub><sub>full</sub></a></li>
|
||||
<li><a href="#org01399ab">3.10.4. Compute lkpm<sub>combined</sub><sub>index</sub></a></li>
|
||||
<li><a href="#orgb91f873">3.10.5. Compute tmp<sub>c</sub></a></li>
|
||||
<li><a href="#orgf699c72">3.10.6. Compute dtmp<sub>c</sub></a></li>
|
||||
<li><a href="#orgd880bf9">3.10.7. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgd56e111">3.11. Electron-electron-nucleus Jastrow \(f_{een}\)</a>
|
||||
<li><a href="#org8f41432">3.11. Electron-electron-nucleus Jastrow \(f_{een}\)</a>
|
||||
<ul>
|
||||
<li><a href="#orgd0dfda1">3.11.1. Get</a></li>
|
||||
<li><a href="#org6acf961">3.11.2. Compute naive</a></li>
|
||||
<li><a href="#org1de2b35">3.11.3. Compute</a></li>
|
||||
<li><a href="#orgc0bf906">3.11.4. Test</a></li>
|
||||
<li><a href="#org1dbc50d">3.11.1. Get</a></li>
|
||||
<li><a href="#org36ac010">3.11.2. Compute naive</a></li>
|
||||
<li><a href="#org448cc55">3.11.3. Compute</a></li>
|
||||
<li><a href="#orgaf1be78">3.11.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org65b89be">3.12. Electron-electron-nucleus Jastrow \(f_{een}\) derivative</a>
|
||||
<li><a href="#org976cec7">3.12. Electron-electron-nucleus Jastrow \(f_{een}\) derivative</a>
|
||||
<ul>
|
||||
<li><a href="#orgbfe5dfd">3.12.1. Get</a></li>
|
||||
<li><a href="#org459b0bd">3.12.2. Compute Naive</a></li>
|
||||
<li><a href="#org1c62069">3.12.3. Compute</a></li>
|
||||
<li><a href="#org3bf07eb">3.12.4. Test</a></li>
|
||||
<li><a href="#org15ce7d7">3.12.1. Get</a></li>
|
||||
<li><a href="#orgac9e497">3.12.2. Compute Naive</a></li>
|
||||
<li><a href="#org93ad276">3.12.3. Compute</a></li>
|
||||
<li><a href="#orgd8631a1">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-orgca7ca05" class="outline-2">
|
||||
<h2 id="orgca7ca05"><span class="section-number-2">1</span> Introduction</h2>
|
||||
<div id="outline-container-org20799b0" class="outline-2">
|
||||
<h2 id="org20799b0"><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
|
||||
@ -522,14 +522,14 @@ The terms \(J_{\text{ee}}^\infty\) and \(J_{\text{eN}}^\infty\) are shifts to en
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org549e3fb" class="outline-2">
|
||||
<h2 id="org549e3fb"><span class="section-number-2">2</span> Context</h2>
|
||||
<div id="outline-container-orgd74c895" class="outline-2">
|
||||
<h2 id="orgd74c895"><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="org5337956" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgb5ee44a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -833,8 +833,8 @@ computed data:
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc0c827f" class="outline-3">
|
||||
<h3 id="orgc0c827f"><span class="section-number-3">2.1</span> Data structure</h3>
|
||||
<div id="outline-container-orga0af19d" class="outline-3">
|
||||
<h3 id="orga0af19d"><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>{
|
||||
@ -925,8 +925,8 @@ this mechanism.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd60a168" class="outline-3">
|
||||
<h3 id="orgd60a168"><span class="section-number-3">2.2</span> Access functions</h3>
|
||||
<div id="outline-container-orgd36c970" class="outline-3">
|
||||
<h3 id="orgd36c970"><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
|
||||
@ -946,8 +946,8 @@ function returns <code>true</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge474e86" class="outline-3">
|
||||
<h3 id="orge474e86"><span class="section-number-3">2.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-org37ff910" class="outline-3">
|
||||
<h3 id="org37ff910"><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
|
||||
@ -972,8 +972,8 @@ are precontracted using BLAS LEVEL 3 operations for an optimal flop count.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6a069f8" class="outline-3">
|
||||
<h3 id="org6a069f8"><span class="section-number-3">2.4</span> Test</h3>
|
||||
<div id="outline-container-org7574a85" class="outline-3">
|
||||
<h3 id="org7574a85"><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>*/
|
||||
@ -1149,8 +1149,8 @@ rc = qmckl_get_nucleus_charge(context, nucl_charge2, nucl_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd36b092" class="outline-2">
|
||||
<h2 id="orgd36b092"><span class="section-number-2">3</span> Computation</h2>
|
||||
<div id="outline-container-org05be7e1" class="outline-2">
|
||||
<h2 id="org05be7e1"><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
|
||||
@ -1163,8 +1163,8 @@ current date is stored.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org453ef76" class="outline-3">
|
||||
<h3 id="org453ef76"><span class="section-number-3">3.1</span> Asymptotic component for \(J_{ee}\)</h3>
|
||||
<div id="outline-container-orgb2497ad" class="outline-3">
|
||||
<h3 id="orgb2497ad"><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
|
||||
@ -1179,8 +1179,8 @@ via the <code>bord_vector</code> and the electron-electron rescale factor <code>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6fd574a" class="outline-4">
|
||||
<h4 id="org6fd574a"><span class="section-number-4">3.1.1</span> Get</h4>
|
||||
<div id="outline-container-org7c36662" class="outline-4">
|
||||
<h4 id="org7c36662"><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>
|
||||
@ -1192,10 +1192,10 @@ via the <code>bord_vector</code> and the electron-electron rescale factor <code>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3e281ee" class="outline-4">
|
||||
<h4 id="org3e281ee"><span class="section-number-4">3.1.2</span> Compute</h4>
|
||||
<div id="outline-container-org64973ab" class="outline-4">
|
||||
<h4 id="org64973ab"><span class="section-number-4">3.1.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-3-1-2">
|
||||
<table id="org8035d72" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org48ec88e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1331,8 +1331,8 @@ via the <code>bord_vector</code> and the electron-electron rescale factor <code>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3da9f5e" class="outline-4">
|
||||
<h4 id="org3da9f5e"><span class="section-number-4">3.1.3</span> Test</h4>
|
||||
<div id="outline-container-orgb33dc4f" class="outline-4">
|
||||
<h4 id="orgb33dc4f"><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>));
|
||||
@ -1383,8 +1383,8 @@ rc = qmckl_get_jastrow_asymp_jasb(context, asymp_jasb,2);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org10ac57e" class="outline-3">
|
||||
<h3 id="org10ac57e"><span class="section-number-3">3.2</span> Electron-electron component \(f_{ee}\)</h3>
|
||||
<div id="outline-container-orgaa28bd1" class="outline-3">
|
||||
<h3 id="orgaa28bd1"><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>
|
||||
@ -1399,8 +1399,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-org7e76929" class="outline-4">
|
||||
<h4 id="org7e76929"><span class="section-number-4">3.2.1</span> Get</h4>
|
||||
<div id="outline-container-org9c6f434" class="outline-4">
|
||||
<h4 id="org9c6f434"><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>
|
||||
@ -1412,10 +1412,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-org5449a83" class="outline-4">
|
||||
<h4 id="org5449a83"><span class="section-number-4">3.2.2</span> Compute</h4>
|
||||
<div id="outline-container-orge770abe" class="outline-4">
|
||||
<h4 id="orge770abe"><span class="section-number-4">3.2.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-3-2-2">
|
||||
<table id="orgd3d9045" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgac4edec" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1642,8 +1642,8 @@ 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-org7e19a8c" class="outline-4">
|
||||
<h4 id="org7e19a8c"><span class="section-number-4">3.2.3</span> Test</h4>
|
||||
<div id="outline-container-org0aa24cf" class="outline-4">
|
||||
<h4 id="org0aa24cf"><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>*/
|
||||
@ -1661,8 +1661,8 @@ rc = qmckl_get_jastrow_factor_ee(context, factor_ee, walk_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc6d7682" class="outline-3">
|
||||
<h3 id="orgc6d7682"><span class="section-number-3">3.3</span> Electron-electron component derivative \(f'_{ee}\)</h3>
|
||||
<div id="outline-container-org442706f" class="outline-3">
|
||||
<h3 id="org442706f"><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
|
||||
@ -1677,8 +1677,8 @@ TODO: Add equation
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgb4c28da" class="outline-4">
|
||||
<h4 id="orgb4c28da"><span class="section-number-4">3.3.1</span> Get</h4>
|
||||
<div id="outline-container-org8edd815" class="outline-4">
|
||||
<h4 id="org8edd815"><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>
|
||||
@ -1690,10 +1690,10 @@ TODO: Add equation
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org33d5c0f" class="outline-4">
|
||||
<h4 id="org33d5c0f"><span class="section-number-4">3.3.2</span> Compute</h4>
|
||||
<div id="outline-container-orgd7f66e2" class="outline-4">
|
||||
<h4 id="orgd7f66e2"><span class="section-number-4">3.3.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-3-3-2">
|
||||
<table id="org9574825" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgba68484" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2055,8 +2055,8 @@ TODO: Add equation
|
||||
|
||||
|
||||
|
||||
<div id="outline-container-org60a4106" class="outline-4">
|
||||
<h4 id="org60a4106"><span class="section-number-4">3.3.3</span> Test</h4>
|
||||
<div id="outline-container-org042ebd4" class="outline-4">
|
||||
<h4 id="org042ebd4"><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>*/
|
||||
@ -2077,8 +2077,8 @@ rc = qmckl_get_jastrow_factor_ee_deriv_e(context, &(factor_ee_deriv_e[0][0][
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6b8578a" class="outline-3">
|
||||
<h3 id="org6b8578a"><span class="section-number-3">3.4</span> Electron-nucleus component \(f_{en}\)</h3>
|
||||
<div id="outline-container-orgea93f82" class="outline-3">
|
||||
<h3 id="orgea93f82"><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>
|
||||
@ -2093,8 +2093,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-orgdaa6310" class="outline-4">
|
||||
<h4 id="orgdaa6310"><span class="section-number-4">3.4.1</span> Get</h4>
|
||||
<div id="outline-container-org3477442" class="outline-4">
|
||||
<h4 id="org3477442"><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>
|
||||
@ -2106,10 +2106,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-orgf1e1b92" class="outline-4">
|
||||
<h4 id="orgf1e1b92"><span class="section-number-4">3.4.2</span> Compute</h4>
|
||||
<div id="outline-container-org223335b" class="outline-4">
|
||||
<h4 id="org223335b"><span class="section-number-4">3.4.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-3-4-2">
|
||||
<table id="orge5d1d43" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org3d54622" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2362,8 +2362,8 @@ 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-org6860714" class="outline-4">
|
||||
<h4 id="org6860714"><span class="section-number-4">3.4.3</span> Test</h4>
|
||||
<div id="outline-container-org7d34024" class="outline-4">
|
||||
<h4 id="org7d34024"><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>*/
|
||||
@ -2381,8 +2381,8 @@ rc = qmckl_get_jastrow_factor_en(context, factor_en,walk_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org27dc8c5" class="outline-3">
|
||||
<h3 id="org27dc8c5"><span class="section-number-3">3.5</span> Electron-nucleus component derivative \(f'_{en}\)</h3>
|
||||
<div id="outline-container-org9bd0854" class="outline-3">
|
||||
<h3 id="org9bd0854"><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
|
||||
@ -2395,8 +2395,8 @@ TODO: write equations.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge9b546c" class="outline-4">
|
||||
<h4 id="orge9b546c"><span class="section-number-4">3.5.1</span> Get</h4>
|
||||
<div id="outline-container-org5bf8803" class="outline-4">
|
||||
<h4 id="org5bf8803"><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>
|
||||
@ -2408,10 +2408,10 @@ TODO: write equations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6f23ec0" class="outline-4">
|
||||
<h4 id="org6f23ec0"><span class="section-number-4">3.5.2</span> Compute</h4>
|
||||
<div id="outline-container-org4039a45" class="outline-4">
|
||||
<h4 id="org4039a45"><span class="section-number-4">3.5.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-3-5-2">
|
||||
<table id="org01f9ece" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org407fc59" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2616,8 +2616,8 @@ TODO: write equations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd05e619" class="outline-4">
|
||||
<h4 id="orgd05e619"><span class="section-number-4">3.5.3</span> Test</h4>
|
||||
<div id="outline-container-orga332b8d" class="outline-4">
|
||||
<h4 id="orga332b8d"><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>*/
|
||||
@ -2639,8 +2639,8 @@ rc = qmckl_get_jastrow_factor_en_deriv_e(context, &(factor_en_deriv_e[0][0][
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0be7401" class="outline-3">
|
||||
<h3 id="org0be7401"><span class="section-number-3">3.6</span> Electron-electron rescaled distances for each order</h3>
|
||||
<div id="outline-container-orgbc0d0e9" class="outline-3">
|
||||
<h3 id="orgbc0d0e9"><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
|
||||
@ -2658,8 +2658,8 @@ where \(C_{ij}\) is the matrix of electron-electron distances.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1e2ef3d" class="outline-4">
|
||||
<h4 id="org1e2ef3d"><span class="section-number-4">3.6.1</span> Get</h4>
|
||||
<div id="outline-container-org4a39a90" class="outline-4">
|
||||
<h4 id="org4a39a90"><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>
|
||||
@ -2671,10 +2671,10 @@ where \(C_{ij}\) is the matrix of electron-electron distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9aeff41" class="outline-4">
|
||||
<h4 id="org9aeff41"><span class="section-number-4">3.6.2</span> Compute</h4>
|
||||
<div id="outline-container-org652a1ad" class="outline-4">
|
||||
<h4 id="org652a1ad"><span class="section-number-4">3.6.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-3-6-2">
|
||||
<table id="orgf7c3750" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org1b0cdb4" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3003,8 +3003,8 @@ where \(C_{ij}\) is the matrix of electron-electron distances.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgc85a468" class="outline-4">
|
||||
<h4 id="orgc85a468"><span class="section-number-4">3.6.3</span> Test</h4>
|
||||
<div id="outline-container-orgb66aab8" class="outline-4">
|
||||
<h4 id="orgb66aab8"><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>));
|
||||
@ -3026,8 +3026,8 @@ rc = qmckl_get_jastrow_een_rescaled_e(context, &(een_rescaled_e[0][0][0][0])
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb0bc6ab" class="outline-3">
|
||||
<h3 id="orgb0bc6ab"><span class="section-number-3">3.7</span> Electron-electron rescaled distances for each order and derivatives</h3>
|
||||
<div id="outline-container-org2885bf0" class="outline-3">
|
||||
<h3 id="org2885bf0"><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
|
||||
@ -3042,8 +3042,8 @@ TODO: write formulae
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgee84a7c" class="outline-4">
|
||||
<h4 id="orgee84a7c"><span class="section-number-4">3.7.1</span> Get</h4>
|
||||
<div id="outline-container-org1a13ea0" class="outline-4">
|
||||
<h4 id="org1a13ea0"><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>
|
||||
@ -3055,10 +3055,10 @@ TODO: write formulae
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0c05fb7" class="outline-4">
|
||||
<h4 id="org0c05fb7"><span class="section-number-4">3.7.2</span> Compute</h4>
|
||||
<div id="outline-container-orga5330df" class="outline-4">
|
||||
<h4 id="orga5330df"><span class="section-number-4">3.7.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-3-7-2">
|
||||
<table id="org967cc76" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org025e105" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3236,8 +3236,8 @@ TODO: write formulae
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgfb5d0f7" class="outline-4">
|
||||
<h4 id="orgfb5d0f7"><span class="section-number-4">3.7.3</span> Test</h4>
|
||||
<div id="outline-container-org6f2194b" class="outline-4">
|
||||
<h4 id="org6f2194b"><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>
|
||||
@ -3259,8 +3259,8 @@ rc = qmckl_get_jastrow_een_rescaled_e_deriv_e(context,
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org381622e" class="outline-3">
|
||||
<h3 id="org381622e"><span class="section-number-3">3.8</span> Electron-nucleus rescaled distances for each order</h3>
|
||||
<div id="outline-container-orgab52f8c" class="outline-3">
|
||||
<h3 id="orgab52f8c"><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
|
||||
@ -3278,8 +3278,8 @@ where \(C_{ia}\) is the matrix of electron-nucleus distances.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6131e5a" class="outline-4">
|
||||
<h4 id="org6131e5a"><span class="section-number-4">3.8.1</span> Get</h4>
|
||||
<div id="outline-container-orgebd46a7" class="outline-4">
|
||||
<h4 id="orgebd46a7"><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>
|
||||
@ -3291,10 +3291,10 @@ where \(C_{ia}\) is the matrix of electron-nucleus distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgdc32a0b" class="outline-4">
|
||||
<h4 id="orgdc32a0b"><span class="section-number-4">3.8.2</span> Compute</h4>
|
||||
<div id="outline-container-org2d54b4b" class="outline-4">
|
||||
<h4 id="org2d54b4b"><span class="section-number-4">3.8.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-3-8-2">
|
||||
<table id="org5823e3a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org1deacee" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3511,8 +3511,8 @@ where \(C_{ia}\) is the matrix of electron-nucleus distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org76fb055" class="outline-4">
|
||||
<h4 id="org76fb055"><span class="section-number-4">3.8.3</span> Test</h4>
|
||||
<div id="outline-container-org8eb158c" class="outline-4">
|
||||
<h4 id="org8eb158c"><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>));
|
||||
@ -3534,8 +3534,8 @@ rc = qmckl_get_jastrow_een_rescaled_n(context, &(een_rescaled_n[0][0][0][0])
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd94bb28" class="outline-3">
|
||||
<h3 id="orgd94bb28"><span class="section-number-3">3.9</span> Electron-nucleus rescaled distances for each order and derivatives</h3>
|
||||
<div id="outline-container-org36fa1e5" class="outline-3">
|
||||
<h3 id="org36fa1e5"><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
|
||||
@ -3544,8 +3544,8 @@ electrons and nucleii raised to the power \(p\) defined by <code>cord_num</code>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org0536f18" class="outline-4">
|
||||
<h4 id="org0536f18"><span class="section-number-4">3.9.1</span> Get</h4>
|
||||
<div id="outline-container-org4dd98ba" class="outline-4">
|
||||
<h4 id="org4dd98ba"><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>
|
||||
@ -3557,10 +3557,10 @@ electrons and nucleii raised to the power \(p\) defined by <code>cord_num</code>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9b3299c" class="outline-4">
|
||||
<h4 id="org9b3299c"><span class="section-number-4">3.9.2</span> Compute</h4>
|
||||
<div id="outline-container-orgfd35579" class="outline-4">
|
||||
<h4 id="orgfd35579"><span class="section-number-4">3.9.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-3-9-2">
|
||||
<table id="org3405baf" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgc81cc68" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3760,8 +3760,8 @@ electrons and nucleii raised to the power \(p\) defined by <code>cord_num</code>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5605ed4" class="outline-4">
|
||||
<h4 id="org5605ed4"><span class="section-number-4">3.9.3</span> Test</h4>
|
||||
<div id="outline-container-org7930332" class="outline-4">
|
||||
<h4 id="org7930332"><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>));
|
||||
@ -3784,8 +3784,8 @@ rc = qmckl_get_jastrow_een_rescaled_n_deriv_e(context, &(een_rescaled_n_deri
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8572bc9" class="outline-3">
|
||||
<h3 id="org8572bc9"><span class="section-number-3">3.10</span> Prepare for electron-electron-nucleus Jastrow \(f_{een}\)</h3>
|
||||
<div id="outline-container-org6cc1d1f" class="outline-3">
|
||||
<h3 id="org6cc1d1f"><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
|
||||
@ -3794,8 +3794,8 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org625cbd2" class="outline-4">
|
||||
<h4 id="org625cbd2"><span class="section-number-4">3.10.1</span> Get</h4>
|
||||
<div id="outline-container-orgd567a4a" class="outline-4">
|
||||
<h4 id="orgd567a4a"><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>);
|
||||
@ -3808,10 +3808,10 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge612993" class="outline-4">
|
||||
<h4 id="orge612993"><span class="section-number-4">3.10.2</span> Compute dim<sub>cord</sub><sub>vect</sub></h4>
|
||||
<div id="outline-container-org256c14f" class="outline-4">
|
||||
<h4 id="org256c14f"><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="orgb5d53ed" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orga570dc5" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3939,10 +3939,10 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org33a6a4b" class="outline-4">
|
||||
<h4 id="org33a6a4b"><span class="section-number-4">3.10.3</span> Compute cord<sub>vect</sub><sub>full</sub></h4>
|
||||
<div id="outline-container-org84bb45d" class="outline-4">
|
||||
<h4 id="org84bb45d"><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="org896baae" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orga8fc699" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -4147,10 +4147,10 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
|
||||
|
||||
|
||||
<div id="outline-container-org7161721" class="outline-4">
|
||||
<h4 id="org7161721"><span class="section-number-4">3.10.4</span> Compute lkpm<sub>combined</sub><sub>index</sub></h4>
|
||||
<div id="outline-container-org01399ab" class="outline-4">
|
||||
<h4 id="org01399ab"><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="org6104bc9" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org103065b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -4306,10 +4306,10 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4878de4" class="outline-4">
|
||||
<h4 id="org4878de4"><span class="section-number-4">3.10.5</span> Compute tmp<sub>c</sub></h4>
|
||||
<div id="outline-container-orgb91f873" class="outline-4">
|
||||
<h4 id="orgb91f873"><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="orgf7bc731" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgf509541" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -4492,10 +4492,10 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org21e35ab" class="outline-4">
|
||||
<h4 id="org21e35ab"><span class="section-number-4">3.10.6</span> Compute dtmp<sub>c</sub></h4>
|
||||
<div id="outline-container-orgf699c72" class="outline-4">
|
||||
<h4 id="orgf699c72"><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="orgd8ba949" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgecb1b9c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -4668,8 +4668,8 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0a7e11c" class="outline-4">
|
||||
<h4 id="org0a7e11c"><span class="section-number-4">3.10.7</span> Test</h4>
|
||||
<div id="outline-container-orgd880bf9" class="outline-4">
|
||||
<h4 id="orgd880bf9"><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>));
|
||||
@ -4692,8 +4692,8 @@ printf(<span style="color: #8b2252;">"%e\n%e\n"</span>, tmp_c[0][1][0][0][0],0.2
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd56e111" class="outline-3">
|
||||
<h3 id="orgd56e111"><span class="section-number-3">3.11</span> Electron-electron-nucleus Jastrow \(f_{een}\)</h3>
|
||||
<div id="outline-container-org8f41432" class="outline-3">
|
||||
<h3 id="org8f41432"><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>
|
||||
@ -4705,8 +4705,8 @@ TODO: write equations.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd0dfda1" class="outline-4">
|
||||
<h4 id="orgd0dfda1"><span class="section-number-4">3.11.1</span> Get</h4>
|
||||
<div id="outline-container-org1dbc50d" class="outline-4">
|
||||
<h4 id="org1dbc50d"><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>
|
||||
@ -4718,10 +4718,10 @@ TODO: write equations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6acf961" class="outline-4">
|
||||
<h4 id="org6acf961"><span class="section-number-4">3.11.2</span> Compute naive</h4>
|
||||
<div id="outline-container-org36ac010" class="outline-4">
|
||||
<h4 id="org36ac010"><span class="section-number-4">3.11.2</span> Compute naive</h4>
|
||||
<div class="outline-text-4" id="text-3-11-2">
|
||||
<table id="orgf45f64d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org6480ba5" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -4902,10 +4902,10 @@ TODO: write equations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1de2b35" class="outline-4">
|
||||
<h4 id="org1de2b35"><span class="section-number-4">3.11.3</span> Compute</h4>
|
||||
<div id="outline-container-org448cc55" class="outline-4">
|
||||
<h4 id="org448cc55"><span class="section-number-4">3.11.3</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-3-11-3">
|
||||
<table id="orge4d4025" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org6068e56" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -5079,8 +5079,8 @@ TODO: write equations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc0bf906" class="outline-4">
|
||||
<h4 id="orgc0bf906"><span class="section-number-4">3.11.4</span> Test</h4>
|
||||
<div id="outline-container-orgaf1be78" class="outline-4">
|
||||
<h4 id="orgaf1be78"><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>*/
|
||||
@ -5097,8 +5097,8 @@ rc = qmckl_get_jastrow_factor_een(context, &(factor_een[0]),walk_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org65b89be" class="outline-3">
|
||||
<h3 id="org65b89be"><span class="section-number-3">3.12</span> Electron-electron-nucleus Jastrow \(f_{een}\) derivative</h3>
|
||||
<div id="outline-container-org976cec7" class="outline-3">
|
||||
<h3 id="org976cec7"><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>
|
||||
@ -5110,8 +5110,8 @@ TODO: write equations.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbfe5dfd" class="outline-4">
|
||||
<h4 id="orgbfe5dfd"><span class="section-number-4">3.12.1</span> Get</h4>
|
||||
<div id="outline-container-org15ce7d7" class="outline-4">
|
||||
<h4 id="org15ce7d7"><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>
|
||||
@ -5123,10 +5123,10 @@ TODO: write equations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org459b0bd" class="outline-4">
|
||||
<h4 id="org459b0bd"><span class="section-number-4">3.12.2</span> Compute Naive</h4>
|
||||
<div id="outline-container-orgac9e497" class="outline-4">
|
||||
<h4 id="orgac9e497"><span class="section-number-4">3.12.2</span> Compute Naive</h4>
|
||||
<div class="outline-text-4" id="text-3-12-2">
|
||||
<table id="orgcbdca4b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org4b7c175" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -5340,10 +5340,10 @@ TODO: write equations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1c62069" class="outline-4">
|
||||
<h4 id="org1c62069"><span class="section-number-4">3.12.3</span> Compute</h4>
|
||||
<div id="outline-container-org93ad276" class="outline-4">
|
||||
<h4 id="org93ad276"><span class="section-number-4">3.12.3</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-3-12-3">
|
||||
<table id="orgd1f1464" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgeee30ee" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -5551,8 +5551,8 @@ TODO: write equations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3bf07eb" class="outline-4">
|
||||
<h4 id="org3bf07eb"><span class="section-number-4">3.12.4</span> Test</h4>
|
||||
<div id="outline-container-orgd8631a1" class="outline-4">
|
||||
<h4 id="orgd8631a1"><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>*/
|
||||
@ -5571,7 +5571,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-06-15 Wed 14:22</p>
|
||||
<p class="date">Created: 2022-06-15 Wed 17:18</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-06-15 Wed 14:22 -->
|
||||
<!-- 2022-06-15 Wed 17:18 -->
|
||||
<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="#org81156c7">1. Context</a>
|
||||
<li><a href="#org9f275f7">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#orgd8272af">1.1. Data structure</a></li>
|
||||
<li><a href="#orgb9d75d5">1.1. Data structure</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org25d9b82">2. Computation</a>
|
||||
<li><a href="#org9f477f7">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#org2520e95">2.1. Kinetic energy</a>
|
||||
<li><a href="#org67248db">2.1. Kinetic energy</a>
|
||||
<ul>
|
||||
<li><a href="#orgf0576e1">2.1.1. Get</a></li>
|
||||
<li><a href="#org8cd6344">2.1.2. Provide</a></li>
|
||||
<li><a href="#orgdbc5bb6">2.1.3. Compute kinetic enregy</a></li>
|
||||
<li><a href="#orgd8e7a76">2.1.4. Test</a></li>
|
||||
<li><a href="#org0502c90">2.1.1. Get</a></li>
|
||||
<li><a href="#org5b50e46">2.1.2. Provide</a></li>
|
||||
<li><a href="#org8a2f58e">2.1.3. Compute kinetic enregy</a></li>
|
||||
<li><a href="#org451287f">2.1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org8b39894">2.2. Potential energy</a>
|
||||
<li><a href="#orga96054b">2.2. Potential energy</a>
|
||||
<ul>
|
||||
<li><a href="#org8a4f2fc">2.2.1. Get</a></li>
|
||||
<li><a href="#org3a2ea62">2.2.2. Provide</a></li>
|
||||
<li><a href="#org4e669c8">2.2.3. Compute potential enregy</a></li>
|
||||
<li><a href="#org68522f7">2.2.4. Test</a></li>
|
||||
<li><a href="#orgb8471e1">2.2.1. Get</a></li>
|
||||
<li><a href="#org556e745">2.2.2. Provide</a></li>
|
||||
<li><a href="#org5f1a387">2.2.3. Compute potential enregy</a></li>
|
||||
<li><a href="#orgd23d5e5">2.2.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org11133dd">2.3. Local energy</a>
|
||||
<li><a href="#org9d13ce6">2.3. Local energy</a>
|
||||
<ul>
|
||||
<li><a href="#orgab0fdc4">2.3.1. Get</a></li>
|
||||
<li><a href="#org28c2cd6">2.3.2. Provide</a></li>
|
||||
<li><a href="#org0f4c692">2.3.3. Compute local enregy</a></li>
|
||||
<li><a href="#org3815448">2.3.4. Test</a></li>
|
||||
<li><a href="#org6fdb94e">2.3.1. Get</a></li>
|
||||
<li><a href="#org7e9cd3a">2.3.2. Provide</a></li>
|
||||
<li><a href="#org6482757">2.3.3. Compute local enregy</a></li>
|
||||
<li><a href="#org7541d35">2.3.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org3b7a00c">2.4. Drift vector</a>
|
||||
<li><a href="#org4b90a06">2.4. Drift vector</a>
|
||||
<ul>
|
||||
<li><a href="#org03d271d">2.4.1. Get</a></li>
|
||||
<li><a href="#org7e2ba4a">2.4.2. Provide</a></li>
|
||||
<li><a href="#orgb7315d7">2.4.3. Compute drift vector</a></li>
|
||||
<li><a href="#orgacb9182">2.4.4. Test</a></li>
|
||||
<li><a href="#orgb53965f">2.4.1. Get</a></li>
|
||||
<li><a href="#org2349879">2.4.2. Provide</a></li>
|
||||
<li><a href="#orgd805ab8">2.4.3. Compute drift vector</a></li>
|
||||
<li><a href="#orgd2605a4">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-org81156c7" class="outline-2">
|
||||
<h2 id="org81156c7"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-org9f275f7" class="outline-2">
|
||||
<h2 id="org9f275f7"><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-orgd8272af" class="outline-3">
|
||||
<h3 id="orgd8272af"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-orgb9d75d5" class="outline-3">
|
||||
<h3 id="orgb9d75d5"><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-org25d9b82" class="outline-2">
|
||||
<h2 id="org25d9b82"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-org9f477f7" class="outline-2">
|
||||
<h2 id="org9f477f7"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-org2520e95" class="outline-3">
|
||||
<h3 id="org2520e95"><span class="section-number-3">2.1</span> Kinetic energy</h3>
|
||||
<div id="outline-container-org67248db" class="outline-3">
|
||||
<h3 id="org67248db"><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-orgf0576e1" class="outline-4">
|
||||
<h4 id="orgf0576e1"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-org0502c90" class="outline-4">
|
||||
<h4 id="org0502c90"><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-org8cd6344" class="outline-4">
|
||||
<h4 id="org8cd6344"><span class="section-number-4">2.1.2</span> Provide</h4>
|
||||
<div id="outline-container-org5b50e46" class="outline-4">
|
||||
<h4 id="org5b50e46"><span class="section-number-4">2.1.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgdbc5bb6" class="outline-4">
|
||||
<h4 id="orgdbc5bb6"><span class="section-number-4">2.1.3</span> Compute kinetic enregy</h4>
|
||||
<div id="outline-container-org8a2f58e" class="outline-4">
|
||||
<h4 id="org8a2f58e"><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="orgc00c6f3" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org5838105" 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-orgd8e7a76" class="outline-4">
|
||||
<h4 id="orgd8e7a76"><span class="section-number-4">2.1.4</span> Test</h4>
|
||||
<div id="outline-container-org451287f" class="outline-4">
|
||||
<h4 id="org451287f"><span class="section-number-4">2.1.4</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org8b39894" class="outline-3">
|
||||
<h3 id="org8b39894"><span class="section-number-3">2.2</span> Potential energy</h3>
|
||||
<div id="outline-container-orga96054b" class="outline-3">
|
||||
<h3 id="orga96054b"><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-org8a4f2fc" class="outline-4">
|
||||
<h4 id="org8a4f2fc"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div id="outline-container-orgb8471e1" class="outline-4">
|
||||
<h4 id="orgb8471e1"><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-org3a2ea62" class="outline-4">
|
||||
<h4 id="org3a2ea62"><span class="section-number-4">2.2.2</span> Provide</h4>
|
||||
<div id="outline-container-org556e745" class="outline-4">
|
||||
<h4 id="org556e745"><span class="section-number-4">2.2.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4e669c8" class="outline-4">
|
||||
<h4 id="org4e669c8"><span class="section-number-4">2.2.3</span> Compute potential enregy</h4>
|
||||
<div id="outline-container-org5f1a387" class="outline-4">
|
||||
<h4 id="org5f1a387"><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="orgd8373b4" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org5767aeb" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -949,12 +949,12 @@ contributions.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org68522f7" class="outline-4">
|
||||
<h4 id="org68522f7"><span class="section-number-4">2.2.4</span> Test</h4>
|
||||
<div id="outline-container-orgd23d5e5" class="outline-4">
|
||||
<h4 id="orgd23d5e5"><span class="section-number-4">2.2.4</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org11133dd" class="outline-3">
|
||||
<h3 id="org11133dd"><span class="section-number-3">2.3</span> Local energy</h3>
|
||||
<div id="outline-container-org9d13ce6" class="outline-3">
|
||||
<h3 id="org9d13ce6"><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-orgab0fdc4" class="outline-4">
|
||||
<h4 id="orgab0fdc4"><span class="section-number-4">2.3.1</span> Get</h4>
|
||||
<div id="outline-container-org6fdb94e" class="outline-4">
|
||||
<h4 id="org6fdb94e"><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>, <span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">size_max</span>);
|
||||
@ -978,14 +978,14 @@ E_L = KE + PE
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org28c2cd6" class="outline-4">
|
||||
<h4 id="org28c2cd6"><span class="section-number-4">2.3.2</span> Provide</h4>
|
||||
<div id="outline-container-org7e9cd3a" class="outline-4">
|
||||
<h4 id="org7e9cd3a"><span class="section-number-4">2.3.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0f4c692" class="outline-4">
|
||||
<h4 id="org0f4c692"><span class="section-number-4">2.3.3</span> Compute local enregy</h4>
|
||||
<div id="outline-container-org6482757" class="outline-4">
|
||||
<h4 id="org6482757"><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="org6ed8a3c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgece332f" 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-org3815448" class="outline-4">
|
||||
<h4 id="org3815448"><span class="section-number-4">2.3.4</span> Test</h4>
|
||||
<div id="outline-container-org7541d35" class="outline-4">
|
||||
<h4 id="org7541d35"><span class="section-number-4">2.3.4</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org3b7a00c" class="outline-3">
|
||||
<h3 id="org3b7a00c"><span class="section-number-3">2.4</span> Drift vector</h3>
|
||||
<div id="outline-container-org4b90a06" class="outline-3">
|
||||
<h3 id="org4b90a06"><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-org03d271d" class="outline-4">
|
||||
<h4 id="org03d271d"><span class="section-number-4">2.4.1</span> Get</h4>
|
||||
<div id="outline-container-orgb53965f" class="outline-4">
|
||||
<h4 id="orgb53965f"><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-org7e2ba4a" class="outline-4">
|
||||
<h4 id="org7e2ba4a"><span class="section-number-4">2.4.2</span> Provide</h4>
|
||||
<div id="outline-container-org2349879" class="outline-4">
|
||||
<h4 id="org2349879"><span class="section-number-4">2.4.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb7315d7" class="outline-4">
|
||||
<h4 id="orgb7315d7"><span class="section-number-4">2.4.3</span> Compute drift vector</h4>
|
||||
<div id="outline-container-orgd805ab8" class="outline-4">
|
||||
<h4 id="orgd805ab8"><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="orge99a4a3" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgc2e5c2a" 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-orgacb9182" class="outline-4">
|
||||
<h4 id="orgacb9182"><span class="section-number-4">2.4.4</span> Test</h4>
|
||||
<div id="outline-container-orgd2605a4" class="outline-4">
|
||||
<h4 id="orgd2605a4"><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-06-15 Wed 14:22</p>
|
||||
<p class="date">Created: 2022-06-15 Wed 17:18</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-06-15 Wed 14:21 -->
|
||||
<!-- 2022-06-15 Wed 17:18 -->
|
||||
<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="#org552fff2">1. Memory data structure for the context</a></li>
|
||||
<li><a href="#orge6c49b7">2. Passing info to allocation routines</a></li>
|
||||
<li><a href="#org31f9076">3. Allocation/deallocation functions</a></li>
|
||||
<li><a href="#orgc65aeea">1. Memory data structure for the context</a></li>
|
||||
<li><a href="#orge3169ed">2. Passing info to allocation routines</a></li>
|
||||
<li><a href="#orged46b72">3. Allocation/deallocation functions</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org552fff2" class="outline-2">
|
||||
<h2 id="org552fff2"><span class="section-number-2">1</span> Memory data structure for the context</h2>
|
||||
<div id="outline-container-orgc65aeea" class="outline-2">
|
||||
<h2 id="orgc65aeea"><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-orge6c49b7" class="outline-2">
|
||||
<h2 id="orge6c49b7"><span class="section-number-2">2</span> Passing info to allocation routines</h2>
|
||||
<div id="outline-container-orge3169ed" class="outline-2">
|
||||
<h2 id="orge3169ed"><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-org31f9076" class="outline-2">
|
||||
<h2 id="org31f9076"><span class="section-number-2">3</span> Allocation/deallocation functions</h2>
|
||||
<div id="outline-container-orged46b72" class="outline-2">
|
||||
<h2 id="orged46b72"><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-06-15 Wed 14:21</p>
|
||||
<p class="date">Created: 2022-06-15 Wed 17:18</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
260
qmckl_mo.html
260
qmckl_mo.html
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2022-06-15 Wed 14:21 -->
|
||||
<!-- 2022-06-15 Wed 17:18 -->
|
||||
<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,44 +311,44 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#orgf0167fd">1. Context</a>
|
||||
<li><a href="#org4e9ebcd">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#orgc0a49ea">1.1. Data structure</a></li>
|
||||
<li><a href="#org25bbd56">1.2. Access functions</a>
|
||||
<li><a href="#org7c56d77">1.1. Data structure</a></li>
|
||||
<li><a href="#org98c8036">1.2. Access functions</a>
|
||||
<ul>
|
||||
<li><a href="#orgb783675">1.2.1. Fortran interfaces</a></li>
|
||||
<li><a href="#org26c3ae2">1.2.1. Fortran interfaces</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org760ae5f">1.3. Initialization functions</a></li>
|
||||
<li><a href="#orgf2aa5d3">1.3. Initialization functions</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org79d2fdd">2. Computation</a>
|
||||
<li><a href="#org13437fe">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#org8976af5">2.1. Computation of MOs: values only</a>
|
||||
<li><a href="#org7e76941">2.1. Computation of MOs: values only</a>
|
||||
<ul>
|
||||
<li><a href="#org1d14b6e">2.1.1. Get</a></li>
|
||||
<li><a href="#orge3bee1f">2.1.2. Provide</a></li>
|
||||
<li><a href="#orga902311">2.1.3. Compute</a></li>
|
||||
<li><a href="#org603034f">2.1.4. HPC version</a></li>
|
||||
<li><a href="#org41acb00">2.1.1. Get</a></li>
|
||||
<li><a href="#orgec043a8">2.1.2. Provide</a></li>
|
||||
<li><a href="#org5b858de">2.1.3. Compute</a></li>
|
||||
<li><a href="#org5ff7790">2.1.4. HPC version</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgb9a0759">2.2. Computation of MOs: values, gradient, Laplacian</a>
|
||||
<li><a href="#org50986e3">2.2. Computation of MOs: values, gradient, Laplacian</a>
|
||||
<ul>
|
||||
<li><a href="#org069d774">2.2.1. Get</a></li>
|
||||
<li><a href="#orgd5d6c5c">2.2.2. Provide</a></li>
|
||||
<li><a href="#org2fa73d5">2.2.3. Compute</a></li>
|
||||
<li><a href="#orgcc33486">2.2.4. HPC version</a></li>
|
||||
<li><a href="#orge106952">2.2.1. Get</a></li>
|
||||
<li><a href="#orgb207e71">2.2.2. Provide</a></li>
|
||||
<li><a href="#org7e71389">2.2.3. Compute</a></li>
|
||||
<li><a href="#org7646503">2.2.4. HPC version</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org3ffca74">2.3. Test</a></li>
|
||||
<li><a href="#orgc2b22fe">2.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf0167fd" class="outline-2">
|
||||
<h2 id="orgf0167fd"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-org4e9ebcd" class="outline-2">
|
||||
<h2 id="org4e9ebcd"><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:
|
||||
@ -428,8 +428,8 @@ Computed data:
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc0a49ea" class="outline-3">
|
||||
<h3 id="orgc0a49ea"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-org7c56d77" class="outline-3">
|
||||
<h3 id="org7c56d77"><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> {
|
||||
@ -481,8 +481,8 @@ this mechanism.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org25bbd56" class="outline-3">
|
||||
<h3 id="org25bbd56"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-org98c8036" class="outline-3">
|
||||
<h3 id="org98c8036"><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
|
||||
@ -495,41 +495,13 @@ function returns <code>true</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb783675" class="outline-4">
|
||||
<h4 id="orgb783675"><span class="section-number-4">1.2.1</span> Fortran interfaces</h4>
|
||||
<div class="outline-text-4" id="text-1-2-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #a020f0;">interface</span>
|
||||
<span style="color: #228b22;">integer</span>(<span style="color: #008b8b;">c_int32_t</span>)<span style="color: #a0522d;"> function qmckl_get_mo_basis_mo_num (context, </span><span style="color: #a020f0;">&</span>
|
||||
mo_num) <span style="color: #a020f0;">bind</span>(C)
|
||||
<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: #a020f0;">implicit</span> <span style="color: #228b22;">none</span>
|
||||
<span style="color: #228b22;">integer</span> (<span style="color: #008b8b;">c_int64_t</span>) , <span style="color: #a020f0;">intent</span>(in) , <span style="color: #a020f0;">value</span> ::<span style="color: #a0522d;"> context</span>
|
||||
<span style="color: #228b22;">integer</span> (<span style="color: #008b8b;">c_int64_t</span>) , <span style="color: #a020f0;">intent</span>(out) ::<span style="color: #a0522d;"> mo_num</span>
|
||||
<span style="color: #a020f0;">end function</span> <span style="color: #0000ff;">qmckl_get_mo_basis_mo_num</span>
|
||||
<span style="color: #a020f0;">end interface</span>
|
||||
|
||||
<span style="color: #a020f0;">interface</span>
|
||||
<span style="color: #228b22;">integer</span>(<span style="color: #008b8b;">c_int32_t</span>)<span style="color: #a0522d;"> function qmckl_get_mo_basis_coefficient(context, </span><span style="color: #a020f0;">&</span>
|
||||
coefficient, size_max) <span style="color: #a020f0;">bind</span>(C)
|
||||
<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: #a020f0;">implicit</span> <span style="color: #228b22;">none</span>
|
||||
<span style="color: #228b22;">integer</span> (<span style="color: #008b8b;">c_int64_t</span>) , <span style="color: #a020f0;">intent</span>(in) , <span style="color: #a020f0;">value</span> ::<span style="color: #a0522d;"> context</span>
|
||||
<span style="color: #228b22;">double precision</span>, <span style="color: #a020f0;">intent</span>(out) ::<span style="color: #a0522d;"> coefficient(*)</span>
|
||||
<span style="color: #228b22;">integer</span> (<span style="color: #008b8b;">c_int64_t</span>) , <span style="color: #a020f0;">intent</span>(in), <span style="color: #a020f0;">value</span> ::<span style="color: #a0522d;"> size_max</span>
|
||||
<span style="color: #a020f0;">end function</span> <span style="color: #0000ff;">qmckl_get_mo_basis_coefficient</span>
|
||||
<span style="color: #a020f0;">end interface</span>
|
||||
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org26c3ae2" class="outline-4">
|
||||
<h4 id="org26c3ae2"><span class="section-number-4">1.2.1</span> Fortran interfaces</h4>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org760ae5f" class="outline-3">
|
||||
<h3 id="org760ae5f"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-orgf2aa5d3" class="outline-3">
|
||||
<h3 id="orgf2aa5d3"><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
|
||||
@ -550,16 +522,16 @@ computed to accelerate the calculations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org79d2fdd" class="outline-2">
|
||||
<h2 id="org79d2fdd"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-org13437fe" class="outline-2">
|
||||
<h2 id="org13437fe"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-org8976af5" class="outline-3">
|
||||
<h3 id="org8976af5"><span class="section-number-3">2.1</span> Computation of MOs: values only</h3>
|
||||
<div id="outline-container-org7e76941" class="outline-3">
|
||||
<h3 id="org7e76941"><span class="section-number-3">2.1</span> Computation of MOs: values only</h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
</div>
|
||||
<div id="outline-container-org1d14b6e" class="outline-4">
|
||||
<h4 id="org1d14b6e"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-org41acb00" class="outline-4">
|
||||
<h4 id="org41acb00"><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>
|
||||
@ -583,14 +555,14 @@ Uses the given array to compute the values.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge3bee1f" class="outline-4">
|
||||
<h4 id="orge3bee1f"><span class="section-number-4">2.1.2</span> Provide</h4>
|
||||
<div id="outline-container-orgec043a8" class="outline-4">
|
||||
<h4 id="orgec043a8"><span class="section-number-4">2.1.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga902311" class="outline-4">
|
||||
<h4 id="orga902311"><span class="section-number-4">2.1.3</span> Compute</h4>
|
||||
<div id="outline-container-org5b858de" class="outline-4">
|
||||
<h4 id="org5b858de"><span class="section-number-4">2.1.3</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-1-3">
|
||||
<table id="orgde63b86" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org3ddb74c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -640,7 +612,7 @@ Uses the given array to compute the values.
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>coef_normalized_t</code></td>
|
||||
<td class="org-left"><code>coefficient_t</code></td>
|
||||
<td class="org-left"><code>double[mo_num][ao_num]</code></td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Transpose of the AO to MO transformation matrix</td>
|
||||
@ -674,7 +646,7 @@ matrix multiplication instead of a dgemm, as exposed in
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer</span><span style="color: #a0522d;"> function qmckl_compute_mo_basis_mo_value_doc_f(context, </span><span style="color: #a020f0;">&</span>
|
||||
ao_num, mo_num, point_num, <span style="color: #a020f0;">&</span>
|
||||
coef_normalized_t, ao_value, mo_value) <span style="color: #a020f0;">&</span>
|
||||
coefficient_t, ao_value, mo_value) <span style="color: #a020f0;">&</span>
|
||||
<span style="color: #a020f0;">result</span>(info)
|
||||
<span style="color: #a020f0;">use</span> <span style="color: #0000ff;">qmckl</span>
|
||||
<span style="color: #a020f0;">implicit</span> <span style="color: #228b22;">none</span>
|
||||
@ -682,7 +654,7 @@ matrix multiplication instead of a dgemm, as exposed in
|
||||
<span style="color: #228b22;">integer</span>*8 , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> ao_num, mo_num</span>
|
||||
<span style="color: #228b22;">integer</span>*8 , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> point_num</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> ao_value(ao_num,point_num)</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> coef_normalized_t(mo_num,ao_num)</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> coefficient_t(mo_num,ao_num)</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(out) ::<span style="color: #a0522d;"> mo_value(mo_num,point_num)</span>
|
||||
<span style="color: #228b22;">integer</span>*8 ::<span style="color: #a0522d;"> i,j,k</span>
|
||||
<span style="color: #228b22;">double precision</span> ::<span style="color: #a0522d;"> c1, c2, c3, c4, c5</span>
|
||||
@ -697,7 +669,7 @@ matrix multiplication instead of a dgemm, as exposed in
|
||||
<span style="color: #a020f0;">if</span> (ao_value(k,j) /= 0.d0) <span style="color: #a020f0;">then</span>
|
||||
c1 = ao_value(k,j)
|
||||
<span style="color: #a020f0;">do</span> i=1,mo_num
|
||||
mo_value(i,j) = mo_value(i,j) + coef_normalized_t(i,k) * c1
|
||||
mo_value(i,j) = mo_value(i,j) + coefficient_t(i,k) * c1
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
<span style="color: #a020f0;">end if</span>
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
@ -705,12 +677,12 @@ matrix multiplication instead of a dgemm, as exposed in
|
||||
|
||||
<span style="color: #a020f0;">else</span> ! <span style="color: #b22222;">dgemm</span>
|
||||
|
||||
LDA = <span style="color: #a020f0;">size</span>(coef_normalized_t,1)
|
||||
LDA = <span style="color: #a020f0;">size</span>(coefficient_t,1)
|
||||
LDB = <span style="color: #a020f0;">size</span>(ao_value,1)
|
||||
LDC = <span style="color: #a020f0;">size</span>(mo_value,1)
|
||||
|
||||
info = qmckl_dgemm(context,<span style="color: #8b2252;">'N'</span>, <span style="color: #8b2252;">'N'</span>, mo_num, point_num, ao_num, 1.d0, <span style="color: #a020f0;">&</span>
|
||||
coef_normalized_t, LDA, ao_value, LDB, <span style="color: #a020f0;">&</span>
|
||||
coefficient_t, LDA, ao_value, LDB, <span style="color: #a020f0;">&</span>
|
||||
0.d0, mo_value, LDC)
|
||||
|
||||
<span style="color: #a020f0;">end if</span>
|
||||
@ -725,7 +697,7 @@ matrix multiplication instead of a dgemm, as exposed in
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">ao_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">mo_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">point_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">coef_normalized_t</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">coefficient_t</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">ao_value</span>,
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">mo_value</span> );
|
||||
</pre>
|
||||
@ -737,7 +709,7 @@ matrix multiplication instead of a dgemm, as exposed in
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">ao_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">mo_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">point_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">coef_normalized_t</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">coefficient_t</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">ao_value</span>,
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">mo_value</span> );
|
||||
</pre>
|
||||
@ -749,14 +721,14 @@ matrix multiplication instead of a dgemm, as exposed in
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">ao_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">mo_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">point_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">coef_normalized_t</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">coefficient_t</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">ao_value</span>,
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">mo_value</span> )
|
||||
{
|
||||
<span style="color: #483d8b;">#ifdef</span> HAVE_HPC
|
||||
<span style="color: #a020f0;">return</span> qmckl_compute_mo_basis_mo_value_hpc (context, ao_num, mo_num, point_num, coef_normalized_t, ao_value, mo_value);
|
||||
<span style="color: #a020f0;">return</span> qmckl_compute_mo_basis_mo_value_hpc (context, ao_num, mo_num, point_num, coefficient_t, ao_value, mo_value);
|
||||
<span style="color: #483d8b;">#else</span>
|
||||
<span style="color: #a020f0;">return</span> qmckl_compute_mo_basis_mo_value_doc (context, ao_num, mo_num, point_num, coef_normalized_t, ao_value, mo_value);
|
||||
<span style="color: #a020f0;">return</span> qmckl_compute_mo_basis_mo_value_doc (context, ao_num, mo_num, point_num, coefficient_t, ao_value, mo_value);
|
||||
<span style="color: #483d8b;">#endif</span>
|
||||
}
|
||||
</pre>
|
||||
@ -764,8 +736,8 @@ matrix multiplication instead of a dgemm, as exposed in
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org603034f" class="outline-4">
|
||||
<h4 id="org603034f"><span class="section-number-4">2.1.4</span> HPC version</h4>
|
||||
<div id="outline-container-org5ff7790" class="outline-4">
|
||||
<h4 id="org5ff7790"><span class="section-number-4">2.1.4</span> HPC version</h4>
|
||||
<div class="outline-text-4" id="text-2-1-4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #483d8b;">#ifdef</span> HAVE_HPC
|
||||
@ -774,7 +746,7 @@ matrix multiplication instead of a dgemm, as exposed in
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">ao_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">mo_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">point_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">coef_normalized_t</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">coefficient_t</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">ao_value</span>,
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">mo_value</span> );
|
||||
<span style="color: #483d8b;">#endif</span>
|
||||
@ -788,7 +760,7 @@ matrix multiplication instead of a dgemm, as exposed in
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">ao_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">mo_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">point_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">restrict</span> <span style="color: #a0522d;">coef_normalized_t</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">restrict</span> <span style="color: #a0522d;">coefficient_t</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">restrict</span> <span style="color: #a0522d;">ao_value</span>,
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a020f0;">restrict</span> <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">mo_value</span> )
|
||||
{
|
||||
@ -819,10 +791,10 @@ matrix multiplication instead of a dgemm, as exposed in
|
||||
<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">n</span>;
|
||||
|
||||
<span style="color: #a020f0;">for</span> (n=0 ; n < nidx-4 ; n+=4) {
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">restrict</span> <span style="color: #a0522d;">ck1</span> = coef_normalized_t + idx[n ]*mo_num;
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">restrict</span> <span style="color: #a0522d;">ck2</span> = coef_normalized_t + idx[n+1]*mo_num;
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">restrict</span> <span style="color: #a0522d;">ck3</span> = coef_normalized_t + idx[n+2]*mo_num;
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">restrict</span> <span style="color: #a0522d;">ck4</span> = coef_normalized_t + idx[n+3]*mo_num;
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">restrict</span> <span style="color: #a0522d;">ck1</span> = coefficient_t + idx[n ]*mo_num;
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">restrict</span> <span style="color: #a0522d;">ck2</span> = coefficient_t + idx[n+1]*mo_num;
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">restrict</span> <span style="color: #a0522d;">ck3</span> = coefficient_t + idx[n+2]*mo_num;
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">restrict</span> <span style="color: #a0522d;">ck4</span> = coefficient_t + idx[n+3]*mo_num;
|
||||
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">a11</span> = av1[n ];
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">a21</span> = av1[n+1];
|
||||
@ -839,7 +811,7 @@ matrix multiplication instead of a dgemm, as exposed in
|
||||
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">n0</span> = n < 0 ? 0 : n;
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">m</span>=n0 ; m < nidx ; m+=1) {
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">restrict</span> <span style="color: #a0522d;">ck</span> = coef_normalized_t + idx[m]*mo_num;
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">restrict</span> <span style="color: #a0522d;">ck</span> = coefficient_t + idx[m]*mo_num;
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">a1</span> = av1[m];
|
||||
|
||||
<span style="color: #483d8b;">#ifdef</span> HAVE_OPENMP
|
||||
@ -859,12 +831,12 @@ matrix multiplication instead of a dgemm, as exposed in
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb9a0759" class="outline-3">
|
||||
<h3 id="orgb9a0759"><span class="section-number-3">2.2</span> Computation of MOs: values, gradient, Laplacian</h3>
|
||||
<div id="outline-container-org50986e3" class="outline-3">
|
||||
<h3 id="org50986e3"><span class="section-number-3">2.2</span> Computation of MOs: values, gradient, Laplacian</h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
</div>
|
||||
<div id="outline-container-org069d774" class="outline-4">
|
||||
<h4 id="org069d774"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div id="outline-container-orge106952" class="outline-4">
|
||||
<h4 id="orge106952"><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>
|
||||
@ -888,14 +860,14 @@ Uses the given array to compute the VGL.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd5d6c5c" class="outline-4">
|
||||
<h4 id="orgd5d6c5c"><span class="section-number-4">2.2.2</span> Provide</h4>
|
||||
<div id="outline-container-orgb207e71" class="outline-4">
|
||||
<h4 id="orgb207e71"><span class="section-number-4">2.2.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2fa73d5" class="outline-4">
|
||||
<h4 id="org2fa73d5"><span class="section-number-4">2.2.3</span> Compute</h4>
|
||||
<div id="outline-container-org7e71389" class="outline-4">
|
||||
<h4 id="org7e71389"><span class="section-number-4">2.2.3</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-2-3">
|
||||
<table id="org8141bf8" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org1ca473a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -945,7 +917,7 @@ Uses the given array to compute the VGL.
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>coef_normalized_t</code></td>
|
||||
<td class="org-left"><code>coefficient_t</code></td>
|
||||
<td class="org-left"><code>double[mo_num][ao_num]</code></td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Transpose of the AO to MO transformation matrix</td>
|
||||
@ -979,7 +951,7 @@ matrix multiplication instead of a dgemm, as exposed in
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer</span><span style="color: #a0522d;"> function qmckl_compute_mo_basis_mo_vgl_doc_f(context, </span><span style="color: #a020f0;">&</span>
|
||||
ao_num, mo_num, point_num, <span style="color: #a020f0;">&</span>
|
||||
coef_normalized_t, ao_vgl, mo_vgl) <span style="color: #a020f0;">&</span>
|
||||
coefficient_t, ao_vgl, mo_vgl) <span style="color: #a020f0;">&</span>
|
||||
<span style="color: #a020f0;">result</span>(info)
|
||||
<span style="color: #a020f0;">use</span> <span style="color: #0000ff;">qmckl</span>
|
||||
<span style="color: #a020f0;">implicit</span> <span style="color: #228b22;">none</span>
|
||||
@ -987,46 +959,36 @@ matrix multiplication instead of a dgemm, as exposed in
|
||||
<span style="color: #228b22;">integer</span>*8 , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> ao_num, mo_num</span>
|
||||
<span style="color: #228b22;">integer</span>*8 , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> point_num</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> ao_vgl(ao_num,5,point_num)</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> coef_normalized_t(mo_num,ao_num)</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> coefficient_t(mo_num,ao_num)</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(out) ::<span style="color: #a0522d;"> mo_vgl(mo_num,5,point_num)</span>
|
||||
<span style="color: #228b22;">integer</span>*8 ::<span style="color: #a0522d;"> i,j,k</span>
|
||||
<span style="color: #228b22;">double precision</span> ::<span style="color: #a0522d;"> c1, c2, c3, c4, c5</span>
|
||||
|
||||
<span style="color: #228b22;">integer</span>*8 ::<span style="color: #a0522d;"> LDA, LDB, LDC</span>
|
||||
|
||||
info = QMCKL_SUCCESS
|
||||
<span style="color: #a020f0;">if</span> (<span style="color: #a020f0;">.True.</span>) <span style="color: #a020f0;">then</span> ! <span style="color: #b22222;">fast algorithm</span>
|
||||
<span style="color: #a020f0;">do</span> j=1,point_num
|
||||
mo_vgl(:,:,j) = 0.d0
|
||||
<span style="color: #a020f0;">do</span> k=1,ao_num
|
||||
<span style="color: #a020f0;">if</span> (ao_vgl(k,1,j) /= 0.d0) <span style="color: #a020f0;">then</span>
|
||||
c1 = ao_vgl(k,1,j)
|
||||
c2 = ao_vgl(k,2,j)
|
||||
c3 = ao_vgl(k,3,j)
|
||||
c4 = ao_vgl(k,4,j)
|
||||
c5 = ao_vgl(k,5,j)
|
||||
<span style="color: #a020f0;">do</span> i=1,mo_num
|
||||
mo_vgl(i,1,j) = mo_vgl(i,1,j) + coef_normalized_t(i,k) * c1
|
||||
mo_vgl(i,2,j) = mo_vgl(i,2,j) + coef_normalized_t(i,k) * c2
|
||||
mo_vgl(i,3,j) = mo_vgl(i,3,j) + coef_normalized_t(i,k) * c3
|
||||
mo_vgl(i,4,j) = mo_vgl(i,4,j) + coef_normalized_t(i,k) * c4
|
||||
mo_vgl(i,5,j) = mo_vgl(i,5,j) + coef_normalized_t(i,k) * c5
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
<span style="color: #a020f0;">end if</span>
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
<span style="color: #a020f0;">do</span> j=1,point_num
|
||||
mo_vgl(:,:,j) = 0.d0
|
||||
<span style="color: #a020f0;">do</span> k=1,ao_num
|
||||
<span style="color: #a020f0;">if</span> (ao_vgl(k,1,j) /= 0.d0) <span style="color: #a020f0;">then</span>
|
||||
c1 = ao_vgl(k,1,j)
|
||||
c2 = ao_vgl(k,2,j)
|
||||
c3 = ao_vgl(k,3,j)
|
||||
c4 = ao_vgl(k,4,j)
|
||||
c5 = ao_vgl(k,5,j)
|
||||
<span style="color: #a020f0;">do</span> i=1,mo_num
|
||||
mo_vgl(i,1,j) = mo_vgl(i,1,j) + coefficient_t(i,k) * c1
|
||||
mo_vgl(i,2,j) = mo_vgl(i,2,j) + coefficient_t(i,k) * c2
|
||||
mo_vgl(i,3,j) = mo_vgl(i,3,j) + coefficient_t(i,k) * c3
|
||||
mo_vgl(i,4,j) = mo_vgl(i,4,j) + coefficient_t(i,k) * c4
|
||||
mo_vgl(i,5,j) = mo_vgl(i,5,j) + coefficient_t(i,k) * c5
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
<span style="color: #a020f0;">end if</span>
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
info = QMCKL_SUCCESS
|
||||
|
||||
<span style="color: #a020f0;">else</span> ! <span style="color: #b22222;">dgemm</span>
|
||||
|
||||
LDA = <span style="color: #a020f0;">size</span>(coef_normalized_t,1)
|
||||
LDB = <span style="color: #a020f0;">size</span>(ao_vgl,1)
|
||||
LDC = <span style="color: #a020f0;">size</span>(mo_vgl,1)
|
||||
|
||||
info = qmckl_dgemm(context,<span style="color: #8b2252;">'N'</span>, <span style="color: #8b2252;">'N'</span>, mo_num, point_num*5_8, ao_num*1_8, 1.d0, <span style="color: #a020f0;">&</span>
|
||||
coef_normalized_t, LDA, ao_vgl, LDB, <span style="color: #a020f0;">&</span>
|
||||
0.d0, mo_vgl, LDC)
|
||||
|
||||
<span style="color: #a020f0;">end if</span>
|
||||
! <span style="color: #b22222;">info = qmckl_dgemm(context,'N', 'N', mo_num, point_num, ao_num, 1.d0, &</span>
|
||||
! <span style="color: #b22222;">coefficient_t, int(size(coefficient_t,1),8), &</span>
|
||||
! <span style="color: #b22222;">ao_vgl, int(size(ao_vgl,1),8), 0.d0, &</span>
|
||||
! <span style="color: #b22222;">mo_vgl, int(size(mo_vgl,1),8))</span>
|
||||
|
||||
<span style="color: #a020f0;">end function</span> <span style="color: #0000ff;">qmckl_compute_mo_basis_mo_vgl_doc_f</span>
|
||||
</pre>
|
||||
@ -1038,7 +1000,7 @@ matrix multiplication instead of a dgemm, as exposed in
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">ao_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">mo_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">point_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">coef_normalized_t</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">coefficient_t</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">ao_vgl</span>,
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">mo_vgl</span> );
|
||||
</pre>
|
||||
@ -1050,7 +1012,7 @@ matrix multiplication instead of a dgemm, as exposed in
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">ao_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">mo_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">point_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">coef_normalized_t</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">coefficient_t</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">ao_vgl</span>,
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">mo_vgl</span> );
|
||||
</pre>
|
||||
@ -1062,14 +1024,14 @@ matrix multiplication instead of a dgemm, as exposed in
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">ao_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">mo_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">point_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">coef_normalized_t</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">coefficient_t</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">ao_vgl</span>,
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">mo_vgl</span> )
|
||||
{
|
||||
<span style="color: #483d8b;">#ifdef</span> HAVE_HPC
|
||||
<span style="color: #a020f0;">return</span> qmckl_compute_mo_basis_mo_vgl_hpc (context, ao_num, mo_num, point_num, coef_normalized_t, ao_vgl, mo_vgl);
|
||||
<span style="color: #a020f0;">return</span> qmckl_compute_mo_basis_mo_vgl_hpc (context, ao_num, mo_num, point_num, coefficient_t, ao_vgl, mo_vgl);
|
||||
<span style="color: #483d8b;">#else</span>
|
||||
<span style="color: #a020f0;">return</span> qmckl_compute_mo_basis_mo_vgl_doc (context, ao_num, mo_num, point_num, coef_normalized_t, ao_vgl, mo_vgl);
|
||||
<span style="color: #a020f0;">return</span> qmckl_compute_mo_basis_mo_vgl_doc (context, ao_num, mo_num, point_num, coefficient_t, ao_vgl, mo_vgl);
|
||||
<span style="color: #483d8b;">#endif</span>
|
||||
}
|
||||
</pre>
|
||||
@ -1077,8 +1039,8 @@ matrix multiplication instead of a dgemm, as exposed in
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgcc33486" class="outline-4">
|
||||
<h4 id="orgcc33486"><span class="section-number-4">2.2.4</span> HPC version</h4>
|
||||
<div id="outline-container-org7646503" class="outline-4">
|
||||
<h4 id="org7646503"><span class="section-number-4">2.2.4</span> HPC version</h4>
|
||||
<div class="outline-text-4" id="text-2-2-4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #483d8b;">#ifdef</span> HAVE_HPC
|
||||
@ -1087,7 +1049,7 @@ matrix multiplication instead of a dgemm, as exposed in
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">ao_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">mo_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">point_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">coef_normalized_t</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">coefficient_t</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">ao_vgl</span>,
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">mo_vgl</span> );
|
||||
<span style="color: #483d8b;">#endif</span>
|
||||
@ -1101,7 +1063,7 @@ matrix multiplication instead of a dgemm, as exposed in
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">ao_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">mo_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">point_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">restrict</span> <span style="color: #a0522d;">coef_normalized_t</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">restrict</span> <span style="color: #a0522d;">coefficient_t</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">restrict</span> <span style="color: #a0522d;">ao_vgl</span>,
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a020f0;">restrict</span> <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">mo_vgl</span> )
|
||||
{
|
||||
@ -1153,10 +1115,10 @@ matrix multiplication instead of a dgemm, as exposed in
|
||||
<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">n</span>;
|
||||
|
||||
<span style="color: #a020f0;">for</span> (n=0 ; n < nidx-4 ; n+=4) {
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">restrict</span> <span style="color: #a0522d;">ck1</span> = coef_normalized_t + idx[n ]*mo_num;
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">restrict</span> <span style="color: #a0522d;">ck2</span> = coef_normalized_t + idx[n+1]*mo_num;
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">restrict</span> <span style="color: #a0522d;">ck3</span> = coef_normalized_t + idx[n+2]*mo_num;
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">restrict</span> <span style="color: #a0522d;">ck4</span> = coef_normalized_t + idx[n+3]*mo_num;
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">restrict</span> <span style="color: #a0522d;">ck1</span> = coefficient_t + idx[n ]*mo_num;
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">restrict</span> <span style="color: #a0522d;">ck2</span> = coefficient_t + idx[n+1]*mo_num;
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">restrict</span> <span style="color: #a0522d;">ck3</span> = coefficient_t + idx[n+2]*mo_num;
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">restrict</span> <span style="color: #a0522d;">ck4</span> = coefficient_t + idx[n+3]*mo_num;
|
||||
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">a11</span> = av1[n ];
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">a21</span> = av1[n+1];
|
||||
@ -1197,7 +1159,7 @@ matrix multiplication instead of a dgemm, as exposed in
|
||||
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">n0</span> = n < 0 ? 0 : n;
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">m</span>=n0 ; m < nidx ; m+=1) {
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">restrict</span> <span style="color: #a0522d;">ck</span> = coef_normalized_t + idx[m]*mo_num;
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">restrict</span> <span style="color: #a0522d;">ck</span> = coefficient_t + idx[m]*mo_num;
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">a1</span> = av1[m];
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">a2</span> = av2[m];
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">a3</span> = av3[m];
|
||||
@ -1225,14 +1187,14 @@ matrix multiplication instead of a dgemm, as exposed in
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3ffca74" class="outline-3">
|
||||
<h3 id="org3ffca74"><span class="section-number-3">2.3</span> Test</h3>
|
||||
<div id="outline-container-orgc2b22fe" class="outline-3">
|
||||
<h3 id="orgc2b22fe"><span class="section-number-3">2.3</span> Test</h3>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-06-15 Wed 14:21</p>
|
||||
<p class="date">Created: 2022-06-15 Wed 17:18</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-06-15 Wed 14:22 -->
|
||||
<!-- 2022-06-15 Wed 17:18 -->
|
||||
<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="#orgae73d21">1. Context</a>
|
||||
<li><a href="#org98989f9">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org47c504a">1.1. Data structure</a></li>
|
||||
<li><a href="#org66b4eea">1.2. Access functions</a></li>
|
||||
<li><a href="#org09a9e36">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org4555d24">1.4. Test</a></li>
|
||||
<li><a href="#org60e400a">1.1. Data structure</a></li>
|
||||
<li><a href="#org724a3e5">1.2. Access functions</a></li>
|
||||
<li><a href="#orgfd03ddb">1.3. Initialization functions</a></li>
|
||||
<li><a href="#orgf38d6f1">1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org172489d">2. Computation</a>
|
||||
<li><a href="#orge0892a7">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#org8327c2a">2.1. Nucleus-nucleus distances</a>
|
||||
<li><a href="#org5f5d861">2.1. Nucleus-nucleus distances</a>
|
||||
<ul>
|
||||
<li><a href="#orge4e0dd6">2.1.1. Get</a></li>
|
||||
<li><a href="#orge632078">2.1.2. Compute</a></li>
|
||||
<li><a href="#org970d2c2">2.1.3. Test</a></li>
|
||||
<li><a href="#orgcbc66e6">2.1.1. Get</a></li>
|
||||
<li><a href="#orgfb62fa6">2.1.2. Compute</a></li>
|
||||
<li><a href="#org3e5907d">2.1.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orga641e43">2.2. Nucleus-nucleus rescaled distances</a>
|
||||
<li><a href="#org459d635">2.2. Nucleus-nucleus rescaled distances</a>
|
||||
<ul>
|
||||
<li><a href="#orgdb5c5a3">2.2.1. Get</a></li>
|
||||
<li><a href="#orgde1fad0">2.2.2. Compute</a></li>
|
||||
<li><a href="#org0385995">2.2.3. Test</a></li>
|
||||
<li><a href="#org0208b9d">2.2.1. Get</a></li>
|
||||
<li><a href="#orgbae638c">2.2.2. Compute</a></li>
|
||||
<li><a href="#org0981403">2.2.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org3d45ea1">2.3. Nuclear repulsion energy</a>
|
||||
<li><a href="#org2633221">2.3. Nuclear repulsion energy</a>
|
||||
<ul>
|
||||
<li><a href="#orgdb22f5a">2.3.1. Get</a></li>
|
||||
<li><a href="#org62114e9">2.3.2. Compute</a></li>
|
||||
<li><a href="#org831a0d9">2.3.3. Test</a></li>
|
||||
<li><a href="#orgb3405c1">2.3.1. Get</a></li>
|
||||
<li><a href="#org209c29a">2.3.2. Compute</a></li>
|
||||
<li><a href="#org962d60c">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-orgae73d21" class="outline-2">
|
||||
<h2 id="orgae73d21"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-org98989f9" class="outline-2">
|
||||
<h2 id="org98989f9"><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-org47c504a" class="outline-3">
|
||||
<h3 id="org47c504a"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-org60e400a" class="outline-3">
|
||||
<h3 id="org60e400a"><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-org66b4eea" class="outline-3">
|
||||
<h3 id="org66b4eea"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-org724a3e5" class="outline-3">
|
||||
<h3 id="org724a3e5"><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-org09a9e36" class="outline-3">
|
||||
<h3 id="org09a9e36"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-orgfd03ddb" class="outline-3">
|
||||
<h3 id="orgfd03ddb"><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-org4555d24" class="outline-3">
|
||||
<h3 id="org4555d24"><span class="section-number-3">1.4</span> Test</h3>
|
||||
<div id="outline-container-orgf38d6f1" class="outline-3">
|
||||
<h3 id="orgf38d6f1"><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;">double</span>* <span style="color: #a0522d;">nucl_charge</span> = chbrclf_charge;
|
||||
@ -702,8 +702,8 @@ rc = qmckl_get_nucleus_charge(context, nucl_charge2, chbrclf_nucl_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org172489d" class="outline-2">
|
||||
<h2 id="org172489d"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-orge0892a7" class="outline-2">
|
||||
<h2 id="orge0892a7"><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
|
||||
@ -716,12 +716,12 @@ current date is stored.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8327c2a" class="outline-3">
|
||||
<h3 id="org8327c2a"><span class="section-number-3">2.1</span> Nucleus-nucleus distances</h3>
|
||||
<div id="outline-container-org5f5d861" class="outline-3">
|
||||
<h3 id="org5f5d861"><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-orge4e0dd6" class="outline-4">
|
||||
<h4 id="orge4e0dd6"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-orgcbc66e6" class="outline-4">
|
||||
<h4 id="orgcbc66e6"><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>
|
||||
@ -733,10 +733,10 @@ current date is stored.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge632078" class="outline-4">
|
||||
<h4 id="orge632078"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div id="outline-container-orgfb62fa6" class="outline-4">
|
||||
<h4 id="orgfb62fa6"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-1-2">
|
||||
<table id="org224de61" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org1a7df90" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -814,8 +814,8 @@ current date is stored.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org970d2c2" class="outline-4">
|
||||
<h4 id="org970d2c2"><span class="section-number-4">2.1.3</span> Test</h4>
|
||||
<div id="outline-container-org3e5907d" class="outline-4">
|
||||
<h4 id="org3e5907d"><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>*/
|
||||
@ -834,12 +834,12 @@ rc = qmckl_get_nucleus_nn_distance(context, distance, chbrclf_nucl_num*chbrclf_n
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga641e43" class="outline-3">
|
||||
<h3 id="orga641e43"><span class="section-number-3">2.2</span> Nucleus-nucleus rescaled distances</h3>
|
||||
<div id="outline-container-org459d635" class="outline-3">
|
||||
<h3 id="org459d635"><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-orgdb5c5a3" class="outline-4">
|
||||
<h4 id="orgdb5c5a3"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div id="outline-container-org0208b9d" class="outline-4">
|
||||
<h4 id="org0208b9d"><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>
|
||||
@ -851,10 +851,10 @@ rc = qmckl_get_nucleus_nn_distance(context, distance, chbrclf_nucl_num*chbrclf_n
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgde1fad0" class="outline-4">
|
||||
<h4 id="orgde1fad0"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div id="outline-container-orgbae638c" class="outline-4">
|
||||
<h4 id="orgbae638c"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-2-2">
|
||||
<table id="org1947d27" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgd5b3fa7" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -933,8 +933,8 @@ rc = qmckl_get_nucleus_nn_distance(context, distance, chbrclf_nucl_num*chbrclf_n
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0385995" class="outline-4">
|
||||
<h4 id="org0385995"><span class="section-number-4">2.2.3</span> Test</h4>
|
||||
<div id="outline-container-org0981403" class="outline-4">
|
||||
<h4 id="org0981403"><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>*/
|
||||
@ -954,8 +954,8 @@ rc = qmckl_get_nucleus_nn_distance(context, distance, chbrclf_nucl_num*chbrclf_n
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3d45ea1" class="outline-3">
|
||||
<h3 id="org3d45ea1"><span class="section-number-3">2.3</span> Nuclear repulsion energy</h3>
|
||||
<div id="outline-container-org2633221" class="outline-3">
|
||||
<h3 id="org2633221"><span class="section-number-3">2.3</span> Nuclear repulsion energy</h3>
|
||||
<div class="outline-text-3" id="text-2-3">
|
||||
<p>
|
||||
\[
|
||||
@ -964,8 +964,8 @@ rc = qmckl_get_nucleus_nn_distance(context, distance, chbrclf_nucl_num*chbrclf_n
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgdb22f5a" class="outline-4">
|
||||
<h4 id="orgdb22f5a"><span class="section-number-4">2.3.1</span> Get</h4>
|
||||
<div id="outline-container-orgb3405c1" class="outline-4">
|
||||
<h4 id="orgb3405c1"><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>);
|
||||
@ -974,10 +974,10 @@ rc = qmckl_get_nucleus_nn_distance(context, distance, chbrclf_nucl_num*chbrclf_n
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org62114e9" class="outline-4">
|
||||
<h4 id="org62114e9"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div id="outline-container-org209c29a" class="outline-4">
|
||||
<h4 id="org209c29a"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-3-2">
|
||||
<table id="org1ea493c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgbcb3ee5" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1067,8 +1067,8 @@ rc = qmckl_get_nucleus_nn_distance(context, distance, chbrclf_nucl_num*chbrclf_n
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org831a0d9" class="outline-4">
|
||||
<h4 id="org831a0d9"><span class="section-number-4">2.3.3</span> Test</h4>
|
||||
<div id="outline-container-org962d60c" class="outline-4">
|
||||
<h4 id="org962d60c"><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>*/
|
||||
@ -1088,7 +1088,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-06-15 Wed 14:22</p>
|
||||
<p class="date">Created: 2022-06-15 Wed 17:18</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-06-15 Wed 14:22 -->
|
||||
<!-- 2022-06-15 Wed 17:18 -->
|
||||
<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="#orgd3a1803">1. Control of the numerical precision</a></li>
|
||||
<li><a href="#org334ea91">2. Precision</a></li>
|
||||
<li><a href="#orgd0e19a9">3. Range</a></li>
|
||||
<li><a href="#org4a1728c">4. Helper functions</a></li>
|
||||
<li><a href="#orgfb0de76">1. Control of the numerical precision</a></li>
|
||||
<li><a href="#orgc30ea5c">2. Precision</a></li>
|
||||
<li><a href="#org8f8c980">3. Range</a></li>
|
||||
<li><a href="#org19f3677">4. Helper functions</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd3a1803" class="outline-2">
|
||||
<h2 id="orgd3a1803"><span class="section-number-2">1</span> Control of the numerical precision</h2>
|
||||
<div id="outline-container-orgfb0de76" class="outline-2">
|
||||
<h2 id="orgfb0de76"><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="orga8c953e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgda03a8e" 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-org334ea91" class="outline-2">
|
||||
<h2 id="org334ea91"><span class="section-number-2">2</span> Precision</h2>
|
||||
<div id="outline-container-orgc30ea5c" class="outline-2">
|
||||
<h2 id="orgc30ea5c"><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-orgd0e19a9" class="outline-2">
|
||||
<h2 id="orgd0e19a9"><span class="section-number-2">3</span> Range</h2>
|
||||
<div id="outline-container-org8f8c980" class="outline-2">
|
||||
<h2 id="org8f8c980"><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-org4a1728c" class="outline-2">
|
||||
<h2 id="org4a1728c"><span class="section-number-2">4</span> Helper functions</h2>
|
||||
<div id="outline-container-org19f3677" class="outline-2">
|
||||
<h2 id="org19f3677"><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-06-15 Wed 14:22</p>
|
||||
<p class="date">Created: 2022-06-15 Wed 17:18</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-06-15 Wed 14:21 -->
|
||||
<!-- 2022-06-15 Wed 17:18 -->
|
||||
<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="#org1e984e7">1. Context</a>
|
||||
<li><a href="#orgd4ec3d9">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org6bf53c4">1.1. Data structure</a></li>
|
||||
<li><a href="#org30959ea">1.2. Access functions</a>
|
||||
<li><a href="#org3f8963a">1.1. Data structure</a></li>
|
||||
<li><a href="#org3e0feef">1.2. Access functions</a>
|
||||
<ul>
|
||||
<li><a href="#orgac3c3f9">1.2.1. Number of points</a></li>
|
||||
<li><a href="#orgf9665b6">1.2.2. Point coordinates</a></li>
|
||||
<li><a href="#orgf1df2cb">1.2.1. Number of points</a></li>
|
||||
<li><a href="#orgafb69da">1.2.2. Point coordinates</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgbdfed2f">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org28cc946">1.4. Test</a></li>
|
||||
<li><a href="#orgcd467b7">1.3. Initialization functions</a></li>
|
||||
<li><a href="#orgd50f401">1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1e984e7" class="outline-2">
|
||||
<h2 id="org1e984e7"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-orgd4ec3d9" class="outline-2">
|
||||
<h2 id="orgd4ec3d9"><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-org6bf53c4" class="outline-3">
|
||||
<h3 id="org6bf53c4"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-org3f8963a" class="outline-3">
|
||||
<h3 id="org3f8963a"><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-org30959ea" class="outline-3">
|
||||
<h3 id="org30959ea"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-org3e0feef" class="outline-3">
|
||||
<h3 id="org3e0feef"><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-orgac3c3f9" class="outline-4">
|
||||
<h4 id="orgac3c3f9"><span class="section-number-4">1.2.1</span> Number of points</h4>
|
||||
<div id="outline-container-orgf1df2cb" class="outline-4">
|
||||
<h4 id="orgf1df2cb"><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-orgf9665b6" class="outline-4">
|
||||
<h4 id="orgf9665b6"><span class="section-number-4">1.2.2</span> Point coordinates</h4>
|
||||
<div id="outline-container-orgafb69da" class="outline-4">
|
||||
<h4 id="orgafb69da"><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-orgbdfed2f" class="outline-3">
|
||||
<h3 id="orgbdfed2f"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-orgcd467b7" class="outline-3">
|
||||
<h3 id="orgcd467b7"><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.
|
||||
|
||||
<span style="color: #228b22;">integer</span> (<span style="color: #008b8b;">c_int64_t</span>) , <span style="color: #a020f0;">intent</span>(in) , <span style="color: #a020f0;">value</span> ::<span style="color: #a0522d;"> context</span>
|
||||
<span style="color: #228b22;">character</span>(<span style="color: #008b8b;">c_char</span>) , <span style="color: #a020f0;">intent</span>(in) , <span style="color: #a020f0;">value</span> ::<span style="color: #a0522d;"> transp</span>
|
||||
<span style="color: #228b22;">real</span> (<span style="color: #008b8b;">c_double</span> ) , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> coord(*)</span>
|
||||
<span style="color: #228b22;">integer</span> (<span style="color: #008b8b;">c_int64_t</span>) , <span style="color: #a020f0;">intent</span>(in) , <span style="color: #a020f0;">value</span> ::<span style="color: #a0522d;"> num</span>
|
||||
<span style="color: #228b22;">real</span> (<span style="color: #008b8b;">c_double</span> ) , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> coord(*)</span>
|
||||
<span style="color: #228b22;">integer</span> (<span style="color: #008b8b;">c_int64_t</span>) , <span style="color: #a020f0;">intent</span>(in) , <span style="color: #a020f0;">value</span> ::<span style="color: #a0522d;"> size_max</span>
|
||||
<span style="color: #a020f0;">end function</span>
|
||||
<span style="color: #a020f0;">end interface</span>
|
||||
@ -636,8 +636,8 @@ Copy a sequence of <code>num</code> points \((x,y,z)\) into the context.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org28cc946" class="outline-3">
|
||||
<h3 id="org28cc946"><span class="section-number-3">1.4</span> Test</h3>
|
||||
<div id="outline-container-orgd50f401" class="outline-3">
|
||||
<h3 id="orgd50f401"><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>*/
|
||||
@ -696,7 +696,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-06-15 Wed 14:21</p>
|
||||
<p class="date">Created: 2022-06-15 Wed 17:18</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-06-15 Wed 14:22 -->
|
||||
<!-- 2022-06-15 Wed 17:18 -->
|
||||
<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="#org14f7437">1. Headers</a></li>
|
||||
<li><a href="#orgd621b86">2. Naïve Sherman-Morrison</a>
|
||||
<li><a href="#org8a258c6">1. Headers</a></li>
|
||||
<li><a href="#orgde6bd69">2. Naïve Sherman-Morrison</a>
|
||||
<ul>
|
||||
<li><a href="#orgcf664cf">2.1. <code>qmckl_sherman_morrison</code></a>
|
||||
<li><a href="#org3170e59">2.1. <code>qmckl_sherman_morrison</code></a>
|
||||
<ul>
|
||||
<li><a href="#org5193c4e">2.1.1. Requirements</a></li>
|
||||
<li><a href="#orga06eb59">2.1.2. C header</a></li>
|
||||
<li><a href="#org129f983">2.1.3. C source</a></li>
|
||||
<li><a href="#org5e91996">2.1.4. Performance</a></li>
|
||||
<li><a href="#org0a0d6e9">2.1.1. Requirements</a></li>
|
||||
<li><a href="#orgac19ec0">2.1.2. C header</a></li>
|
||||
<li><a href="#org97c7add">2.1.3. C source</a></li>
|
||||
<li><a href="#org8cbf1e5">2.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org156f578">3. Woodbury 2x2</a>
|
||||
<li><a href="#orga6aa8eb">3. Woodbury 2x2</a>
|
||||
<ul>
|
||||
<li><a href="#org27331d5">3.1. <code>qmckl_woodbury_2</code></a>
|
||||
<li><a href="#orgbeba404">3.1. <code>qmckl_woodbury_2</code></a>
|
||||
<ul>
|
||||
<li><a href="#org005b4a8">3.1.1. Requirements</a></li>
|
||||
<li><a href="#org88eafda">3.1.2. C header</a></li>
|
||||
<li><a href="#orgad948f9">3.1.3. C source</a></li>
|
||||
<li><a href="#org6264100">3.1.4. Performance</a></li>
|
||||
<li><a href="#orgc96130c">3.1.1. Requirements</a></li>
|
||||
<li><a href="#orgc355141">3.1.2. C header</a></li>
|
||||
<li><a href="#org276b2e0">3.1.3. C source</a></li>
|
||||
<li><a href="#org4e73740">3.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgc3961b8">4. Woodbury 3x3</a>
|
||||
<li><a href="#org461d696">4. Woodbury 3x3</a>
|
||||
<ul>
|
||||
<li><a href="#orgf4f2f8e">4.1. <code>qmckl_woodbury_3</code></a>
|
||||
<li><a href="#org4e00500">4.1. <code>qmckl_woodbury_3</code></a>
|
||||
<ul>
|
||||
<li><a href="#orgac6b1f3">4.1.1. Requirements</a></li>
|
||||
<li><a href="#org5c2f915">4.1.2. C header</a></li>
|
||||
<li><a href="#org3553a68">4.1.3. C source</a></li>
|
||||
<li><a href="#org61ee438">4.1.4. Performance…</a></li>
|
||||
<li><a href="#org998a038">4.1.1. Requirements</a></li>
|
||||
<li><a href="#org9a77a40">4.1.2. C header</a></li>
|
||||
<li><a href="#org833ab28">4.1.3. C source</a></li>
|
||||
<li><a href="#orga659b81">4.1.4. Performance…</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org1b7c19d">5. Sherman-Morrison with update splitting</a>
|
||||
<li><a href="#org1191140">5. Sherman-Morrison with update splitting</a>
|
||||
<ul>
|
||||
<li><a href="#orgc72f773">5.1. <code>qmckl_sherman_morrison_splitting</code></a>
|
||||
<li><a href="#org13b2383">5.1. <code>qmckl_sherman_morrison_splitting</code></a>
|
||||
<ul>
|
||||
<li><a href="#org540f375">5.1.1. Requirements</a></li>
|
||||
<li><a href="#org4789e24">5.1.2. C header</a></li>
|
||||
<li><a href="#orgf025b3f">5.1.3. C source</a></li>
|
||||
<li><a href="#orgba7163e">5.1.4. Performance…</a></li>
|
||||
<li><a href="#org33e5c88">5.1.1. Requirements</a></li>
|
||||
<li><a href="#org402e556">5.1.2. C header</a></li>
|
||||
<li><a href="#org0904afc">5.1.3. C source</a></li>
|
||||
<li><a href="#org56d48f7">5.1.4. Performance…</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgcca8b20">6. Woodbury 3x3 and 2x2 with Sherman-Morrison and update splitting</a>
|
||||
<li><a href="#orgfab290c">6. Woodbury 3x3 and 2x2 with Sherman-Morrison and update splitting</a>
|
||||
<ul>
|
||||
<li><a href="#org7f35935">6.1. <code>qmckl_sherman_morrison_smw32s</code></a>
|
||||
<li><a href="#org8553815">6.1. <code>qmckl_sherman_morrison_smw32s</code></a>
|
||||
<ul>
|
||||
<li><a href="#orgf34316b">6.1.1. Requirements</a></li>
|
||||
<li><a href="#org1304683">6.1.2. C header</a></li>
|
||||
<li><a href="#orgb98c673">6.1.3. C source</a></li>
|
||||
<li><a href="#org4b80ef9">6.1.4. Performance…</a></li>
|
||||
<li><a href="#orgd46c14c">6.1.1. Requirements</a></li>
|
||||
<li><a href="#orgdce1f73">6.1.2. C header</a></li>
|
||||
<li><a href="#org63e0728">6.1.3. C source</a></li>
|
||||
<li><a href="#orge7255f5">6.1.4. Performance…</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgfe559e5">7. Helper Functions</a>
|
||||
<li><a href="#org2b9a523">7. Helper Functions</a>
|
||||
<ul>
|
||||
<li><a href="#org25e215f">7.1. <code>qmckl_slagel_splitting</code></a>
|
||||
<li><a href="#orgda70aaa">7.1. <code>qmckl_slagel_splitting</code></a>
|
||||
<ul>
|
||||
<li><a href="#org1ae56b4">7.1.1. Requirements</a></li>
|
||||
<li><a href="#org3dbc2ce">7.1.2. C header</a></li>
|
||||
<li><a href="#org2834a7f">7.1.3. C source</a></li>
|
||||
<li><a href="#org62a04ca">7.1.4. Performance</a></li>
|
||||
<li><a href="#orgca41c57">7.1.1. Requirements</a></li>
|
||||
<li><a href="#org778114b">7.1.2. C header</a></li>
|
||||
<li><a href="#org629f8bf">7.1.3. C source</a></li>
|
||||
<li><a href="#orgd6e4870">7.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org35a39b1">8. End of files</a></li>
|
||||
<li><a href="#org0745ad7">8. End of files</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org14f7437" class="outline-2">
|
||||
<h2 id="org14f7437"><span class="section-number-2">1</span> Headers</h2>
|
||||
<div id="outline-container-org8a258c6" class="outline-2">
|
||||
<h2 id="org8a258c6"><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-orgd621b86" class="outline-2">
|
||||
<h2 id="orgd621b86"><span class="section-number-2">2</span> Naïve Sherman-Morrison</h2>
|
||||
<div id="outline-container-orgde6bd69" class="outline-2">
|
||||
<h2 id="orgde6bd69"><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-orgcf664cf" class="outline-3">
|
||||
<h3 id="orgcf664cf"><span class="section-number-3">2.1</span> <code>qmckl_sherman_morrison</code></h3>
|
||||
<div id="outline-container-org3170e59" class="outline-3">
|
||||
<h3 id="org3170e59"><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="orgf9ea40d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgf2cc9e8" 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-org5193c4e" class="outline-4">
|
||||
<h4 id="org5193c4e"><span class="section-number-4">2.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org0a0d6e9" class="outline-4">
|
||||
<h4 id="org0a0d6e9"><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-orga06eb59" class="outline-4">
|
||||
<h4 id="orga06eb59"><span class="section-number-4">2.1.2</span> C header</h4>
|
||||
<div id="outline-container-orgac19ec0" class="outline-4">
|
||||
<h4 id="orgac19ec0"><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-org129f983" class="outline-4">
|
||||
<h4 id="org129f983"><span class="section-number-4">2.1.3</span> C source</h4>
|
||||
<div id="outline-container-org97c7add" class="outline-4">
|
||||
<h4 id="org97c7add"><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-org5e91996" class="outline-4">
|
||||
<h4 id="org5e91996"><span class="section-number-4">2.1.4</span> Performance</h4>
|
||||
<div id="outline-container-org8cbf1e5" class="outline-4">
|
||||
<h4 id="org8cbf1e5"><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-org156f578" class="outline-2">
|
||||
<h2 id="org156f578"><span class="section-number-2">3</span> Woodbury 2x2</h2>
|
||||
<div id="outline-container-orga6aa8eb" class="outline-2">
|
||||
<h2 id="orga6aa8eb"><span class="section-number-2">3</span> Woodbury 2x2</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
</div>
|
||||
<div id="outline-container-org27331d5" class="outline-3">
|
||||
<h3 id="org27331d5"><span class="section-number-3">3.1</span> <code>qmckl_woodbury_2</code></h3>
|
||||
<div id="outline-container-orgbeba404" class="outline-3">
|
||||
<h3 id="orgbeba404"><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="org9e3355f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgf9dc0ec" 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-org005b4a8" class="outline-4">
|
||||
<h4 id="org005b4a8"><span class="section-number-4">3.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-orgc96130c" class="outline-4">
|
||||
<h4 id="orgc96130c"><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-org88eafda" class="outline-4">
|
||||
<h4 id="org88eafda"><span class="section-number-4">3.1.2</span> C header</h4>
|
||||
<div id="outline-container-orgc355141" class="outline-4">
|
||||
<h4 id="orgc355141"><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-orgad948f9" class="outline-4">
|
||||
<h4 id="orgad948f9"><span class="section-number-4">3.1.3</span> C source</h4>
|
||||
<div id="outline-container-org276b2e0" class="outline-4">
|
||||
<h4 id="org276b2e0"><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-org6264100" class="outline-4">
|
||||
<h4 id="org6264100"><span class="section-number-4">3.1.4</span> Performance</h4>
|
||||
<div id="outline-container-org4e73740" class="outline-4">
|
||||
<h4 id="org4e73740"><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-orgc3961b8" class="outline-2">
|
||||
<h2 id="orgc3961b8"><span class="section-number-2">4</span> Woodbury 3x3</h2>
|
||||
<div id="outline-container-org461d696" class="outline-2">
|
||||
<h2 id="org461d696"><span class="section-number-2">4</span> Woodbury 3x3</h2>
|
||||
<div class="outline-text-2" id="text-4">
|
||||
</div>
|
||||
<div id="outline-container-orgf4f2f8e" class="outline-3">
|
||||
<h3 id="orgf4f2f8e"><span class="section-number-3">4.1</span> <code>qmckl_woodbury_3</code></h3>
|
||||
<div id="outline-container-org4e00500" class="outline-3">
|
||||
<h3 id="org4e00500"><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="org6881f5b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org68a11f3" 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-orgac6b1f3" class="outline-4">
|
||||
<h4 id="orgac6b1f3"><span class="section-number-4">4.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org998a038" class="outline-4">
|
||||
<h4 id="org998a038"><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-org5c2f915" class="outline-4">
|
||||
<h4 id="org5c2f915"><span class="section-number-4">4.1.2</span> C header</h4>
|
||||
<div id="outline-container-org9a77a40" class="outline-4">
|
||||
<h4 id="org9a77a40"><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-org3553a68" class="outline-4">
|
||||
<h4 id="org3553a68"><span class="section-number-4">4.1.3</span> C source</h4>
|
||||
<div id="outline-container-org833ab28" class="outline-4">
|
||||
<h4 id="org833ab28"><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-org61ee438" class="outline-4">
|
||||
<h4 id="org61ee438"><span class="section-number-4">4.1.4</span> Performance…</h4>
|
||||
<div id="outline-container-orga659b81" class="outline-4">
|
||||
<h4 id="orga659b81"><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-org1b7c19d" class="outline-2">
|
||||
<h2 id="org1b7c19d"><span class="section-number-2">5</span> Sherman-Morrison with update splitting</h2>
|
||||
<div id="outline-container-org1191140" class="outline-2">
|
||||
<h2 id="org1191140"><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-orgc72f773" class="outline-3">
|
||||
<h3 id="orgc72f773"><span class="section-number-3">5.1</span> <code>qmckl_sherman_morrison_splitting</code></h3>
|
||||
<div id="outline-container-org13b2383" class="outline-3">
|
||||
<h3 id="org13b2383"><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="orgadbc944" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orga5f003d" 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-org540f375" class="outline-4">
|
||||
<h4 id="org540f375"><span class="section-number-4">5.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org33e5c88" class="outline-4">
|
||||
<h4 id="org33e5c88"><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-org4789e24" class="outline-4">
|
||||
<h4 id="org4789e24"><span class="section-number-4">5.1.2</span> C header</h4>
|
||||
<div id="outline-container-org402e556" class="outline-4">
|
||||
<h4 id="org402e556"><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-orgf025b3f" class="outline-4">
|
||||
<h4 id="orgf025b3f"><span class="section-number-4">5.1.3</span> C source</h4>
|
||||
<div id="outline-container-org0904afc" class="outline-4">
|
||||
<h4 id="org0904afc"><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-orgba7163e" class="outline-4">
|
||||
<h4 id="orgba7163e"><span class="section-number-4">5.1.4</span> Performance…</h4>
|
||||
<div id="outline-container-org56d48f7" class="outline-4">
|
||||
<h4 id="org56d48f7"><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-orgcca8b20" class="outline-2">
|
||||
<h2 id="orgcca8b20"><span class="section-number-2">6</span> Woodbury 3x3 and 2x2 with Sherman-Morrison and update splitting</h2>
|
||||
<div id="outline-container-orgfab290c" class="outline-2">
|
||||
<h2 id="orgfab290c"><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-org7f35935" class="outline-3">
|
||||
<h3 id="org7f35935"><span class="section-number-3">6.1</span> <code>qmckl_sherman_morrison_smw32s</code></h3>
|
||||
<div id="outline-container-org8553815" class="outline-3">
|
||||
<h3 id="org8553815"><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="org97399d4" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org26598fb" 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-orgf34316b" class="outline-4">
|
||||
<h4 id="orgf34316b"><span class="section-number-4">6.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-orgd46c14c" class="outline-4">
|
||||
<h4 id="orgd46c14c"><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-org1304683" class="outline-4">
|
||||
<h4 id="org1304683"><span class="section-number-4">6.1.2</span> C header</h4>
|
||||
<div id="outline-container-orgdce1f73" class="outline-4">
|
||||
<h4 id="orgdce1f73"><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-orgb98c673" class="outline-4">
|
||||
<h4 id="orgb98c673"><span class="section-number-4">6.1.3</span> C source</h4>
|
||||
<div id="outline-container-org63e0728" class="outline-4">
|
||||
<h4 id="org63e0728"><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-org4b80ef9" class="outline-4">
|
||||
<h4 id="org4b80ef9"><span class="section-number-4">6.1.4</span> Performance…</h4>
|
||||
<div id="outline-container-orge7255f5" class="outline-4">
|
||||
<h4 id="orge7255f5"><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-orgfe559e5" class="outline-2">
|
||||
<h2 id="orgfe559e5"><span class="section-number-2">7</span> Helper Functions</h2>
|
||||
<div id="outline-container-org2b9a523" class="outline-2">
|
||||
<h2 id="org2b9a523"><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-org25e215f" class="outline-3">
|
||||
<h3 id="org25e215f"><span class="section-number-3">7.1</span> <code>qmckl_slagel_splitting</code></h3>
|
||||
<div id="outline-container-orgda70aaa" class="outline-3">
|
||||
<h3 id="orgda70aaa"><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="org494dce8" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgf0a6854" 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-org1ae56b4" class="outline-4">
|
||||
<h4 id="org1ae56b4"><span class="section-number-4">7.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-orgca41c57" class="outline-4">
|
||||
<h4 id="orgca41c57"><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-org3dbc2ce" class="outline-4">
|
||||
<h4 id="org3dbc2ce"><span class="section-number-4">7.1.2</span> C header</h4>
|
||||
<div id="outline-container-org778114b" class="outline-4">
|
||||
<h4 id="org778114b"><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-org2834a7f" class="outline-4">
|
||||
<h4 id="org2834a7f"><span class="section-number-4">7.1.3</span> C source</h4>
|
||||
<div id="outline-container-org629f8bf" class="outline-4">
|
||||
<h4 id="org629f8bf"><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-org62a04ca" class="outline-4">
|
||||
<h4 id="org62a04ca"><span class="section-number-4">7.1.4</span> Performance</h4>
|
||||
<div id="outline-container-orgd6e4870" class="outline-4">
|
||||
<h4 id="orgd6e4870"><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-org35a39b1" class="outline-2">
|
||||
<h2 id="org35a39b1"><span class="section-number-2">8</span> End of files</h2>
|
||||
<div id="outline-container-org0745ad7" class="outline-2">
|
||||
<h2 id="org0745ad7"><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-06-15 Wed 14:22</p>
|
||||
<p class="date">Created: 2022-06-15 Wed 17:18</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-06-15 Wed 14:22 -->
|
||||
<!-- 2022-06-15 Wed 17:18 -->
|
||||
<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="#org1a659b4">1. CHBrClF</a>
|
||||
<li><a href="#org2848a02">1. CHBrClF</a>
|
||||
<ul>
|
||||
<li><a href="#orge37e84e">1.1. XYZ coordinates</a></li>
|
||||
<li><a href="#org1f90cb6">1.2. Atomic basis set</a></li>
|
||||
<li><a href="#org2513037">1.3. Molecular orbitals</a></li>
|
||||
<li><a href="#orga9b4f35">1.4. Electron coordinates</a></li>
|
||||
<li><a href="#org0f9f019">1.1. XYZ coordinates</a></li>
|
||||
<li><a href="#org0949234">1.2. Atomic basis set</a></li>
|
||||
<li><a href="#orga9fadea">1.3. Molecular orbitals</a></li>
|
||||
<li><a href="#orga9d6a7b">1.4. Electron coordinates</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org70c452a">2. N2</a>
|
||||
<li><a href="#org6d28fc4">2. N2</a>
|
||||
<ul>
|
||||
<li><a href="#org80b3821">2.1. XYZ coordinates</a></li>
|
||||
<li><a href="#org70f8c0f">2.2. Electron coordinates</a></li>
|
||||
<li><a href="#org0a326b9">2.3. Jastrow related data</a></li>
|
||||
<li><a href="#orgdff8cbd">2.1. XYZ coordinates</a></li>
|
||||
<li><a href="#orgb0b1995">2.2. Electron coordinates</a></li>
|
||||
<li><a href="#orgcf5a109">2.3. Jastrow related data</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1a659b4" class="outline-2">
|
||||
<h2 id="org1a659b4"><span class="section-number-2">1</span> CHBrClF</h2>
|
||||
<div id="outline-container-org2848a02" class="outline-2">
|
||||
<h2 id="org2848a02"><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-orge37e84e" class="outline-3">
|
||||
<h3 id="orge37e84e"><span class="section-number-3">1.1</span> XYZ coordinates</h3>
|
||||
<div id="outline-container-org0f9f019" class="outline-3">
|
||||
<h3 id="org0f9f019"><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-org1f90cb6" class="outline-3">
|
||||
<h3 id="org1f90cb6"><span class="section-number-3">1.2</span> Atomic basis set</h3>
|
||||
<div id="outline-container-org0949234" class="outline-3">
|
||||
<h3 id="org0949234"><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-org2513037" class="outline-3">
|
||||
<h3 id="org2513037"><span class="section-number-3">1.3</span> Molecular orbitals</h3>
|
||||
<div id="outline-container-orga9fadea" class="outline-3">
|
||||
<h3 id="orga9fadea"><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-orga9b4f35" class="outline-3">
|
||||
<h3 id="orga9b4f35"><span class="section-number-3">1.4</span> Electron coordinates</h3>
|
||||
<div id="outline-container-orga9d6a7b" class="outline-3">
|
||||
<h3 id="orga9d6a7b"><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-org70c452a" class="outline-2">
|
||||
<h2 id="org70c452a"><span class="section-number-2">2</span> N2</h2>
|
||||
<div id="outline-container-org6d28fc4" class="outline-2">
|
||||
<h2 id="org6d28fc4"><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-org80b3821" class="outline-3">
|
||||
<h3 id="org80b3821"><span class="section-number-3">2.1</span> XYZ coordinates</h3>
|
||||
<div id="outline-container-orgdff8cbd" class="outline-3">
|
||||
<h3 id="orgdff8cbd"><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-org70f8c0f" class="outline-3">
|
||||
<h3 id="org70f8c0f"><span class="section-number-3">2.2</span> Electron coordinates</h3>
|
||||
<div id="outline-container-orgb0b1995" class="outline-3">
|
||||
<h3 id="orgb0b1995"><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-org0a326b9" class="outline-3">
|
||||
<h3 id="org0a326b9"><span class="section-number-3">2.3</span> Jastrow related data</h3>
|
||||
<div id="outline-container-orgcf5a109" class="outline-3">
|
||||
<h3 id="orgcf5a109"><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-06-15 Wed 14:22</p>
|
||||
<p class="date">Created: 2022-06-15 Wed 17:18</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-06-15 Wed 14:21 -->
|
||||
<!-- 2022-06-15 Wed 17:18 -->
|
||||
<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="#org7c5e965">1. Local functions</a>
|
||||
<li><a href="#orgd7797c0">1. Local functions</a>
|
||||
<ul>
|
||||
<li><a href="#org0a3c907">1.1. Open file</a></li>
|
||||
<li><a href="#orgb4fdb21">1.2. Electron</a></li>
|
||||
<li><a href="#orgfaabf17">1.3. Nucleus</a>
|
||||
<li><a href="#org859f91e">1.1. Open file</a></li>
|
||||
<li><a href="#orga6f5d68">1.2. Electron</a></li>
|
||||
<li><a href="#org981e05c">1.3. Nucleus</a>
|
||||
<ul>
|
||||
<li><a href="#orgd8b2d77">1.3.1. Number of nuclei</a></li>
|
||||
<li><a href="#org4615eea">1.3.2. Nuclear charges</a></li>
|
||||
<li><a href="#org10047ff">1.3.3. Nuclear coordinates</a></li>
|
||||
<li><a href="#org4ff7720">1.3.1. Number of nuclei</a></li>
|
||||
<li><a href="#org7b93d6b">1.3.2. Nuclear charges</a></li>
|
||||
<li><a href="#org82590b4">1.3.3. Nuclear coordinates</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orge96943f">1.4. Basis set and AOs</a>
|
||||
<li><a href="#orgfc33667">1.4. Basis set and AOs</a>
|
||||
<ul>
|
||||
<li><a href="#org5dc9514">1.4.1. Basis set type</a></li>
|
||||
<li><a href="#orgab61779">1.4.2. Number of shells</a></li>
|
||||
<li><a href="#org6d360e6">1.4.3. Number of primitives</a></li>
|
||||
<li><a href="#orga226629">1.4.4. Number of atomic orbitals</a></li>
|
||||
<li><a href="#orgc6f0294">1.4.5. Nucleus<sub>index</sub> array</a></li>
|
||||
<li><a href="#orgd1784e3">1.4.6. Number of shells per nucleus</a></li>
|
||||
<li><a href="#org646c63d">1.4.7. Angular momentum</a></li>
|
||||
<li><a href="#orgda57c80">1.4.8. Number of primitives per shell</a></li>
|
||||
<li><a href="#org236ea91">1.4.9. Indices of the primitives</a></li>
|
||||
<li><a href="#org7efb0bc">1.4.10. Normalization of the shells</a></li>
|
||||
<li><a href="#orgb0ef808">1.4.11. Exponents</a></li>
|
||||
<li><a href="#orgac2e742">1.4.12. Coefficients</a></li>
|
||||
<li><a href="#orgf32a8c0">1.4.13. Normalization of the primitivies</a></li>
|
||||
<li><a href="#org75e6e29">1.4.14. AO Normalization</a></li>
|
||||
<li><a href="#org51fbc68">1.4.1. Basis set type</a></li>
|
||||
<li><a href="#org52233a6">1.4.2. Number of shells</a></li>
|
||||
<li><a href="#orgdece3e6">1.4.3. Number of primitives</a></li>
|
||||
<li><a href="#orga266d43">1.4.4. Number of atomic orbitals</a></li>
|
||||
<li><a href="#orge5e1a68">1.4.5. Nucleus<sub>index</sub> array</a></li>
|
||||
<li><a href="#org4667bbe">1.4.6. Number of shells per nucleus</a></li>
|
||||
<li><a href="#org6cc7144">1.4.7. Angular momentum</a></li>
|
||||
<li><a href="#orgfd9b78e">1.4.8. Number of primitives per shell</a></li>
|
||||
<li><a href="#org6a64e5d">1.4.9. Indices of the primitives</a></li>
|
||||
<li><a href="#orgf0a16c5">1.4.10. Normalization of the shells</a></li>
|
||||
<li><a href="#orgd77d6a1">1.4.11. Exponents</a></li>
|
||||
<li><a href="#org157b8e6">1.4.12. Coefficients</a></li>
|
||||
<li><a href="#org629a600">1.4.13. Normalization of the primitivies</a></li>
|
||||
<li><a href="#orgcc6fdae">1.4.14. AO Normalization</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgfb79a51">1.5. Molecular orbitals</a>
|
||||
<li><a href="#org31292d3">1.5. Molecular orbitals</a>
|
||||
<ul>
|
||||
<li><a href="#org20f7429">1.5.1. Number of MOs</a></li>
|
||||
<li><a href="#orgc7554e4">1.5.2. MO coefficients</a></li>
|
||||
<li><a href="#orgf05869c">1.5.1. Number of MOs</a></li>
|
||||
<li><a href="#org4a855d8">1.5.2. MO coefficients</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org7176a3e">1.6. <span class="todo TODO">TODO</span> ECP</a></li>
|
||||
<li><a href="#orgb6cfd63">1.6. <span class="todo TODO">TODO</span> ECP</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org66db0f7">2. Read everything</a></li>
|
||||
<li><a href="#org3a7650e">3. Test</a>
|
||||
<li><a href="#org0bb152a">2. Read everything</a></li>
|
||||
<li><a href="#org47f4d07">3. Test</a>
|
||||
<ul>
|
||||
<li>
|
||||
<ul>
|
||||
<li><a href="#orga57b88b">3.0.1. Electrons</a></li>
|
||||
<li><a href="#org4f62f5d">3.0.2. Nuclei</a></li>
|
||||
<li><a href="#org1ec8f4e">3.0.3. Atomic basis</a></li>
|
||||
<li><a href="#org46b03e9">3.0.4. MO Basis</a></li>
|
||||
<li><a href="#orgacc64f9">3.0.1. Electrons</a></li>
|
||||
<li><a href="#org04a00b5">3.0.2. Nuclei</a></li>
|
||||
<li><a href="#org6eb30c8">3.0.3. Atomic basis</a></li>
|
||||
<li><a href="#org0eaca25">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-org7c5e965" class="outline-2">
|
||||
<h2 id="org7c5e965"><span class="section-number-2">1</span> Local functions</h2>
|
||||
<div id="outline-container-orgd7797c0" class="outline-2">
|
||||
<h2 id="orgd7797c0"><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-org0a3c907" class="outline-3">
|
||||
<h3 id="org0a3c907"><span class="section-number-3">1.1</span> Open file</h3>
|
||||
<div id="outline-container-org859f91e" class="outline-3">
|
||||
<h3 id="org859f91e"><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-orgb4fdb21" class="outline-3">
|
||||
<h3 id="orgb4fdb21"><span class="section-number-3">1.2</span> Electron</h3>
|
||||
<div id="outline-container-orga6f5d68" class="outline-3">
|
||||
<h3 id="orga6f5d68"><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-orgfaabf17" class="outline-3">
|
||||
<h3 id="orgfaabf17"><span class="section-number-3">1.3</span> Nucleus</h3>
|
||||
<div id="outline-container-org981e05c" class="outline-3">
|
||||
<h3 id="org981e05c"><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-orgd8b2d77" class="outline-4">
|
||||
<h4 id="orgd8b2d77"><span class="section-number-4">1.3.1</span> Number of nuclei</h4>
|
||||
<div id="outline-container-org4ff7720" class="outline-4">
|
||||
<h4 id="org4ff7720"><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-org4615eea" class="outline-4">
|
||||
<h4 id="org4615eea"><span class="section-number-4">1.3.2</span> Nuclear charges</h4>
|
||||
<div id="outline-container-org7b93d6b" class="outline-4">
|
||||
<h4 id="org7b93d6b"><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-org10047ff" class="outline-4">
|
||||
<h4 id="org10047ff"><span class="section-number-4">1.3.3</span> Nuclear coordinates</h4>
|
||||
<div id="outline-container-org82590b4" class="outline-4">
|
||||
<h4 id="org82590b4"><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-orge96943f" class="outline-3">
|
||||
<h3 id="orge96943f"><span class="section-number-3">1.4</span> Basis set and AOs</h3>
|
||||
<div id="outline-container-orgfc33667" class="outline-3">
|
||||
<h3 id="orgfc33667"><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-org5dc9514" class="outline-4">
|
||||
<h4 id="org5dc9514"><span class="section-number-4">1.4.1</span> Basis set type</h4>
|
||||
<div id="outline-container-org51fbc68" class="outline-4">
|
||||
<h4 id="org51fbc68"><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-orgab61779" class="outline-4">
|
||||
<h4 id="orgab61779"><span class="section-number-4">1.4.2</span> Number of shells</h4>
|
||||
<div id="outline-container-org52233a6" class="outline-4">
|
||||
<h4 id="org52233a6"><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-org6d360e6" class="outline-4">
|
||||
<h4 id="org6d360e6"><span class="section-number-4">1.4.3</span> Number of primitives</h4>
|
||||
<div id="outline-container-orgdece3e6" class="outline-4">
|
||||
<h4 id="orgdece3e6"><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-orga226629" class="outline-4">
|
||||
<h4 id="orga226629"><span class="section-number-4">1.4.4</span> Number of atomic orbitals</h4>
|
||||
<div id="outline-container-orga266d43" class="outline-4">
|
||||
<h4 id="orga266d43"><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-orgc6f0294" class="outline-4">
|
||||
<h4 id="orgc6f0294"><span class="section-number-4">1.4.5</span> Nucleus<sub>index</sub> array</h4>
|
||||
<div id="outline-container-orge5e1a68" class="outline-4">
|
||||
<h4 id="orge5e1a68"><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-orgd1784e3" class="outline-4">
|
||||
<h4 id="orgd1784e3"><span class="section-number-4">1.4.6</span> Number of shells per nucleus</h4>
|
||||
<div id="outline-container-org4667bbe" class="outline-4">
|
||||
<h4 id="org4667bbe"><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-org646c63d" class="outline-4">
|
||||
<h4 id="org646c63d"><span class="section-number-4">1.4.7</span> Angular momentum</h4>
|
||||
<div id="outline-container-org6cc7144" class="outline-4">
|
||||
<h4 id="org6cc7144"><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-orgda57c80" class="outline-4">
|
||||
<h4 id="orgda57c80"><span class="section-number-4">1.4.8</span> Number of primitives per shell</h4>
|
||||
<div id="outline-container-orgfd9b78e" class="outline-4">
|
||||
<h4 id="orgfd9b78e"><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-org236ea91" class="outline-4">
|
||||
<h4 id="org236ea91"><span class="section-number-4">1.4.9</span> Indices of the primitives</h4>
|
||||
<div id="outline-container-org6a64e5d" class="outline-4">
|
||||
<h4 id="org6a64e5d"><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-org7efb0bc" class="outline-4">
|
||||
<h4 id="org7efb0bc"><span class="section-number-4">1.4.10</span> Normalization of the shells</h4>
|
||||
<div id="outline-container-orgf0a16c5" class="outline-4">
|
||||
<h4 id="orgf0a16c5"><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-orgb0ef808" class="outline-4">
|
||||
<h4 id="orgb0ef808"><span class="section-number-4">1.4.11</span> Exponents</h4>
|
||||
<div id="outline-container-orgd77d6a1" class="outline-4">
|
||||
<h4 id="orgd77d6a1"><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-orgac2e742" class="outline-4">
|
||||
<h4 id="orgac2e742"><span class="section-number-4">1.4.12</span> Coefficients</h4>
|
||||
<div id="outline-container-org157b8e6" class="outline-4">
|
||||
<h4 id="org157b8e6"><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-orgf32a8c0" class="outline-4">
|
||||
<h4 id="orgf32a8c0"><span class="section-number-4">1.4.13</span> Normalization of the primitivies</h4>
|
||||
<div id="outline-container-org629a600" class="outline-4">
|
||||
<h4 id="org629a600"><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-org75e6e29" class="outline-4">
|
||||
<h4 id="org75e6e29"><span class="section-number-4">1.4.14</span> AO Normalization</h4>
|
||||
<div id="outline-container-orgcc6fdae" class="outline-4">
|
||||
<h4 id="orgcc6fdae"><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-orgfb79a51" class="outline-3">
|
||||
<h3 id="orgfb79a51"><span class="section-number-3">1.5</span> Molecular orbitals</h3>
|
||||
<div id="outline-container-org31292d3" class="outline-3">
|
||||
<h3 id="org31292d3"><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-org20f7429" class="outline-4">
|
||||
<h4 id="org20f7429"><span class="section-number-4">1.5.1</span> Number of MOs</h4>
|
||||
<div id="outline-container-orgf05869c" class="outline-4">
|
||||
<h4 id="orgf05869c"><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-orgc7554e4" class="outline-4">
|
||||
<h4 id="orgc7554e4"><span class="section-number-4">1.5.2</span> MO coefficients</h4>
|
||||
<div id="outline-container-org4a855d8" class="outline-4">
|
||||
<h4 id="org4a855d8"><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-org7176a3e" class="outline-3">
|
||||
<h3 id="org7176a3e"><span class="section-number-3">1.6</span> <span class="todo TODO">TODO</span> ECP</h3>
|
||||
<div id="outline-container-orgb6cfd63" class="outline-3">
|
||||
<h3 id="orgb6cfd63"><span class="section-number-3">1.6</span> <span class="todo TODO">TODO</span> ECP</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org66db0f7" class="outline-2">
|
||||
<h2 id="org66db0f7"><span class="section-number-2">2</span> Read everything</h2>
|
||||
<div id="outline-container-org0bb152a" class="outline-2">
|
||||
<h2 id="org0bb152a"><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-org3a7650e" class="outline-2">
|
||||
<h2 id="org3a7650e"><span class="section-number-2">3</span> Test</h2>
|
||||
<div id="outline-container-org47f4d07" class="outline-2">
|
||||
<h2 id="org47f4d07"><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-orga57b88b" class="outline-4">
|
||||
<h4 id="orga57b88b"><span class="section-number-4">3.0.1</span> Electrons</h4>
|
||||
<div id="outline-container-orgacc64f9" class="outline-4">
|
||||
<h4 id="orgacc64f9"><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-org4f62f5d" class="outline-4">
|
||||
<h4 id="org4f62f5d"><span class="section-number-4">3.0.2</span> Nuclei</h4>
|
||||
<div id="outline-container-org04a00b5" class="outline-4">
|
||||
<h4 id="org04a00b5"><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-org1ec8f4e" class="outline-4">
|
||||
<h4 id="org1ec8f4e"><span class="section-number-4">3.0.3</span> Atomic basis</h4>
|
||||
<div id="outline-container-org6eb30c8" class="outline-4">
|
||||
<h4 id="org6eb30c8"><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-org46b03e9" class="outline-4">
|
||||
<h4 id="org46b03e9"><span class="section-number-4">3.0.4</span> MO Basis</h4>
|
||||
<div id="outline-container-org0eaca25" class="outline-4">
|
||||
<h4 id="org0eaca25"><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-06-15 Wed 14:21</p>
|
||||
<p class="date">Created: 2022-06-15 Wed 17:18</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-06-15 Wed 14:22 -->
|
||||
<!-- 2022-06-15 Wed 17:18 -->
|
||||
<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="#org90cdb87">1. Verificarlo probes</a>
|
||||
<li><a href="#org072478f">1. Verificarlo probes</a>
|
||||
<ul>
|
||||
<li><a href="#org208a340">1.1. Automatically initialize the <code>vfc_probe</code> object if <code>VFC_CI</code> is defined</a></li>
|
||||
<li><a href="#orgfe6334c">1.2. Standard probe, without check</a></li>
|
||||
<li><a href="#org748bcfb">1.3. Probe with absolute check</a></li>
|
||||
<li><a href="#org6dcf899">1.4. Probe with relative check</a></li>
|
||||
<li><a href="#orgfce8c3c">1.5. Automatically delete and dump the vfc<sub>probe</sub> object if <code>VFC_CI</code> is defined</a></li>
|
||||
<li><a href="#org2c99e48">1.1. Automatically initialize the <code>vfc_probe</code> object if <code>VFC_CI</code> is defined</a></li>
|
||||
<li><a href="#org30546a5">1.2. Standard probe, without check</a></li>
|
||||
<li><a href="#org61ae114">1.3. Probe with absolute check</a></li>
|
||||
<li><a href="#orgbf640d0">1.4. Probe with relative check</a></li>
|
||||
<li><a href="#orgf5dfaa7">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="#orga328bcc">2. Fortran wrappers</a></li>
|
||||
<li><a href="#org191d4ef">2. Fortran wrappers</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org90cdb87" class="outline-2">
|
||||
<h2 id="org90cdb87"><span class="section-number-2">1</span> Verificarlo probes</h2>
|
||||
<div id="outline-container-org072478f" class="outline-2">
|
||||
<h2 id="org072478f"><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-org208a340" class="outline-3">
|
||||
<h3 id="org208a340"><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-org2c99e48" class="outline-3">
|
||||
<h3 id="org2c99e48"><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-orgfe6334c" class="outline-3">
|
||||
<h3 id="orgfe6334c"><span class="section-number-3">1.2</span> Standard probe, without check</h3>
|
||||
<div id="outline-container-org30546a5" class="outline-3">
|
||||
<h3 id="org30546a5"><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-org748bcfb" class="outline-3">
|
||||
<h3 id="org748bcfb"><span class="section-number-3">1.3</span> Probe with absolute check</h3>
|
||||
<div id="outline-container-org61ae114" class="outline-3">
|
||||
<h3 id="org61ae114"><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-org6dcf899" class="outline-3">
|
||||
<h3 id="org6dcf899"><span class="section-number-3">1.4</span> Probe with relative check</h3>
|
||||
<div id="outline-container-orgbf640d0" class="outline-3">
|
||||
<h3 id="orgbf640d0"><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-orgfce8c3c" class="outline-3">
|
||||
<h3 id="orgfce8c3c"><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-orgf5dfaa7" class="outline-3">
|
||||
<h3 id="orgf5dfaa7"><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-orga328bcc" class="outline-2">
|
||||
<h2 id="orga328bcc"><span class="section-number-2">2</span> Fortran wrappers</h2>
|
||||
<div id="outline-container-org191d4ef" class="outline-2">
|
||||
<h2 id="org191d4ef"><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-06-15 Wed 14:22</p>
|
||||
<p class="date">Created: 2022-06-15 Wed 17:18</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
Loading…
x
Reference in New Issue
Block a user