mirror of
https://github.com/TREX-CoE/qmckl.git
synced 2024-11-03 20:54:09 +01:00
Deploying to gh-pages from @ TREX-CoE/qmckl@bac6bf9cb8 🚀
This commit is contained in:
parent
01bcabe310
commit
da0bdd5aba
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2022-02-11 Fri 15:00 -->
|
||||
<!-- 2022-02-11 Fri 15:09 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>QMCkl source code documentation</title>
|
||||
@ -361,7 +361,7 @@ and bug reports should be submitted at
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-02-11 Fri 15:00</p>
|
||||
<p class="date">Created: 2022-02-11 Fri 15:09</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
118
qmckl.html
118
qmckl.html
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2022-02-11 Fri 14:59 -->
|
||||
<!-- 2022-02-11 Fri 15:08 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Introduction</title>
|
||||
@ -333,36 +333,36 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org1f0df51">1. Installing QMCkl</a>
|
||||
<li><a href="#org6eff5ed">1. Installing QMCkl</a>
|
||||
<ul>
|
||||
<li><a href="#org42b29a7">1.1. Installing from the released tarball (for end users)</a></li>
|
||||
<li><a href="#orgdf4a2bf">1.2. Installing from the source repository (for developers)</a></li>
|
||||
<li><a href="#org91c54e8">1.1. Installing from the released tarball (for end users)</a></li>
|
||||
<li><a href="#orgeafde8a">1.2. Installing from the source repository (for developers)</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org9b48422">2. Using QMCkl</a></li>
|
||||
<li><a href="#org0cd0a75">3. Developing in QMCkl</a>
|
||||
<li><a href="#org275b10f">2. Using QMCkl</a></li>
|
||||
<li><a href="#orgdddfa5f">3. Developing in QMCkl</a>
|
||||
<ul>
|
||||
<li><a href="#org0535e6f">3.1. Literate programming</a></li>
|
||||
<li><a href="#org17328ee">3.2. Source code editing</a></li>
|
||||
<li><a href="#orgbaf5b3b">3.3. Choice of the programming language</a></li>
|
||||
<li><a href="#org10c86b4">3.4. Coding rules</a></li>
|
||||
<li><a href="#org3455fb8">3.5. Design of the library</a></li>
|
||||
<li><a href="#orge121a43">3.6. Naming conventions</a></li>
|
||||
<li><a href="#org5add588">3.7. Application programming interface</a></li>
|
||||
<li><a href="#org53a8d50">3.8. Global state</a></li>
|
||||
<li><a href="#org04e2bd1">3.9. Headers</a></li>
|
||||
<li><a href="#orgb3301cd">3.10. Low-level functions</a></li>
|
||||
<li><a href="#org7b53e60">3.11. High-level functions</a></li>
|
||||
<li><a href="#orgd2d0e10">3.12. Numerical precision</a></li>
|
||||
<li><a href="#orgbc9cf80">3.13. Algorithms</a></li>
|
||||
<li><a href="#orgc0dbf06">3.1. Literate programming</a></li>
|
||||
<li><a href="#org126bf21">3.2. Source code editing</a></li>
|
||||
<li><a href="#org509381f">3.3. Choice of the programming language</a></li>
|
||||
<li><a href="#org98e5c83">3.4. Coding rules</a></li>
|
||||
<li><a href="#org797fec1">3.5. Design of the library</a></li>
|
||||
<li><a href="#orgec416c2">3.6. Naming conventions</a></li>
|
||||
<li><a href="#orga7896e8">3.7. Application programming interface</a></li>
|
||||
<li><a href="#orgfe2aa4f">3.8. Global state</a></li>
|
||||
<li><a href="#org0fac4a4">3.9. Headers</a></li>
|
||||
<li><a href="#orgaf98b97">3.10. Low-level functions</a></li>
|
||||
<li><a href="#org421cf5f">3.11. High-level functions</a></li>
|
||||
<li><a href="#orgc81dcc5">3.12. Numerical precision</a></li>
|
||||
<li><a href="#org55ca209">3.13. Algorithms</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1f0df51" class="outline-2">
|
||||
<h2 id="org1f0df51"><span class="section-number-2">1</span> Installing QMCkl</h2>
|
||||
<div id="outline-container-org6eff5ed" class="outline-2">
|
||||
<h2 id="org6eff5ed"><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-org42b29a7" class="outline-3">
|
||||
<h3 id="org42b29a7"><span class="section-number-3">1.1</span> Installing from the released tarball (for end users)</h3>
|
||||
<div id="outline-container-org91c54e8" class="outline-3">
|
||||
<h3 id="org91c54e8"><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-orgdf4a2bf" class="outline-3">
|
||||
<h3 id="orgdf4a2bf"><span class="section-number-3">1.2</span> Installing from the source repository (for developers)</h3>
|
||||
<div id="outline-container-orgeafde8a" class="outline-3">
|
||||
<h3 id="orgeafde8a"><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-org9b48422" class="outline-2">
|
||||
<h2 id="org9b48422"><span class="section-number-2">2</span> Using QMCkl</h2>
|
||||
<div id="outline-container-org275b10f" class="outline-2">
|
||||
<h2 id="org275b10f"><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-org0cd0a75" class="outline-2">
|
||||
<h2 id="org0cd0a75"><span class="section-number-2">3</span> Developing in QMCkl</h2>
|
||||
<div id="outline-container-orgdddfa5f" class="outline-2">
|
||||
<h2 id="orgdddfa5f"><span class="section-number-2">3</span> Developing in QMCkl</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
</div>
|
||||
<div id="outline-container-org0535e6f" class="outline-3">
|
||||
<h3 id="org0535e6f"><span class="section-number-3">3.1</span> Literate programming</h3>
|
||||
<div id="outline-container-orgc0dbf06" class="outline-3">
|
||||
<h3 id="orgc0dbf06"><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-org17328ee" class="outline-3">
|
||||
<h3 id="org17328ee"><span class="section-number-3">3.2</span> Source code editing</h3>
|
||||
<div id="outline-container-org126bf21" class="outline-3">
|
||||
<h3 id="org126bf21"><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-orgbaf5b3b" class="outline-3">
|
||||
<h3 id="orgbaf5b3b"><span class="section-number-3">3.3</span> Choice of the programming language</h3>
|
||||
<div id="outline-container-org509381f" class="outline-3">
|
||||
<h3 id="org509381f"><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-org10c86b4" class="outline-3">
|
||||
<h3 id="org10c86b4"><span class="section-number-3">3.4</span> Coding rules</h3>
|
||||
<div id="outline-container-org98e5c83" class="outline-3">
|
||||
<h3 id="org98e5c83"><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-org3455fb8" class="outline-3">
|
||||
<h3 id="org3455fb8"><span class="section-number-3">3.5</span> Design of the library</h3>
|
||||
<div id="outline-container-org797fec1" class="outline-3">
|
||||
<h3 id="org797fec1"><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-orge121a43" class="outline-3">
|
||||
<h3 id="orge121a43"><span class="section-number-3">3.6</span> Naming conventions</h3>
|
||||
<div id="outline-container-orgec416c2" class="outline-3">
|
||||
<h3 id="orgec416c2"><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-org5add588" class="outline-3">
|
||||
<h3 id="org5add588"><span class="section-number-3">3.7</span> Application programming interface</h3>
|
||||
<div id="outline-container-orga7896e8" class="outline-3">
|
||||
<h3 id="orga7896e8"><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-org53a8d50" class="outline-3">
|
||||
<h3 id="org53a8d50"><span class="section-number-3">3.8</span> Global state</h3>
|
||||
<div id="outline-container-orgfe2aa4f" class="outline-3">
|
||||
<h3 id="orgfe2aa4f"><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="org642dced">=context=</a> contains the global
|
||||
<code>qmckl_context_create</code> function. The <a id="orgb367aa2">=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-org04e2bd1" class="outline-3">
|
||||
<h3 id="org04e2bd1"><span class="section-number-3">3.9</span> Headers</h3>
|
||||
<div id="outline-container-org0fac4a4" class="outline-3">
|
||||
<h3 id="org0fac4a4"><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-orgb3301cd" class="outline-3">
|
||||
<h3 id="orgb3301cd"><span class="section-number-3">3.10</span> Low-level functions</h3>
|
||||
<div id="outline-container-orgaf98b97" class="outline-3">
|
||||
<h3 id="orgaf98b97"><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="#org642dced"><code>context</code></a>. They are not allowed to allocate/deallocate memory, and
|
||||
<a href="#orgb367aa2"><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-org7b53e60" class="outline-3">
|
||||
<h3 id="org7b53e60"><span class="section-number-3">3.11</span> High-level functions</h3>
|
||||
<div id="outline-container-org421cf5f" class="outline-3">
|
||||
<h3 id="org421cf5f"><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-orgd2d0e10" class="outline-3">
|
||||
<h3 id="orgd2d0e10"><span class="section-number-3">3.12</span> Numerical precision</h3>
|
||||
<div id="outline-container-orgc81dcc5" class="outline-3">
|
||||
<h3 id="orgc81dcc5"><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="#org642dced"><code>context</code></a> variable.
|
||||
specified in the <a href="#orgb367aa2"><code>context</code></a> variable.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
@ -896,8 +896,8 @@ following points :
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbc9cf80" class="outline-3">
|
||||
<h3 id="orgbc9cf80"><span class="section-number-3">3.13</span> Algorithms</h3>
|
||||
<div id="outline-container-org55ca209" class="outline-3">
|
||||
<h3 id="org55ca209"><span class="section-number-3">3.13</span> Algorithms</h3>
|
||||
<div class="outline-text-3" id="text-3-13">
|
||||
<p>
|
||||
Reducing the scaling of an algorithm usually implies also reducing
|
||||
@ -913,7 +913,7 @@ implemented adapted to different problem sizes.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-02-11 Fri 14:59</p>
|
||||
<p class="date">Created: 2022-02-11 Fri 15:08</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
625
qmckl_ao.html
625
qmckl_ao.html
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2022-02-11 Fri 15:00 -->
|
||||
<!-- 2022-02-11 Fri 15:09 -->
|
||||
<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,53 +333,59 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org3649121">1. Introduction</a></li>
|
||||
<li><a href="#org6a89afb">2. Context</a>
|
||||
<li><a href="#org7afbc53">1. Introduction</a></li>
|
||||
<li><a href="#org0cf8706">2. Context</a>
|
||||
<ul>
|
||||
<li><a href="#orgc45f58f">2.1. Constant data</a>
|
||||
<li><a href="#org010f6e4">2.1. Constant data</a>
|
||||
<ul>
|
||||
<li><a href="#org13d8c7a">2.1.1. Initialization functions</a>
|
||||
<li><a href="#org388a5a8">2.1.1. Initialization functions</a>
|
||||
<ul>
|
||||
<li><a href="#orgfa4440f">2.1.1.1. C interface</a></li>
|
||||
<li><a href="#org91d8e8c">2.1.1.2. Fortran interface</a></li>
|
||||
<li><a href="#orge3703d2">2.1.1.1. C interface</a></li>
|
||||
<li><a href="#orgc817eca">2.1.1.2. Fortran interface</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org97411ef">2.1.2. Access functions</a>
|
||||
<li><a href="#org50c20a1">2.1.2. Access functions</a>
|
||||
<ul>
|
||||
<li><a href="#org9edc2b4">2.1.2.1. C interface</a></li>
|
||||
<li><a href="#org1351a25">2.1.2.2. Fortran interface</a></li>
|
||||
<li><a href="#org5bfda50">2.1.2.1. C interface</a></li>
|
||||
<li><a href="#org3b89e05">2.1.2.2. Fortran interface</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgf3a54f8">2.2. Computed data</a>
|
||||
<li><a href="#orgc0fb7e5">2.2. Computed data</a>
|
||||
<ul>
|
||||
<li><a href="#orgac8886c">2.2.1. After initialization</a></li>
|
||||
<li><a href="#org3ae7cb4">2.2.2. Access functions</a></li>
|
||||
<li><a href="#org4d583d0">2.2.1. After initialization</a></li>
|
||||
<li><a href="#org6dfc957">2.2.2. Access functions</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org138e8ed">3. Radial part</a>
|
||||
<li><a href="#org0857cdb">3. Radial part</a>
|
||||
<ul>
|
||||
<li><a href="#orgf1de3dd">3.1. General functions for Gaussian basis functions</a></li>
|
||||
<li><a href="#org8a4668b">3.2. Computation of primitives</a></li>
|
||||
<li><a href="#org368d557">3.3. Computation of shells</a></li>
|
||||
<li><a href="#org4b5373d">3.1. General functions for Gaussian basis functions</a></li>
|
||||
<li><a href="#orga4bdd7c">3.2. Computation of primitives</a></li>
|
||||
<li><a href="#orgb6dcbb3">3.3. Computation of shells</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orge9993af">4. Polynomial part</a>
|
||||
<li><a href="#org6091ea6">4. Polynomial part</a>
|
||||
<ul>
|
||||
<li><a href="#orgfd3d3c7">4.1. General functions for Powers of \(x-X_i\)</a></li>
|
||||
<li><a href="#org56be06a">4.2. General functions for Value, Gradient and Laplacian of a polynomial</a></li>
|
||||
<li><a href="#org3ee31f2">4.1. General functions for Powers of \(x-X_i\)</a></li>
|
||||
<li><a href="#org456e8d8">4.2. General functions for Value, Gradient and Laplacian of a polynomial</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orged1f637">5. Combining radial and polynomial parts</a>
|
||||
<ul>
|
||||
<li><a href="#org09cd1dd">5.1. Unoptimized version</a></li>
|
||||
<li><a href="#org3d02c33">5.2. HPC version</a></li>
|
||||
<li><a href="#orge815ea0">5.3. Interfaces</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgc99b8a8">5. Combining radial and polynomial parts</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3649121" class="outline-2">
|
||||
<h2 id="org3649121"><span class="section-number-2">1</span> Introduction</h2>
|
||||
<div id="outline-container-org7afbc53" class="outline-2">
|
||||
<h2 id="org7afbc53"><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
|
||||
@ -432,19 +438,19 @@ gradients and Laplacian of the atomic basis functions.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6a89afb" class="outline-2">
|
||||
<h2 id="org6a89afb"><span class="section-number-2">2</span> Context</h2>
|
||||
<div id="outline-container-org0cf8706" class="outline-2">
|
||||
<h2 id="org0cf8706"><span class="section-number-2">2</span> Context</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-orgc45f58f" class="outline-3">
|
||||
<h3 id="orgc45f58f"><span class="section-number-3">2.1</span> Constant data</h3>
|
||||
<div id="outline-container-org010f6e4" class="outline-3">
|
||||
<h3 id="org010f6e4"><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="org9e5c360" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org19a5b76" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -618,7 +624,7 @@ calling the functions:
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-C" id="orgc08d46e"><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="org9b25281"><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>,
|
||||
@ -655,7 +661,7 @@ For array variables, use the rule:
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-C" id="org4a9317a"><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="org60b82a4"><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>);
|
||||
|
||||
@ -693,17 +699,17 @@ For array variables, use the rule:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org13d8c7a" class="outline-4">
|
||||
<h4 id="org13d8c7a"><span class="section-number-4">2.1.1</span> Initialization functions</h4>
|
||||
<div id="outline-container-org388a5a8" class="outline-4">
|
||||
<h4 id="org388a5a8"><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="#org6a89afb">2</a>.
|
||||
equal of larger than the value given in the table of section <a href="#org0cf8706">2</a>.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgfa4440f" class="outline-5">
|
||||
<h5 id="orgfa4440f"><span class="section-number-5">2.1.1.1</span> C interface</h5>
|
||||
<div id="outline-container-orge3703d2" class="outline-5">
|
||||
<h5 id="orge3703d2"><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
|
||||
@ -827,8 +833,8 @@ called.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org91d8e8c" class="outline-5">
|
||||
<h5 id="org91d8e8c"><span class="section-number-5">2.1.1.2</span> Fortran interface</h5>
|
||||
<div id="outline-container-orgc817eca" class="outline-5">
|
||||
<h5 id="orgc817eca"><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>
|
||||
@ -1011,17 +1017,17 @@ called.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org97411ef" class="outline-4">
|
||||
<h4 id="org97411ef"><span class="section-number-4">2.1.2</span> Access functions</h4>
|
||||
<div id="outline-container-org50c20a1" class="outline-4">
|
||||
<h4 id="org50c20a1"><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="#org6a89afb">2</a>.
|
||||
equal of larger than the value given in the table of section <a href="#org0cf8706">2</a>.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9edc2b4" class="outline-5">
|
||||
<h5 id="org9edc2b4"><span class="section-number-5">2.1.2.1</span> C interface</h5>
|
||||
<div id="outline-container-org5bfda50" class="outline-5">
|
||||
<h5 id="org5bfda50"><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>
|
||||
@ -1143,8 +1149,8 @@ function returns <code>true</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1351a25" class="outline-5">
|
||||
<h5 id="org1351a25"><span class="section-number-5">2.1.2.2</span> Fortran interface</h5>
|
||||
<div id="outline-container-org3b89e05" class="outline-5">
|
||||
<h5 id="org3b89e05"><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>
|
||||
@ -1328,8 +1334,8 @@ function returns <code>true</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf3a54f8" class="outline-3">
|
||||
<h3 id="orgf3a54f8"><span class="section-number-3">2.2</span> Computed data</h3>
|
||||
<div id="outline-container-orgc0fb7e5" class="outline-3">
|
||||
<h3 id="orgc0fb7e5"><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:
|
||||
@ -1355,7 +1361,7 @@ The following data is computed as described in the next sections:
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="org-left"><code>primitive_vgl</code></td>
|
||||
<td class="org-left"><code>double[5][point_num][prim_num]</code></td>
|
||||
<td class="org-left"><code>double[point_num][5][prim_num]</code></td>
|
||||
<td class="org-left">Value, gradients, Laplacian of the primitives at current positions</td>
|
||||
</tr>
|
||||
|
||||
@ -1367,7 +1373,7 @@ The following data is computed as described in the next sections:
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>shell_vgl</code></td>
|
||||
<td class="org-left"><code>double[5][point_num][shell_num]</code></td>
|
||||
<td class="org-left"><code>double[point_num][5][shell_num]</code></td>
|
||||
<td class="org-left">Value, gradients, Laplacian of the primitives at current positions</td>
|
||||
</tr>
|
||||
|
||||
@ -1379,7 +1385,7 @@ The following data is computed as described in the next sections:
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>ao_vgl</code></td>
|
||||
<td class="org-left"><code>double[5][point_num][ao_num]</code></td>
|
||||
<td class="org-left"><code>double[point_num][5][ao_num]</code></td>
|
||||
<td class="org-left">Value, gradients, Laplacian of the primitives at current positions</td>
|
||||
</tr>
|
||||
|
||||
@ -1393,8 +1399,8 @@ The following data is computed as described in the next sections:
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgac8886c" class="outline-4">
|
||||
<h4 id="orgac8886c"><span class="section-number-4">2.2.1</span> After initialization</h4>
|
||||
<div id="outline-container-org4d583d0" class="outline-4">
|
||||
<h4 id="org4d583d0"><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
|
||||
@ -1408,8 +1414,8 @@ the context.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3ae7cb4" class="outline-4">
|
||||
<h4 id="org3ae7cb4"><span class="section-number-4">2.2.2</span> Access functions</h4>
|
||||
<div id="outline-container-org6dfc957" class="outline-4">
|
||||
<h4 id="org6dfc957"><span class="section-number-4">2.2.2</span> Access functions</h4>
|
||||
<div class="outline-text-4" id="text-2-2-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
|
||||
@ -1422,7 +1428,7 @@ the context.
|
||||
<p>
|
||||
Returns the array of values, gradients an Laplacian of primitive
|
||||
basis functions evaluated at the current coordinates.
|
||||
See section <a href="#org8a4668b">3.2</a>.
|
||||
See section <a href="#orga4bdd7c">3.2</a>.
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
@ -1435,7 +1441,7 @@ See section <a href="#org8a4668b">3.2</a>.
|
||||
|
||||
<p>
|
||||
Returns the array of values, gradients an Laplacian of contracted shells
|
||||
evaluated at the current coordinates. See section <a href="#org368d557">3.3</a>.
|
||||
evaluated at the current coordinates. See section <a href="#orgb6dcbb3">3.3</a>.
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
@ -1449,19 +1455,19 @@ evaluated at the current coordinates. See section <a href="#org368d557">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="#orgc99b8a8">5</a>.
|
||||
See section <a href="#orged1f637">5</a>.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org138e8ed" class="outline-2">
|
||||
<h2 id="org138e8ed"><span class="section-number-2">3</span> Radial part</h2>
|
||||
<div id="outline-container-org0857cdb" class="outline-2">
|
||||
<h2 id="org0857cdb"><span class="section-number-2">3</span> Radial part</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
</div>
|
||||
<div id="outline-container-orgf1de3dd" class="outline-3">
|
||||
<h3 id="orgf1de3dd"><span class="section-number-3">3.1</span> General functions for Gaussian basis functions</h3>
|
||||
<div id="outline-container-org4b5373d" class="outline-3">
|
||||
<h3 id="org4b5373d"><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
|
||||
@ -1632,10 +1638,10 @@ Requirements:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8a4668b" class="outline-3">
|
||||
<h3 id="org8a4668b"><span class="section-number-3">3.2</span> Computation of primitives</h3>
|
||||
<div id="outline-container-orga4bdd7c" class="outline-3">
|
||||
<h3 id="orga4bdd7c"><span class="section-number-3">3.2</span> Computation of primitives</h3>
|
||||
<div class="outline-text-3" id="text-3-2">
|
||||
<table id="org4f65f87" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org819885b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1714,7 +1720,7 @@ Requirements:
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>primitive_vgl</code></td>
|
||||
<td class="org-left"><code>double[5][point_num][prim_num]</code></td>
|
||||
<td class="org-left"><code>double[point_num][5][prim_num]</code></td>
|
||||
<td class="org-left">out</td>
|
||||
<td class="org-left">Value, gradients and Laplacian of the primitives</td>
|
||||
</tr>
|
||||
@ -1753,7 +1759,7 @@ Requirements:
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> coord(point_num,3)</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> nucl_coord(nucl_num,3)</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> expo(prim_num)</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(out) ::<span style="color: #a0522d;"> primitive_vgl(prim_num,point_num,5)</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(out) ::<span style="color: #a0522d;"> primitive_vgl(prim_num,5,point_num)</span>
|
||||
|
||||
<span style="color: #228b22;">integer</span>*8 ::<span style="color: #a0522d;"> inucl, iprim, ipoint</span>
|
||||
<span style="color: #228b22;">double precision</span> ::<span style="color: #a0522d;"> x, y, z, two_a, ar2, r2, v, cutoff</span>
|
||||
@ -1778,11 +1784,11 @@ Requirements:
|
||||
v = dexp(-ar2)
|
||||
two_a = -2.d0 * expo(iprim) * v
|
||||
|
||||
primitive_vgl(iprim, ipoint, 1) = v
|
||||
primitive_vgl(iprim, ipoint, 2) = two_a * x
|
||||
primitive_vgl(iprim, ipoint, 3) = two_a * y
|
||||
primitive_vgl(iprim, ipoint, 4) = two_a * z
|
||||
primitive_vgl(iprim, ipoint, 5) = two_a * (3.d0 - 2.d0*ar2)
|
||||
primitive_vgl(iprim, 1, ipoint) = v
|
||||
primitive_vgl(iprim, 2, ipoint) = two_a * x
|
||||
primitive_vgl(iprim, 3, ipoint) = two_a * y
|
||||
primitive_vgl(iprim, 4, ipoint) = two_a * z
|
||||
primitive_vgl(iprim, 5, ipoint) = two_a * (3.d0 - 2.d0*ar2)
|
||||
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
@ -1794,10 +1800,10 @@ Requirements:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org368d557" class="outline-3">
|
||||
<h3 id="org368d557"><span class="section-number-3">3.3</span> Computation of shells</h3>
|
||||
<div id="outline-container-orgb6dcbb3" class="outline-3">
|
||||
<h3 id="orgb6dcbb3"><span class="section-number-3">3.3</span> Computation of shells</h3>
|
||||
<div class="outline-text-3" id="text-3-3">
|
||||
<table id="org00bcd3a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgb84e065" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1911,7 +1917,7 @@ Requirements:
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>shell_vgl</code></td>
|
||||
<td class="org-left"><code>double[5][point_num][shell_num]</code></td>
|
||||
<td class="org-left"><code>double[point_num][5][shell_num]</code></td>
|
||||
<td class="org-left">out</td>
|
||||
<td class="org-left">Value, gradients and Laplacian of the shells</td>
|
||||
</tr>
|
||||
@ -1959,7 +1965,7 @@ Requirements:
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> nucl_coord(nucl_num,3)</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> expo(prim_num)</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> coef_normalized(prim_num)</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(out) ::<span style="color: #a0522d;"> shell_vgl(shell_num,point_num,5)</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(out) ::<span style="color: #a0522d;"> shell_vgl(shell_num,5,point_num)</span>
|
||||
|
||||
<span style="color: #228b22;">integer</span>*8 ::<span style="color: #a0522d;"> inucl, iprim, ipoint, ishell</span>
|
||||
<span style="color: #228b22;">integer</span>*8 ::<span style="color: #a0522d;"> ishell_start, ishell_end</span>
|
||||
@ -1988,11 +1994,11 @@ Requirements:
|
||||
|
||||
<span style="color: #a020f0;">do</span> ishell=ishell_start, ishell_end
|
||||
|
||||
shell_vgl(ishell, ipoint, 1) = 0.d0
|
||||
shell_vgl(ishell, ipoint, 2) = 0.d0
|
||||
shell_vgl(ishell, ipoint, 3) = 0.d0
|
||||
shell_vgl(ishell, ipoint, 4) = 0.d0
|
||||
shell_vgl(ishell, ipoint, 5) = 0.d0
|
||||
shell_vgl(ishell, 1, ipoint) = 0.d0
|
||||
shell_vgl(ishell, 2, ipoint) = 0.d0
|
||||
shell_vgl(ishell, 3, ipoint) = 0.d0
|
||||
shell_vgl(ishell, 4, ipoint) = 0.d0
|
||||
shell_vgl(ishell, 5, ipoint) = 0.d0
|
||||
|
||||
iprim_start = shell_prim_index(ishell) + 1
|
||||
iprim_end = shell_prim_index(ishell) + shell_prim_num(ishell)
|
||||
@ -2007,20 +2013,20 @@ Requirements:
|
||||
v = coef_normalized(iprim) * dexp(-ar2)
|
||||
two_a = -2.d0 * expo(iprim) * v
|
||||
|
||||
shell_vgl(ishell, ipoint, 1) = <span style="color: #a020f0;">&</span>
|
||||
shell_vgl(ishell, ipoint, 1) + v
|
||||
shell_vgl(ishell, 1, ipoint) = <span style="color: #a020f0;">&</span>
|
||||
shell_vgl(ishell, 1, ipoint) + v
|
||||
|
||||
shell_vgl(ishell, ipoint, 2) = <span style="color: #a020f0;">&</span>
|
||||
shell_vgl(ishell, ipoint, 2) + two_a * x
|
||||
shell_vgl(ishell, 2, ipoint) = <span style="color: #a020f0;">&</span>
|
||||
shell_vgl(ishell, 2, ipoint) + two_a * x
|
||||
|
||||
shell_vgl(ishell, ipoint, 3) = <span style="color: #a020f0;">&</span>
|
||||
shell_vgl(ishell, ipoint, 3) + two_a * y
|
||||
shell_vgl(ishell, 3, ipoint) = <span style="color: #a020f0;">&</span>
|
||||
shell_vgl(ishell, 3, ipoint) + two_a * y
|
||||
|
||||
shell_vgl(ishell, ipoint, 4) = <span style="color: #a020f0;">&</span>
|
||||
shell_vgl(ishell, ipoint, 4) + two_a * z
|
||||
shell_vgl(ishell, 4, ipoint) = <span style="color: #a020f0;">&</span>
|
||||
shell_vgl(ishell, 4, ipoint) + two_a * z
|
||||
|
||||
shell_vgl(ishell, ipoint, 5) = <span style="color: #a020f0;">&</span>
|
||||
shell_vgl(ishell, ipoint, 5) + two_a * (3.d0 - 2.d0*ar2)
|
||||
shell_vgl(ishell, 5, ipoint) = <span style="color: #a020f0;">&</span>
|
||||
shell_vgl(ishell, 5, ipoint) + two_a * (3.d0 - 2.d0*ar2)
|
||||
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
|
||||
@ -2036,8 +2042,8 @@ Requirements:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge9993af" class="outline-2">
|
||||
<h2 id="orge9993af"><span class="section-number-2">4</span> Polynomial part</h2>
|
||||
<div id="outline-container-org6091ea6" class="outline-2">
|
||||
<h2 id="org6091ea6"><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
|
||||
@ -2057,8 +2063,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-orgfd3d3c7" class="outline-3">
|
||||
<h3 id="orgfd3d3c7"><span class="section-number-3">4.1</span> General functions for Powers of \(x-X_i\)</h3>
|
||||
<div id="outline-container-org3ee31f2" class="outline-3">
|
||||
<h3 id="org3ee31f2"><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>
|
||||
@ -2070,7 +2076,7 @@ the \(n\) points:
|
||||
\[ P_{ik} = X_i^k \]
|
||||
</p>
|
||||
|
||||
<table id="orgca1ec5a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orge98585e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2208,8 +2214,8 @@ Requirements:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org56be06a" class="outline-3">
|
||||
<h3 id="org56be06a"><span class="section-number-3">4.2</span> General functions for Value, Gradient and Laplacian of a polynomial</h3>
|
||||
<div id="outline-container-org456e8d8" class="outline-3">
|
||||
<h3 id="org456e8d8"><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\)
|
||||
@ -2254,7 +2260,7 @@ Laplacians at a given point in space, of all polynomials with an
|
||||
angular momentum up to <code>lmax</code>.
|
||||
</p>
|
||||
|
||||
<table id="orgba9e81c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgfd450f4" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2379,7 +2385,6 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer</span><span style="color: #a0522d;"> function qmckl_ao_polynomial_vgl_f (context, </span><span style="color: #a020f0;">&</span>
|
||||
X, R, lmax, n, L, ldl, VGL, ldv) <span style="color: #a020f0;">result</span>(info)
|
||||
@ -2510,14 +2515,159 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
<span style="color: #a020f0;">end function</span> <span style="color: #0000ff;">qmckl_ao_polynomial_vgl_f</span>
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_ao_polynomial_transp_vgl</span> (
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">X</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">R</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int32_t</span> <span style="color: #a0522d;">lmax</span>,
|
||||
<span style="color: #228b22;">int64_t</span>* <span style="color: #a0522d;">n</span>,
|
||||
<span style="color: #228b22;">int32_t</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">L</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">ldl</span>,
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">VGL</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">ldv</span> );
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer</span><span style="color: #a0522d;"> function qmckl_ao_polynomial_transp_vgl_f (context, </span><span style="color: #a020f0;">&</span>
|
||||
X, R, lmax, n, L, ldl, VGL, ldv) <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>
|
||||
<span style="color: #228b22;">integer</span>*8 , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> context</span>
|
||||
<span style="color: #228b22;">real</span>*8 , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> X(3), R(3)</span>
|
||||
<span style="color: #228b22;">integer</span> , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> lmax</span>
|
||||
<span style="color: #228b22;">integer</span>*8 , <span style="color: #a020f0;">intent</span>(out) ::<span style="color: #a0522d;"> n</span>
|
||||
<span style="color: #228b22;">integer</span> , <span style="color: #a020f0;">intent</span>(out) ::<span style="color: #a0522d;"> L(ldl,(lmax+1)*(lmax+2)*(lmax+3)/6)</span>
|
||||
<span style="color: #228b22;">integer</span>*8 , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> ldl</span>
|
||||
<span style="color: #228b22;">real</span>*8 , <span style="color: #a020f0;">intent</span>(out) ::<span style="color: #a0522d;"> VGL(ldv,5)</span>
|
||||
<span style="color: #228b22;">integer</span>*8 , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> ldv</span>
|
||||
|
||||
<span style="color: #228b22;">integer</span>*8 ::<span style="color: #a0522d;"> i,j</span>
|
||||
<span style="color: #228b22;">integer</span> ::<span style="color: #a0522d;"> a,b,c,d</span>
|
||||
<span style="color: #228b22;">real</span>*8 ::<span style="color: #a0522d;"> Y(3)</span>
|
||||
<span style="color: #228b22;">integer</span> ::<span style="color: #a0522d;"> lmax_array(3)</span>
|
||||
<span style="color: #228b22;">real</span>*8 ::<span style="color: #a0522d;"> pows(-2:lmax,3)</span>
|
||||
<span style="color: #228b22;">double precision</span> ::<span style="color: #a0522d;"> xy, yz, xz</span>
|
||||
<span style="color: #228b22;">double precision</span> ::<span style="color: #a0522d;"> da, db, dc, dd</span>
|
||||
|
||||
info = 0
|
||||
|
||||
<span style="color: #a020f0;">if</span> (context == QMCKL_NULL_CONTEXT) <span style="color: #a020f0;">then</span>
|
||||
info = QMCKL_INVALID_CONTEXT
|
||||
<span style="color: #a020f0;">return</span>
|
||||
<span style="color: #a020f0;">endif</span>
|
||||
|
||||
<span style="color: #a020f0;">if</span> (lmax < 0) <span style="color: #a020f0;">then</span>
|
||||
info = QMCKL_INVALID_ARG_4
|
||||
<span style="color: #a020f0;">return</span>
|
||||
<span style="color: #a020f0;">endif</span>
|
||||
|
||||
<span style="color: #a020f0;">if</span> (ldl < 3) <span style="color: #a020f0;">then</span>
|
||||
info = QMCKL_INVALID_ARG_7
|
||||
<span style="color: #a020f0;">return</span>
|
||||
<span style="color: #a020f0;">endif</span>
|
||||
|
||||
<span style="color: #a020f0;">if</span> (ldv < (lmax+1)*(lmax+2)*(lmax+3)/6) <span style="color: #a020f0;">then</span>
|
||||
info = QMCKL_INVALID_ARG_9
|
||||
<span style="color: #a020f0;">return</span>
|
||||
<span style="color: #a020f0;">endif</span>
|
||||
|
||||
|
||||
<span style="color: #a020f0;">do</span> i=1,3
|
||||
Y(i) = X(i) - R(i)
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
|
||||
lmax_array(1:3) = lmax
|
||||
<span style="color: #a020f0;">if</span> (lmax == 0) <span style="color: #a020f0;">then</span>
|
||||
VGL(1,1) = 1.d0
|
||||
VGL(1,2:5) = 0.d0
|
||||
l(1:3,1) = 0
|
||||
n=1
|
||||
<span style="color: #a020f0;">else if</span> (lmax > 0) <span style="color: #a020f0;">then</span>
|
||||
pows(-2:0,1:3) = 1.d0
|
||||
<span style="color: #a020f0;">do</span> i=1,lmax
|
||||
pows(i,1) = pows(i-1,1) * Y(1)
|
||||
pows(i,2) = pows(i-1,2) * Y(2)
|
||||
pows(i,3) = pows(i-1,3) * Y(3)
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
|
||||
l (1:3,1:4) = 0
|
||||
VGL(1:4,1:5) = 0.d0
|
||||
|
||||
VGL(1 ,1 ) = 1.d0
|
||||
VGL(2:4,1:5) = 0.d0
|
||||
|
||||
l (1,2) = 1
|
||||
VGL(2,1) = pows(1,1)
|
||||
VGL(2,2) = 1.d0
|
||||
|
||||
l (2,3) = 1
|
||||
VGL(3,1) = pows(1,2)
|
||||
VGL(3,3) = 1.d0
|
||||
|
||||
l (3,4) = 1
|
||||
VGL(4,1) = pows(1,3)
|
||||
VGL(4,4) = 1.d0
|
||||
|
||||
n=4
|
||||
<span style="color: #a020f0;">endif</span>
|
||||
|
||||
! <span style="color: #b22222;">l>=2</span>
|
||||
dd = 2.d0
|
||||
<span style="color: #a020f0;">do</span> d=2,lmax
|
||||
da = dd
|
||||
<span style="color: #a020f0;">do</span> a=d,0,-1
|
||||
db = dd-da
|
||||
<span style="color: #a020f0;">do</span> b=d-a,0,-1
|
||||
c = d - a - b
|
||||
dc = dd - da - db
|
||||
n = n+1
|
||||
|
||||
l(1,n) = a
|
||||
l(2,n) = b
|
||||
l(3,n) = c
|
||||
|
||||
xy = pows(a,1) * pows(b,2)
|
||||
yz = pows(b,2) * pows(c,3)
|
||||
xz = pows(a,1) * pows(c,3)
|
||||
|
||||
VGL(n,1) = xy * pows(c,3)
|
||||
|
||||
xy = dc * xy
|
||||
xz = db * xz
|
||||
yz = da * yz
|
||||
|
||||
VGL(n,2) = pows(a-1,1) * yz
|
||||
VGL(n,3) = pows(b-1,2) * xz
|
||||
VGL(n,4) = pows(c-1,3) * xy
|
||||
|
||||
VGL(n,5) = <span style="color: #a020f0;">&</span>
|
||||
(da-1.d0) * pows(a-2,1) * yz + <span style="color: #a020f0;">&</span>
|
||||
(db-1.d0) * pows(b-2,2) * xz + <span style="color: #a020f0;">&</span>
|
||||
(dc-1.d0) * pows(c-2,3) * xy
|
||||
|
||||
db = db - 1.d0
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
da = da - 1.d0
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
dd = dd + 1.d0
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
|
||||
info = QMCKL_SUCCESS
|
||||
|
||||
<span style="color: #a020f0;">end function</span> <span style="color: #0000ff;">qmckl_ao_polynomial_transp_vgl_f</span>
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc99b8a8" class="outline-2">
|
||||
<h2 id="orgc99b8a8"><span class="section-number-2">5</span> Combining radial and polynomial parts</h2>
|
||||
<div id="outline-container-orged1f637" class="outline-2">
|
||||
<h2 id="orged1f637"><span class="section-number-2">5</span> Combining radial and polynomial parts</h2>
|
||||
<div class="outline-text-2" id="text-5">
|
||||
<table id="org5c94f0c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orge9c72c1" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2631,22 +2781,26 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>shell_vgl</code></td>
|
||||
<td class="org-left"><code>double[5][point_num][shell_num]</code></td>
|
||||
<td class="org-left"><code>double[point_num][5][shell_num]</code></td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Value, gradients and Laplacian of the shells</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>ao_vgl</code></td>
|
||||
<td class="org-left"><code>double[5][point_num][ao_num]</code></td>
|
||||
<td class="org-left"><code>double[point_num][5][ao_num]</code></td>
|
||||
<td class="org-left">out</td>
|
||||
<td class="org-left">Value, gradients and Laplacian of the AOs</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org09cd1dd" class="outline-3">
|
||||
<h3 id="org09cd1dd"><span class="section-number-3">5.1</span> Unoptimized version</h3>
|
||||
<div class="outline-text-3" id="text-5-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer</span><span style="color: #a0522d;"> function qmckl_compute_ao_vgl_f(context, </span><span style="color: #a020f0;">&</span>
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer</span><span style="color: #a0522d;"> function qmckl_compute_ao_vgl_doc_f(context, </span><span style="color: #a020f0;">&</span>
|
||||
ao_num, shell_num, point_num, nucl_num, <span style="color: #a020f0;">&</span>
|
||||
coord, nucl_coord, nucleus_index, nucleus_shell_num, <span style="color: #a020f0;">&</span>
|
||||
nucleus_range, nucleus_max_ang_mom, shell_ang_mom, <span style="color: #a020f0;">&</span>
|
||||
@ -2667,12 +2821,12 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
<span style="color: #228b22;">integer</span> , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> nucleus_max_ang_mom(nucl_num)</span>
|
||||
<span style="color: #228b22;">integer</span> , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> shell_ang_mom(shell_num)</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> ao_factor(ao_num)</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> shell_vgl(shell_num,point_num,5)</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(out) ::<span style="color: #a0522d;"> ao_vgl(ao_num,point_num,5)</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> shell_vgl(shell_num,5,point_num)</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(out) ::<span style="color: #a0522d;"> ao_vgl(ao_num,5,point_num)</span>
|
||||
|
||||
<span style="color: #228b22;">double precision</span> ::<span style="color: #a0522d;"> e_coord(3), n_coord(3)</span>
|
||||
<span style="color: #228b22;">integer</span>*8 ::<span style="color: #a0522d;"> n_poly</span>
|
||||
<span style="color: #228b22;">integer</span> ::<span style="color: #a0522d;"> l, il, k, m, n</span>
|
||||
<span style="color: #228b22;">integer</span> ::<span style="color: #a0522d;"> l, il, k</span>
|
||||
<span style="color: #228b22;">integer</span>*8 ::<span style="color: #a0522d;"> ipoint, inucl, ishell</span>
|
||||
<span style="color: #228b22;">integer</span>*8 ::<span style="color: #a0522d;"> ishell_start, ishell_end</span>
|
||||
<span style="color: #228b22;">integer</span> ::<span style="color: #a0522d;"> lstart(0:20)</span>
|
||||
@ -2682,103 +2836,239 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
|
||||
<span style="color: #228b22;">double precision</span>, <span style="color: #a020f0;">allocatable</span> ::<span style="color: #a0522d;"> poly_vgl(:,:)</span>
|
||||
<span style="color: #228b22;">integer</span> , <span style="color: #a020f0;">allocatable</span> ::<span style="color: #a0522d;"> powers(:,:)</span>
|
||||
<span style="color: #228b22;">integer</span> , <span style="color: #a020f0;">allocatable</span> ::<span style="color: #a0522d;"> kil(:), knucl(:), kshell(:) </span>
|
||||
|
||||
<span style="color: #a020f0;">allocate</span>(poly_vgl(8,ao_num), powers(8,ao_num))
|
||||
<span style="color: #a020f0;">allocate</span>(kil(ao_num), kshell(ao_num), knucl(nucl_num+1))
|
||||
<span style="color: #a020f0;">allocate</span>(poly_vgl(5,ao_num), powers(3,ao_num))
|
||||
|
||||
! <span style="color: #b22222;">Pre-computed data</span>
|
||||
|
||||
k=1
|
||||
<span style="color: #a020f0;">do</span> inucl=1,nucl_num
|
||||
knucl(inucl) = k
|
||||
ishell_start = nucleus_index(inucl) + 1
|
||||
ishell_end = nucleus_index(inucl) + nucleus_shell_num(inucl)
|
||||
<span style="color: #a020f0;">do</span> ishell = ishell_start, ishell_end
|
||||
l = shell_ang_mom(ishell)
|
||||
m = l*(l+1)*(l+2)/6 +1
|
||||
n = (l+1)*(l+2)*(l+3)/6
|
||||
<span style="color: #a020f0;">do</span> il = m, n
|
||||
kil(k) = il
|
||||
kshell(k) = ishell
|
||||
k = k+1
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
<span style="color: #a020f0;">do</span> l=0,20
|
||||
lstart(l) = l*(l+1)*(l+2)/6 +1
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
knucl(nucl_num+1) = ao_num+1
|
||||
|
||||
|
||||
info = QMCKL_SUCCESS
|
||||
|
||||
! <span style="color: #b22222;">Don't compute polynomials when the radial part is zero.</span>
|
||||
! <span style="color: #b22222;">TODO : Use numerical precision here</span>
|
||||
cutoff = -dlog(1.d-12)
|
||||
|
||||
<span style="color: #a020f0;">do</span> ipoint = 1, point_num
|
||||
e_coord(1) = coord(ipoint,1)
|
||||
e_coord(2) = coord(ipoint,2)
|
||||
e_coord(3) = coord(ipoint,3)
|
||||
|
||||
! <span style="color: #b22222;">Express the radial part in the AO basis</span>
|
||||
|
||||
k=1
|
||||
<span style="color: #a020f0;">do</span> inucl=1,nucl_num
|
||||
n_coord(1) = nucl_coord(inucl,1)
|
||||
n_coord(2) = nucl_coord(inucl,2)
|
||||
n_coord(3) = nucl_coord(inucl,3)
|
||||
n_coord(1) = nucl_coord(inucl,1)
|
||||
n_coord(2) = nucl_coord(inucl,2)
|
||||
n_coord(3) = nucl_coord(inucl,3)
|
||||
|
||||
! <span style="color: #b22222;">Test if the point is in the range of the nucleus</span>
|
||||
x = e_coord(1) - n_coord(1)
|
||||
y = e_coord(2) - n_coord(2)
|
||||
z = e_coord(3) - n_coord(3)
|
||||
|
||||
r2 = x*x + y*y + z*z
|
||||
r2 = x*x + z*z + z*z
|
||||
|
||||
<span style="color: #a020f0;">if</span> (r2 > cutoff*nucleus_range(inucl)) <span style="color: #a020f0;">then</span>
|
||||
<span style="color: #a020f0;">do</span> k = knucl(inucl), knucl(inucl+1)-1
|
||||
ao_vgl(k,ipoint,1) = 0.d0
|
||||
ao_vgl(k,ipoint,2) = 0.d0
|
||||
ao_vgl(k,ipoint,3) = 0.d0
|
||||
ao_vgl(k,ipoint,4) = 0.d0
|
||||
ao_vgl(k,ipoint,5) = 0.d0
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
<span style="color: #a020f0;">cycle</span>
|
||||
<span style="color: #a020f0;">end if</span>
|
||||
|
||||
! <span style="color: #b22222;">Compute polynomials</span>
|
||||
! <span style="color: #b22222;">Compute polynomials </span>
|
||||
info = qmckl_ao_polynomial_vgl_f(context, e_coord, n_coord, <span style="color: #a020f0;">&</span>
|
||||
nucleus_max_ang_mom(inucl), n_poly, powers, 8_8, poly_vgl, 8_8)
|
||||
nucleus_max_ang_mom(inucl), n_poly, powers, 3_8, <span style="color: #a020f0;">&</span>
|
||||
poly_vgl, 5_8)
|
||||
|
||||
<span style="color: #a020f0;">do</span> k = knucl(inucl), knucl(inucl+1)-1
|
||||
y = shell_vgl(kshell(k),ipoint,1) * ao_factor(k)
|
||||
! <span style="color: #b22222;">Loop over shells</span>
|
||||
ishell_start = nucleus_index(inucl) + 1
|
||||
ishell_end = nucleus_index(inucl) + nucleus_shell_num(inucl)
|
||||
<span style="color: #a020f0;">do</span> ishell = ishell_start, ishell_end
|
||||
l = shell_ang_mom(ishell)
|
||||
<span style="color: #a020f0;">do</span> il = lstart(l), lstart(l+1)-1
|
||||
! <span style="color: #b22222;">Value</span>
|
||||
ao_vgl(k,1,ipoint) = <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(1,il) * shell_vgl(ishell,1,ipoint) * ao_factor(k)
|
||||
|
||||
ao_vgl(k,ipoint,1) = y * poly_vgl(1,kil(k))
|
||||
ao_vgl(k,ipoint,2) = y * poly_vgl(2,kil(k))
|
||||
ao_vgl(k,ipoint,3) = y * poly_vgl(3,kil(k))
|
||||
ao_vgl(k,ipoint,4) = y * poly_vgl(4,kil(k))
|
||||
ao_vgl(k,ipoint,5) = y * poly_vgl(5,kil(k))
|
||||
! <span style="color: #b22222;">Grad_x</span>
|
||||
ao_vgl(k,2,ipoint) = ( <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(2,il) * shell_vgl(ishell,1,ipoint) + <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(1,il) * shell_vgl(ishell,2,ipoint) <span style="color: #a020f0;">&</span>
|
||||
) * ao_factor(k)
|
||||
|
||||
x = poly_vgl(1,kil(k)) * ao_factor(k)
|
||||
! <span style="color: #b22222;">Grad_y</span>
|
||||
ao_vgl(k,3,ipoint) = ( <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(3,il) * shell_vgl(ishell,1,ipoint) + <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(1,il) * shell_vgl(ishell,3,ipoint) <span style="color: #a020f0;">&</span>
|
||||
) * ao_factor(k)
|
||||
|
||||
ao_vgl(k,ipoint,2) = ao_vgl(k,ipoint,2) + x * shell_vgl(kshell(k),ipoint,2)
|
||||
ao_vgl(k,ipoint,3) = ao_vgl(k,ipoint,3) + x * shell_vgl(kshell(k),ipoint,3)
|
||||
ao_vgl(k,ipoint,4) = ao_vgl(k,ipoint,4) + x * shell_vgl(kshell(k),ipoint,4)
|
||||
ao_vgl(k,ipoint,5) = ao_vgl(k,ipoint,5) + x * shell_vgl(kshell(k),ipoint,5)
|
||||
! <span style="color: #b22222;">Grad_z</span>
|
||||
ao_vgl(k,4,ipoint) = ( <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(4,il) * shell_vgl(ishell,1,ipoint) + <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(1,il) * shell_vgl(ishell,4,ipoint) <span style="color: #a020f0;">&</span>
|
||||
) * ao_factor(k)
|
||||
|
||||
ao_vgl(k,ipoint,5) = ao_vgl(k,ipoint,5) + <span style="color: #a020f0;">&</span>
|
||||
(ao_factor(k) + ao_factor(k)) * (<span style="color: #a020f0;">&</span>
|
||||
poly_vgl(2,kil(k)) * shell_vgl(kshell(k),ipoint,2) + <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(3,kil(k)) * shell_vgl(kshell(k),ipoint,3) + <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(4,kil(k)) * shell_vgl(kshell(k),ipoint,4) )
|
||||
! <span style="color: #b22222;">Lapl_z</span>
|
||||
ao_vgl(k,5,ipoint) = ( <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(5,il) * shell_vgl(ishell,1,ipoint) + <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(1,il) * shell_vgl(ishell,5,ipoint) + <span style="color: #a020f0;">&</span>
|
||||
2.d0 * ( <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(2,il) * shell_vgl(ishell,2,ipoint) + <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(3,il) * shell_vgl(ishell,3,ipoint) + <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(4,il) * shell_vgl(ishell,4,ipoint) ) <span style="color: #a020f0;">&</span>
|
||||
) * ao_factor(k)
|
||||
|
||||
k = k+1
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
|
||||
<span style="color: #a020f0;">deallocate</span>(poly_vgl, powers, kshell, kil, knucl)
|
||||
<span style="color: #a020f0;">end function</span> <span style="color: #0000ff;">qmckl_compute_ao_vgl_f</span>
|
||||
<span style="color: #a020f0;">deallocate</span>(poly_vgl, powers)
|
||||
<span style="color: #a020f0;">end function</span> <span style="color: #0000ff;">qmckl_compute_ao_vgl_doc_f</span>
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3d02c33" class="outline-3">
|
||||
<h3 id="org3d02c33"><span class="section-number-3">5.2</span> HPC version</h3>
|
||||
<div class="outline-text-3" id="text-5-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer</span><span style="color: #a0522d;"> function qmckl_compute_ao_vgl_hpc_f(context, </span><span style="color: #a020f0;">&</span>
|
||||
ao_num, shell_num, point_num, nucl_num, <span style="color: #a020f0;">&</span>
|
||||
coord, nucl_coord, nucleus_index, nucleus_shell_num, <span style="color: #a020f0;">&</span>
|
||||
nucleus_range, nucleus_max_ang_mom, shell_ang_mom, <span style="color: #a020f0;">&</span>
|
||||
ao_factor, shell_vgl, ao_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>
|
||||
<span style="color: #228b22;">integer</span>(qmckl_context), <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> context</span>
|
||||
<span style="color: #228b22;">integer</span>*8 , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> ao_num</span>
|
||||
<span style="color: #228b22;">integer</span>*8 , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> shell_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;">integer</span>*8 , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> nucl_num</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> coord(point_num,3)</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> nucl_coord(nucl_num,3)</span>
|
||||
<span style="color: #228b22;">integer</span>*8 , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> nucleus_index(nucl_num)</span>
|
||||
<span style="color: #228b22;">integer</span>*8 , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> nucleus_shell_num(nucl_num)</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> nucleus_range(nucl_num)</span>
|
||||
<span style="color: #228b22;">integer</span> , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> nucleus_max_ang_mom(nucl_num)</span>
|
||||
<span style="color: #228b22;">integer</span> , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> shell_ang_mom(shell_num)</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> ao_factor(ao_num)</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> shell_vgl(shell_num,5,point_num)</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(out) ::<span style="color: #a0522d;"> ao_vgl(ao_num,5,point_num)</span>
|
||||
|
||||
<span style="color: #228b22;">double precision</span> ::<span style="color: #a0522d;"> e_coord(3), n_coord(3)</span>
|
||||
<span style="color: #228b22;">integer</span>*8 ::<span style="color: #a0522d;"> n_poly</span>
|
||||
<span style="color: #228b22;">integer</span> ::<span style="color: #a0522d;"> l, il, k</span>
|
||||
<span style="color: #228b22;">integer</span>*8 ::<span style="color: #a0522d;"> ipoint, inucl, ishell</span>
|
||||
<span style="color: #228b22;">integer</span>*8 ::<span style="color: #a0522d;"> ishell_start, ishell_end</span>
|
||||
<span style="color: #228b22;">integer</span> ::<span style="color: #a0522d;"> lstart(0:20)</span>
|
||||
<span style="color: #228b22;">double precision</span> ::<span style="color: #a0522d;"> x, y, z, r2</span>
|
||||
<span style="color: #228b22;">double precision</span> ::<span style="color: #a0522d;"> cutoff</span>
|
||||
<span style="color: #228b22;">integer</span>, <span style="color: #a020f0;">external</span> ::<span style="color: #a0522d;"> qmckl_ao_polynomial_transp_vgl_f</span>
|
||||
|
||||
<span style="color: #228b22;">double precision</span>, <span style="color: #a020f0;">allocatable</span> ::<span style="color: #a0522d;"> poly_vgl(:,:)</span>
|
||||
<span style="color: #228b22;">integer</span> , <span style="color: #a020f0;">allocatable</span> ::<span style="color: #a0522d;"> powers(:,:)</span>
|
||||
|
||||
<span style="color: #a020f0;">allocate</span>(poly_vgl(ao_num,5), powers(3,ao_num))
|
||||
|
||||
! <span style="color: #b22222;">Pre-computed data</span>
|
||||
<span style="color: #a020f0;">do</span> l=0,20
|
||||
lstart(l) = l*(l+1)*(l+2)/6 +1
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
|
||||
info = QMCKL_SUCCESS
|
||||
|
||||
! <span style="color: #b22222;">Don't compute polynomials when the radial part is zero.</span>
|
||||
cutoff = -dlog(1.d-12)
|
||||
|
||||
<span style="color: #a020f0;">do</span> ipoint = 1, point_num
|
||||
e_coord(1) = coord(ipoint,1)
|
||||
e_coord(2) = coord(ipoint,2)
|
||||
e_coord(3) = coord(ipoint,3)
|
||||
k=1
|
||||
<span style="color: #a020f0;">do</span> inucl=1,nucl_num
|
||||
n_coord(1) = nucl_coord(inucl,1)
|
||||
n_coord(2) = nucl_coord(inucl,2)
|
||||
n_coord(3) = nucl_coord(inucl,3)
|
||||
|
||||
! <span style="color: #b22222;">Test if the point is in the range of the nucleus</span>
|
||||
x = e_coord(1) - n_coord(1)
|
||||
y = e_coord(2) - n_coord(2)
|
||||
z = e_coord(3) - n_coord(3)
|
||||
|
||||
r2 = x*x + z*z + z*z
|
||||
|
||||
<span style="color: #a020f0;">if</span> (r2 > cutoff*nucleus_range(inucl)) <span style="color: #a020f0;">then</span>
|
||||
<span style="color: #a020f0;">cycle</span>
|
||||
<span style="color: #a020f0;">end if</span>
|
||||
|
||||
! <span style="color: #b22222;">Compute polynomials </span>
|
||||
info = qmckl_ao_polynomial_transp_vgl_f(context, e_coord, n_coord, <span style="color: #a020f0;">&</span>
|
||||
nucleus_max_ang_mom(inucl), n_poly, powers, 3_8, <span style="color: #a020f0;">&</span>
|
||||
poly_vgl, <span style="color: #a020f0;">int</span>(ao_num,8))
|
||||
|
||||
! <span style="color: #b22222;">Loop over shells</span>
|
||||
ishell_start = nucleus_index(inucl) + 1
|
||||
ishell_end = nucleus_index(inucl) + nucleus_shell_num(inucl)
|
||||
<span style="color: #a020f0;">do</span> ishell = ishell_start, ishell_end
|
||||
l = shell_ang_mom(ishell)
|
||||
<span style="color: #a020f0;">if</span> (shell_vgl(ishell,1,ipoint) /= 0.d0) <span style="color: #a020f0;">then</span>
|
||||
<span style="color: #a020f0;">do</span> il = lstart(l), lstart(l+1)-1
|
||||
! <span style="color: #b22222;">Value</span>
|
||||
ao_vgl(k,1,ipoint) = <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(il,1) * shell_vgl(ishell,1,ipoint) * ao_factor(k)
|
||||
|
||||
! <span style="color: #b22222;">Grad_x</span>
|
||||
ao_vgl(k,2,ipoint) = ( <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(il,2) * shell_vgl(ishell,1,ipoint) + <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(il,1) * shell_vgl(ishell,2,ipoint) <span style="color: #a020f0;">&</span>
|
||||
) * ao_factor(k)
|
||||
|
||||
! <span style="color: #b22222;">Grad_y</span>
|
||||
ao_vgl(k,3,ipoint) = ( <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(il,3) * shell_vgl(ishell,1,ipoint) + <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(il,1) * shell_vgl(ishell,3,ipoint) <span style="color: #a020f0;">&</span>
|
||||
) * ao_factor(k)
|
||||
|
||||
! <span style="color: #b22222;">Grad_z</span>
|
||||
ao_vgl(k,4,ipoint) = ( <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(il,4) * shell_vgl(ishell,1,ipoint) + <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(il,1) * shell_vgl(ishell,4,ipoint) <span style="color: #a020f0;">&</span>
|
||||
) * ao_factor(k)
|
||||
|
||||
! <span style="color: #b22222;">Lapl_z</span>
|
||||
ao_vgl(k,5,ipoint) = ( <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(il,5) * shell_vgl(ishell,1,ipoint) + <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(il,1) * shell_vgl(ishell,5,ipoint) + <span style="color: #a020f0;">&</span>
|
||||
2.d0 * ( <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(il,2) * shell_vgl(ishell,2,ipoint) + <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(il,3) * shell_vgl(ishell,3,ipoint) + <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(il,4) * shell_vgl(ishell,4,ipoint) ) <span style="color: #a020f0;">&</span>
|
||||
) * ao_factor(k)
|
||||
k = k+1
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
<span style="color: #a020f0;">else</span>
|
||||
<span style="color: #a020f0;">do</span> il = lstart(l), lstart(l+1)-1
|
||||
ao_vgl(k,1,ipoint) = 0.d0
|
||||
ao_vgl(k,2,ipoint) = 0.d0
|
||||
ao_vgl(k,3,ipoint) = 0.d0
|
||||
ao_vgl(k,4,ipoint) = 0.d0
|
||||
ao_vgl(k,5,ipoint) = 0.d0
|
||||
k = k+1
|
||||
<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>
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
|
||||
<span style="color: #a020f0;">deallocate</span>(poly_vgl, powers)
|
||||
<span style="color: #a020f0;">end function</span> <span style="color: #0000ff;">qmckl_compute_ao_vgl_hpc_f</span>
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge815ea0" class="outline-3">
|
||||
<h3 id="orge815ea0"><span class="section-number-3">5.3</span> Interfaces</h3>
|
||||
<div class="outline-text-3" id="text-5-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_compute_ao_vgl</span> (
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
@ -2801,9 +3091,10 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-02-11 Fri 15:00</p>
|
||||
<p class="date">Created: 2022-02-11 Fri 15:09</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
130
qmckl_blas.html
130
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-02-11 Fri 15:00 -->
|
||||
<!-- 2022-02-11 Fri 15:09 -->
|
||||
<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,34 +333,34 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org561814a">1. Data types</a>
|
||||
<li><a href="#org878dc10">1. Data types</a>
|
||||
<ul>
|
||||
<li><a href="#org86b4628">1.1. Vector</a></li>
|
||||
<li><a href="#org6ab3689">1.2. Matrix</a></li>
|
||||
<li><a href="#orgb4bb8b5">1.3. Tensor</a></li>
|
||||
<li><a href="#orge8245cc">1.4. Reshaping</a>
|
||||
<li><a href="#orge3b6cbe">1.1. Vector</a></li>
|
||||
<li><a href="#orgbb89960">1.2. Matrix</a></li>
|
||||
<li><a href="#org310e946">1.3. Tensor</a></li>
|
||||
<li><a href="#orgf78d746">1.4. Reshaping</a>
|
||||
<ul>
|
||||
<li><a href="#orga022b1c">1.4.1. Vector -> Matrix</a></li>
|
||||
<li><a href="#orga8f445a">1.4.2. Vector -> Tensor</a></li>
|
||||
<li><a href="#org82027a9">1.4.3. Matrix -> Vector</a></li>
|
||||
<li><a href="#org5f92732">1.4.4. Matrix -> Tensor</a></li>
|
||||
<li><a href="#org02f19e5">1.4.5. Tensor -> Vector</a></li>
|
||||
<li><a href="#orgacdc60a">1.4.6. Tensor -> Matrix</a></li>
|
||||
<li><a href="#org92cd5e9">1.4.1. Vector -> Matrix</a></li>
|
||||
<li><a href="#org113922b">1.4.2. Vector -> Tensor</a></li>
|
||||
<li><a href="#orged24355">1.4.3. Matrix -> Vector</a></li>
|
||||
<li><a href="#org80c6570">1.4.4. Matrix -> Tensor</a></li>
|
||||
<li><a href="#org1d4ade3">1.4.5. Tensor -> Vector</a></li>
|
||||
<li><a href="#orgc58af47">1.4.6. Tensor -> Matrix</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org3886373">1.5. Access macros</a></li>
|
||||
<li><a href="#orgdc75f7a">1.6. Copy to/from to <code>double*</code></a></li>
|
||||
<li><a href="#orge357b0a">1.7. Tests</a></li>
|
||||
<li><a href="#org604b737">1.5. Access macros</a></li>
|
||||
<li><a href="#org89a1032">1.6. Copy to/from to <code>double*</code></a></li>
|
||||
<li><a href="#org9e9bb0f">1.7. Tests</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orged24ee9">2. Matrix operations</a>
|
||||
<li><a href="#orgd5d9d01">2. Matrix operations</a>
|
||||
<ul>
|
||||
<li><a href="#org3e1c790">2.1. <code>qmckl_dgemm</code></a></li>
|
||||
<li><a href="#org22e8c11">2.2. <code>qmckl_matmul</code></a></li>
|
||||
<li><a href="#org3bfeb4a">2.3. <code>qmckl_adjugate</code></a></li>
|
||||
<li><a href="#org7983580">2.4. <code>qmckl_transpose</code></a>
|
||||
<li><a href="#org4b1041f">2.1. <code>qmckl_dgemm</code></a></li>
|
||||
<li><a href="#org6049b20">2.2. <code>qmckl_matmul</code></a></li>
|
||||
<li><a href="#org5e77ff0">2.3. <code>qmckl_adjugate</code></a></li>
|
||||
<li><a href="#org8b8711d">2.4. <code>qmckl_transpose</code></a>
|
||||
<ul>
|
||||
<li><a href="#org7b3ed34">2.4.1. Test</a></li>
|
||||
<li><a href="#org1528059">2.4.1. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -369,12 +369,12 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org561814a" class="outline-2">
|
||||
<h2 id="org561814a"><span class="section-number-2">1</span> Data types</h2>
|
||||
<div id="outline-container-org878dc10" class="outline-2">
|
||||
<h2 id="org878dc10"><span class="section-number-2">1</span> Data types</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
</div>
|
||||
<div id="outline-container-org86b4628" class="outline-3">
|
||||
<h3 id="org86b4628"><span class="section-number-3">1.1</span> Vector</h3>
|
||||
<div id="outline-container-orge3b6cbe" class="outline-3">
|
||||
<h3 id="orge3b6cbe"><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">
|
||||
|
||||
@ -483,8 +483,8 @@ Allocates a new vector. If the allocation failed the size is zero.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6ab3689" class="outline-3">
|
||||
<h3 id="org6ab3689"><span class="section-number-3">1.2</span> Matrix</h3>
|
||||
<div id="outline-container-orgbb89960" class="outline-3">
|
||||
<h3 id="orgbb89960"><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">
|
||||
|
||||
@ -604,8 +604,8 @@ Allocates a new matrix. If the allocation failed the sizes are zero.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb4bb8b5" class="outline-3">
|
||||
<h3 id="orgb4bb8b5"><span class="section-number-3">1.3</span> Tensor</h3>
|
||||
<div id="outline-container-org310e946" class="outline-3">
|
||||
<h3 id="org310e946"><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">
|
||||
|
||||
@ -741,16 +741,16 @@ is zero.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge8245cc" class="outline-3">
|
||||
<h3 id="orge8245cc"><span class="section-number-3">1.4</span> Reshaping</h3>
|
||||
<div id="outline-container-orgf78d746" class="outline-3">
|
||||
<h3 id="orgf78d746"><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-orga022b1c" class="outline-4">
|
||||
<h4 id="orga022b1c"><span class="section-number-4">1.4.1</span> Vector -> Matrix</h4>
|
||||
<div id="outline-container-org92cd5e9" class="outline-4">
|
||||
<h4 id="org92cd5e9"><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>
|
||||
@ -786,8 +786,8 @@ Reshapes a vector into a matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga8f445a" class="outline-4">
|
||||
<h4 id="orga8f445a"><span class="section-number-4">1.4.2</span> Vector -> Tensor</h4>
|
||||
<div id="outline-container-org113922b" class="outline-4">
|
||||
<h4 id="org113922b"><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>
|
||||
@ -825,8 +825,8 @@ Reshapes a vector into a tensor.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org82027a9" class="outline-4">
|
||||
<h4 id="org82027a9"><span class="section-number-4">1.4.3</span> Matrix -> Vector</h4>
|
||||
<div id="outline-container-orged24355" class="outline-4">
|
||||
<h4 id="orged24355"><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>
|
||||
@ -854,8 +854,8 @@ Reshapes a matrix into a vector.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5f92732" class="outline-4">
|
||||
<h4 id="org5f92732"><span class="section-number-4">1.4.4</span> Matrix -> Tensor</h4>
|
||||
<div id="outline-container-org80c6570" class="outline-4">
|
||||
<h4 id="org80c6570"><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>
|
||||
@ -893,8 +893,8 @@ Reshapes a matrix into a tensor.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org02f19e5" class="outline-4">
|
||||
<h4 id="org02f19e5"><span class="section-number-4">1.4.5</span> Tensor -> Vector</h4>
|
||||
<div id="outline-container-org1d4ade3" class="outline-4">
|
||||
<h4 id="org1d4ade3"><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>
|
||||
@ -927,8 +927,8 @@ Reshapes a tensor into a vector.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgacdc60a" class="outline-4">
|
||||
<h4 id="orgacdc60a"><span class="section-number-4">1.4.6</span> Tensor -> Matrix</h4>
|
||||
<div id="outline-container-orgc58af47" class="outline-4">
|
||||
<h4 id="orgc58af47"><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>
|
||||
@ -969,8 +969,8 @@ Reshapes a tensor into a vector.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3886373" class="outline-3">
|
||||
<h3 id="org3886373"><span class="section-number-3">1.5</span> Access macros</h3>
|
||||
<div id="outline-container-org604b737" class="outline-3">
|
||||
<h3 id="org604b737"><span class="section-number-3">1.5</span> Access macros</h3>
|
||||
<div class="outline-text-3" id="text-1-5">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #483d8b;">#define</span> <span style="color: #0000ff;">qmckl_vec</span>(<span style="color: #a0522d;">v</span>, <span style="color: #a0522d;">i</span>) v.data[i]
|
||||
@ -984,8 +984,8 @@ Reshapes a tensor into a vector.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgdc75f7a" class="outline-3">
|
||||
<h3 id="orgdc75f7a"><span class="section-number-3">1.6</span> Copy to/from to <code>double*</code></h3>
|
||||
<div id="outline-container-org89a1032" class="outline-3">
|
||||
<h3 id="org89a1032"><span class="section-number-3">1.6</span> Copy to/from to <code>double*</code></h3>
|
||||
<div class="outline-text-3" id="text-1-6">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
|
||||
@ -1191,8 +1191,8 @@ Converts a matrix to a <code>double*</code>.
|
||||
|
||||
|
||||
|
||||
<div id="outline-container-orge357b0a" class="outline-3">
|
||||
<h3 id="orge357b0a"><span class="section-number-3">1.7</span> Tests</h3>
|
||||
<div id="outline-container-org9e9bb0f" class="outline-3">
|
||||
<h3 id="org9e9bb0f"><span class="section-number-3">1.7</span> Tests</h3>
|
||||
<div class="outline-text-3" id="text-1-7">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">{
|
||||
@ -1230,12 +1230,12 @@ Converts a matrix to a <code>double*</code>.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orged24ee9" class="outline-2">
|
||||
<h2 id="orged24ee9"><span class="section-number-2">2</span> Matrix operations</h2>
|
||||
<div id="outline-container-orgd5d9d01" class="outline-2">
|
||||
<h2 id="orgd5d9d01"><span class="section-number-2">2</span> Matrix operations</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-org3e1c790" class="outline-3">
|
||||
<h3 id="org3e1c790"><span class="section-number-3">2.1</span> <code>qmckl_dgemm</code></h3>
|
||||
<div id="outline-container-org4b1041f" class="outline-3">
|
||||
<h3 id="org4b1041f"><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:
|
||||
@ -1247,7 +1247,7 @@ Matrix multiplication:
|
||||
\]
|
||||
</p>
|
||||
|
||||
<table id="orgbda55cc" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org359a918" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1467,8 +1467,8 @@ Requirements:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org22e8c11" class="outline-3">
|
||||
<h3 id="org22e8c11"><span class="section-number-3">2.2</span> <code>qmckl_matmul</code></h3>
|
||||
<div id="outline-container-org6049b20" class="outline-3">
|
||||
<h3 id="org6049b20"><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:
|
||||
@ -1480,7 +1480,7 @@ Matrix multiplication:
|
||||
\]
|
||||
</p>
|
||||
|
||||
<table id="org7c56633" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orga9a9784" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1713,8 +1713,8 @@ Matrix multiplication:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3bfeb4a" class="outline-3">
|
||||
<h3 id="org3bfeb4a"><span class="section-number-3">2.3</span> <code>qmckl_adjugate</code></h3>
|
||||
<div id="outline-container-org5e77ff0" class="outline-3">
|
||||
<h3 id="org5e77ff0"><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
|
||||
@ -1732,7 +1732,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="orga29d084" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgf9fcfda" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1985,8 +1985,8 @@ determinant with the inverse:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7983580" class="outline-3">
|
||||
<h3 id="org7983580"><span class="section-number-3">2.4</span> <code>qmckl_transpose</code></h3>
|
||||
<div id="outline-container-org8b8711d" class="outline-3">
|
||||
<h3 id="org8b8711d"><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}\).
|
||||
@ -2086,8 +2086,8 @@ Transposes a matrix: \(A^\dagger_{ji} = A_{ij}\).
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7b3ed34" class="outline-4">
|
||||
<h4 id="org7b3ed34"><span class="section-number-4">2.4.1</span> Test</h4>
|
||||
<div id="outline-container-org1528059" class="outline-4">
|
||||
<h4 id="org1528059"><span class="section-number-4">2.4.1</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-4-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">{
|
||||
@ -2121,7 +2121,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-02-11 Fri 15:00</p>
|
||||
<p class="date">Created: 2022-02-11 Fri 15:09</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2022-02-11 Fri 15:00 -->
|
||||
<!-- 2022-02-11 Fri 15:09 -->
|
||||
<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="#org64cac3b">1. Context handling</a>
|
||||
<li><a href="#org1f9c4b0">1. Context handling</a>
|
||||
<ul>
|
||||
<li><a href="#org4873361">1.1. Data structure</a></li>
|
||||
<li><a href="#org721f09c">1.2. Creation</a></li>
|
||||
<li><a href="#orgf6f2f1b">1.3. Locking</a></li>
|
||||
<li><a href="#org51fa4ea">1.4. <span class="todo TODO">TODO</span> Copy</a></li>
|
||||
<li><a href="#org8d67091">1.5. Destroy</a></li>
|
||||
<li><a href="#org456288e">1.1. Data structure</a></li>
|
||||
<li><a href="#orgae72549">1.2. Creation</a></li>
|
||||
<li><a href="#org024ddd5">1.3. Locking</a></li>
|
||||
<li><a href="#org80ad5c7">1.4. <span class="todo TODO">TODO</span> Copy</a></li>
|
||||
<li><a href="#org884df7c">1.5. Destroy</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org64cac3b" class="outline-2">
|
||||
<h2 id="org64cac3b"><span class="section-number-2">1</span> Context handling</h2>
|
||||
<div id="outline-container-org1f9c4b0" class="outline-2">
|
||||
<h2 id="org1f9c4b0"><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="org7e85b62"><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="org9a2af15"><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-org4873361" class="outline-3">
|
||||
<h3 id="org4873361"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-org456288e" class="outline-3">
|
||||
<h3 id="org456288e"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<p>
|
||||
The context keeps a ``date'' that allows to check which data needs
|
||||
@ -367,7 +367,7 @@ coordinates are updated.
|
||||
|
||||
<p>
|
||||
When a new element is added to the context, the functions
|
||||
<a href="#org721f09c">qmckl<sub>context</sub><sub>create</sub></a>, <a href="#org8d67091">qmckl<sub>context</sub><sub>destroy</sub></a> and <a href="#org51fa4ea">qmckl<sub>context</sub><sub>copy</sub></a>
|
||||
<a href="#orgae72549">qmckl<sub>context</sub><sub>create</sub></a>, <a href="#org884df7c">qmckl<sub>context</sub><sub>destroy</sub></a> and <a href="#org80ad5c7">qmckl<sub>context</sub><sub>copy</sub></a>
|
||||
should be updated inorder to make deep copies.
|
||||
</p>
|
||||
|
||||
@ -416,8 +416,8 @@ if the context is valid, <code>QMCKL_NULL_CONTEXT</code> otherwise.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org721f09c" class="outline-3">
|
||||
<h3 id="org721f09c"><span class="section-number-3">1.2</span> Creation</h3>
|
||||
<div id="outline-container-orgae72549" class="outline-3">
|
||||
<h3 id="orgae72549"><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.
|
||||
@ -511,8 +511,8 @@ To create a new context, <code>qmckl_context_create()</code> should be used.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgf6f2f1b" class="outline-3">
|
||||
<h3 id="orgf6f2f1b"><span class="section-number-3">1.3</span> Locking</h3>
|
||||
<div id="outline-container-org024ddd5" class="outline-3">
|
||||
<h3 id="org024ddd5"><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
|
||||
@ -557,8 +557,8 @@ number of times the thread has locked it is saved in the
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org51fa4ea" class="outline-3">
|
||||
<h3 id="org51fa4ea"><span class="section-number-3">1.4</span> <span class="todo TODO">TODO</span> Copy</h3>
|
||||
<div id="outline-container-org80ad5c7" class="outline-3">
|
||||
<h3 id="org80ad5c7"><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
|
||||
@ -606,8 +606,8 @@ number of times the thread has locked it is saved in the
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org8d67091" class="outline-3">
|
||||
<h3 id="org8d67091"><span class="section-number-3">1.5</span> Destroy</h3>
|
||||
<div id="outline-container-org884df7c" class="outline-3">
|
||||
<h3 id="org884df7c"><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.
|
||||
@ -661,7 +661,7 @@ It frees the context, and returns the previous context.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-02-11 Fri 15:00</p>
|
||||
<p class="date">Created: 2022-02-11 Fri 15:09</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2022-02-11 Fri 14:59 -->
|
||||
<!-- 2022-02-11 Fri 15:08 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Slater Determinant</title>
|
||||
@ -311,32 +311,32 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#orga5cedf3">1. Context</a>
|
||||
<li><a href="#org07dada6">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org31a31b6">1.1. Data structure</a></li>
|
||||
<li><a href="#org974e152">1.2. Access functions</a></li>
|
||||
<li><a href="#orga5489cb">1.3. Initialization functions</a></li>
|
||||
<li><a href="#orgd76dc7b">1.4. Fortran Interfaces</a></li>
|
||||
<li><a href="#org3b85f87">1.5. Test</a></li>
|
||||
<li><a href="#orgfb4f1d6">1.1. Data structure</a></li>
|
||||
<li><a href="#orgbe10a34">1.2. Access functions</a></li>
|
||||
<li><a href="#orgae80029">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org66c7fa3">1.4. Fortran Interfaces</a></li>
|
||||
<li><a href="#org8663fd3">1.5. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgb455ac5">2. Computation</a>
|
||||
<li><a href="#org0785895">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#org3ce99db">2.1. Determinant matrix</a>
|
||||
<li><a href="#org27f655f">2.1. Determinant matrix</a>
|
||||
<ul>
|
||||
<li><a href="#orgbeb05fd">2.1.1. Get</a></li>
|
||||
<li><a href="#org4392f0d">2.1.2. Provide</a></li>
|
||||
<li><a href="#orgf1b233f">2.1.3. Compute alpha</a></li>
|
||||
<li><a href="#org5101f32">2.1.4. Compute beta</a></li>
|
||||
<li><a href="#org76c8529">2.1.5. Test</a></li>
|
||||
<li><a href="#org8ad0bbd">2.1.1. Get</a></li>
|
||||
<li><a href="#org039e86b">2.1.2. Provide</a></li>
|
||||
<li><a href="#org0a8c1e1">2.1.3. Compute alpha</a></li>
|
||||
<li><a href="#org85efdc4">2.1.4. Compute beta</a></li>
|
||||
<li><a href="#orgb60cc03">2.1.5. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orge01f231">2.2. Inverse of Determinant matrix</a>
|
||||
<li><a href="#org3602e2e">2.2. Inverse of Determinant matrix</a>
|
||||
<ul>
|
||||
<li><a href="#org43bc3a7">2.2.1. Get</a></li>
|
||||
<li><a href="#org649f263">2.2.2. Provide</a></li>
|
||||
<li><a href="#orgbe4e962">2.2.3. Compute alpha</a></li>
|
||||
<li><a href="#org5ff8f09">2.2.4. Compute beta</a></li>
|
||||
<li><a href="#orgdcce61b">2.2.1. Get</a></li>
|
||||
<li><a href="#org36e818f">2.2.2. Provide</a></li>
|
||||
<li><a href="#orgbdca702">2.2.3. Compute alpha</a></li>
|
||||
<li><a href="#org0fc7feb">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-orga5cedf3" class="outline-2">
|
||||
<h2 id="orga5cedf3"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-org07dada6" class="outline-2">
|
||||
<h2 id="org07dada6"><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-org31a31b6" class="outline-3">
|
||||
<h3 id="org31a31b6"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-orgfb4f1d6" class="outline-3">
|
||||
<h3 id="orgfb4f1d6"><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-org974e152" class="outline-3">
|
||||
<h3 id="org974e152"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-orgbe10a34" class="outline-3">
|
||||
<h3 id="orgbe10a34"><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-orga5489cb" class="outline-3">
|
||||
<h3 id="orga5489cb"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-orgae80029" class="outline-3">
|
||||
<h3 id="orgae80029"><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-orgd76dc7b" class="outline-3">
|
||||
<h3 id="orgd76dc7b"><span class="section-number-3">1.4</span> Fortran Interfaces</h3>
|
||||
<div id="outline-container-org66c7fa3" class="outline-3">
|
||||
<h3 id="org66c7fa3"><span class="section-number-3">1.4</span> Fortran Interfaces</h3>
|
||||
</div>
|
||||
<div id="outline-container-org3b85f87" class="outline-3">
|
||||
<h3 id="org3b85f87"><span class="section-number-3">1.5</span> Test</h3>
|
||||
<div id="outline-container-org8663fd3" class="outline-3">
|
||||
<h3 id="org8663fd3"><span class="section-number-3">1.5</span> Test</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgb455ac5" class="outline-2">
|
||||
<h2 id="orgb455ac5"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-org0785895" class="outline-2">
|
||||
<h2 id="org0785895"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-org3ce99db" class="outline-3">
|
||||
<h3 id="org3ce99db"><span class="section-number-3">2.1</span> Determinant matrix</h3>
|
||||
<div id="outline-container-org27f655f" class="outline-3">
|
||||
<h3 id="org27f655f"><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-orgbeb05fd" class="outline-4">
|
||||
<h4 id="orgbeb05fd"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-org8ad0bbd" class="outline-4">
|
||||
<h4 id="org8ad0bbd"><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-org4392f0d" class="outline-4">
|
||||
<h4 id="org4392f0d"><span class="section-number-4">2.1.2</span> Provide</h4>
|
||||
<div id="outline-container-org039e86b" class="outline-4">
|
||||
<h4 id="org039e86b"><span class="section-number-4">2.1.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf1b233f" class="outline-4">
|
||||
<h4 id="orgf1b233f"><span class="section-number-4">2.1.3</span> Compute alpha</h4>
|
||||
<div id="outline-container-org0a8c1e1" class="outline-4">
|
||||
<h4 id="org0a8c1e1"><span class="section-number-4">2.1.3</span> Compute alpha</h4>
|
||||
<div class="outline-text-4" id="text-2-1-3">
|
||||
<table id="org9d43f56" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org269590e" 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-org5101f32" class="outline-4">
|
||||
<h4 id="org5101f32"><span class="section-number-4">2.1.4</span> Compute beta</h4>
|
||||
<div id="outline-container-org85efdc4" class="outline-4">
|
||||
<h4 id="org85efdc4"><span class="section-number-4">2.1.4</span> Compute beta</h4>
|
||||
<div class="outline-text-4" id="text-2-1-4">
|
||||
<table id="orgacc5edd" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org6657087" 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-org76c8529" class="outline-4">
|
||||
<h4 id="org76c8529"><span class="section-number-4">2.1.5</span> Test</h4>
|
||||
<div id="outline-container-orgb60cc03" class="outline-4">
|
||||
<h4 id="orgb60cc03"><span class="section-number-4">2.1.5</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge01f231" class="outline-3">
|
||||
<h3 id="orge01f231"><span class="section-number-3">2.2</span> Inverse of Determinant matrix</h3>
|
||||
<div id="outline-container-org3602e2e" class="outline-3">
|
||||
<h3 id="org3602e2e"><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-org43bc3a7" class="outline-4">
|
||||
<h4 id="org43bc3a7"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div id="outline-container-orgdcce61b" class="outline-4">
|
||||
<h4 id="orgdcce61b"><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-org649f263" class="outline-4">
|
||||
<h4 id="org649f263"><span class="section-number-4">2.2.2</span> Provide</h4>
|
||||
<div id="outline-container-org36e818f" class="outline-4">
|
||||
<h4 id="org36e818f"><span class="section-number-4">2.2.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbe4e962" class="outline-4">
|
||||
<h4 id="orgbe4e962"><span class="section-number-4">2.2.3</span> Compute alpha</h4>
|
||||
<div id="outline-container-orgbdca702" class="outline-4">
|
||||
<h4 id="orgbdca702"><span class="section-number-4">2.2.3</span> Compute alpha</h4>
|
||||
<div class="outline-text-4" id="text-2-2-3">
|
||||
<table id="org7d5db6e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orga6d99b8" 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-org5ff8f09" class="outline-4">
|
||||
<h4 id="org5ff8f09"><span class="section-number-4">2.2.4</span> Compute beta</h4>
|
||||
<div id="outline-container-org0fc7feb" class="outline-4">
|
||||
<h4 id="org0fc7feb"><span class="section-number-4">2.2.4</span> Compute beta</h4>
|
||||
<div class="outline-text-4" id="text-2-2-4">
|
||||
<table id="org8fccc77" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgb07f2c7" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1387,7 +1387,7 @@ computed to accelerate the calculations.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-02-11 Fri 14:59</p>
|
||||
<p class="date">Created: 2022-02-11 Fri 15:08</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2022-02-11 Fri 15:00 -->
|
||||
<!-- 2022-02-11 Fri 15:09 -->
|
||||
<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="#org6aea259">1. Squared distance</a>
|
||||
<li><a href="#orgc28b6a9">1. Squared distance</a>
|
||||
<ul>
|
||||
<li><a href="#orgfe03f9b">1.1. <code>qmckl_distance_sq</code></a>
|
||||
<li><a href="#org0600c54">1.1. <code>qmckl_distance_sq</code></a>
|
||||
<ul>
|
||||
<li><a href="#orgcf69b46">1.1.1. Performance</a></li>
|
||||
<li><a href="#org652995d">1.1.1. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org25edb03">2. Distance</a>
|
||||
<li><a href="#org3a65cb1">2. Distance</a>
|
||||
<ul>
|
||||
<li><a href="#org1c7ec18">2.1. <code>qmckl_distance</code></a>
|
||||
<li><a href="#org7c7e0f4">2.1. <code>qmckl_distance</code></a>
|
||||
<ul>
|
||||
<li><a href="#orge08d3e1">2.1.1. Requirements</a></li>
|
||||
<li><a href="#org4245b6f">2.1.2. C header</a></li>
|
||||
<li><a href="#orge77b26f">2.1.3. Source</a></li>
|
||||
<li><a href="#org2bfcb82">2.1.4. Performance</a></li>
|
||||
<li><a href="#org0286d62">2.1.1. Requirements</a></li>
|
||||
<li><a href="#org1b02b4a">2.1.2. C header</a></li>
|
||||
<li><a href="#org3f73407">2.1.3. Source</a></li>
|
||||
<li><a href="#orgd4dfd04">2.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgeeeb71e">3. Rescaled Distance</a>
|
||||
<li><a href="#org9eaefc7">3. Rescaled Distance</a>
|
||||
<ul>
|
||||
<li><a href="#orge77e8d3">3.1. <code>qmckl_distance_rescaled</code></a>
|
||||
<li><a href="#orgdfe0eb1">3.1. <code>qmckl_distance_rescaled</code></a>
|
||||
<ul>
|
||||
<li><a href="#org87a8d5c">3.1.1. Requirements</a></li>
|
||||
<li><a href="#org0f7b129">3.1.2. C header</a></li>
|
||||
<li><a href="#org96b7320">3.1.3. Source</a></li>
|
||||
<li><a href="#orgf4ad2a0">3.1.4. Performance</a></li>
|
||||
<li><a href="#org1e20560">3.1.1. Requirements</a></li>
|
||||
<li><a href="#org099fa68">3.1.2. C header</a></li>
|
||||
<li><a href="#orgbe37377">3.1.3. Source</a></li>
|
||||
<li><a href="#org614d686">3.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org1ad577c">4. Rescaled Distance Derivatives</a>
|
||||
<li><a href="#orgaa53dc6">4. Rescaled Distance Derivatives</a>
|
||||
<ul>
|
||||
<li><a href="#orgfcfbc4f">4.1. <code>qmckl_distance_rescaled_deriv_e</code></a></li>
|
||||
<li><a href="#org23c2ac6">4.1. <code>qmckl_distance_rescaled_deriv_e</code></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6aea259" class="outline-2">
|
||||
<h2 id="org6aea259"><span class="section-number-2">1</span> Squared distance</h2>
|
||||
<div id="outline-container-orgc28b6a9" class="outline-2">
|
||||
<h2 id="orgc28b6a9"><span class="section-number-2">1</span> Squared distance</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
</div>
|
||||
<div id="outline-container-orgfe03f9b" class="outline-3">
|
||||
<h3 id="orgfe03f9b"><span class="section-number-3">1.1</span> <code>qmckl_distance_sq</code></h3>
|
||||
<div id="outline-container-org0600c54" class="outline-3">
|
||||
<h3 id="org0600c54"><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="org4e9bcc6" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org11390b0" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -659,8 +659,8 @@ Requirements:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgcf69b46" class="outline-4">
|
||||
<h4 id="orgcf69b46"><span class="section-number-4">1.1.1</span> Performance</h4>
|
||||
<div id="outline-container-org652995d" class="outline-4">
|
||||
<h4 id="org652995d"><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-org25edb03" class="outline-2">
|
||||
<h2 id="org25edb03"><span class="section-number-2">2</span> Distance</h2>
|
||||
<div id="outline-container-org3a65cb1" class="outline-2">
|
||||
<h2 id="org3a65cb1"><span class="section-number-2">2</span> Distance</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-org1c7ec18" class="outline-3">
|
||||
<h3 id="org1c7ec18"><span class="section-number-3">2.1</span> <code>qmckl_distance</code></h3>
|
||||
<div id="outline-container-org7c7e0f4" class="outline-3">
|
||||
<h3 id="org7c7e0f4"><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="orgf62cf2e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org41b5079" 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-orge08d3e1" class="outline-4">
|
||||
<h4 id="orge08d3e1"><span class="section-number-4">2.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org0286d62" class="outline-4">
|
||||
<h4 id="org0286d62"><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-org4245b6f" class="outline-4">
|
||||
<h4 id="org4245b6f"><span class="section-number-4">2.1.2</span> C header</h4>
|
||||
<div id="outline-container-org1b02b4a" class="outline-4">
|
||||
<h4 id="org1b02b4a"><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-orge77b26f" class="outline-4">
|
||||
<h4 id="orge77b26f"><span class="section-number-4">2.1.3</span> Source</h4>
|
||||
<div id="outline-container-org3f73407" class="outline-4">
|
||||
<h4 id="org3f73407"><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-org2bfcb82" class="outline-4">
|
||||
<h4 id="org2bfcb82"><span class="section-number-4">2.1.4</span> Performance</h4>
|
||||
<div id="outline-container-orgd4dfd04" class="outline-4">
|
||||
<h4 id="orgd4dfd04"><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-orgeeeb71e" class="outline-2">
|
||||
<h2 id="orgeeeb71e"><span class="section-number-2">3</span> Rescaled Distance</h2>
|
||||
<div id="outline-container-org9eaefc7" class="outline-2">
|
||||
<h2 id="org9eaefc7"><span class="section-number-2">3</span> Rescaled Distance</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
</div>
|
||||
<div id="outline-container-orge77e8d3" class="outline-3">
|
||||
<h3 id="orge77e8d3"><span class="section-number-3">3.1</span> <code>qmckl_distance_rescaled</code></h3>
|
||||
<div id="outline-container-orgdfe0eb1" class="outline-3">
|
||||
<h3 id="orgdfe0eb1"><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="orgd352c48" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org3d05702" 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-org87a8d5c" class="outline-4">
|
||||
<h4 id="org87a8d5c"><span class="section-number-4">3.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org1e20560" class="outline-4">
|
||||
<h4 id="org1e20560"><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-org0f7b129" class="outline-4">
|
||||
<h4 id="org0f7b129"><span class="section-number-4">3.1.2</span> C header</h4>
|
||||
<div id="outline-container-org099fa68" class="outline-4">
|
||||
<h4 id="org099fa68"><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-org96b7320" class="outline-4">
|
||||
<h4 id="org96b7320"><span class="section-number-4">3.1.3</span> Source</h4>
|
||||
<div id="outline-container-orgbe37377" class="outline-4">
|
||||
<h4 id="orgbe37377"><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-orgf4ad2a0" class="outline-4">
|
||||
<h4 id="orgf4ad2a0"><span class="section-number-4">3.1.4</span> Performance</h4>
|
||||
<div id="outline-container-org614d686" class="outline-4">
|
||||
<h4 id="org614d686"><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-org1ad577c" class="outline-2">
|
||||
<h2 id="org1ad577c"><span class="section-number-2">4</span> Rescaled Distance Derivatives</h2>
|
||||
<div id="outline-container-orgaa53dc6" class="outline-2">
|
||||
<h2 id="orgaa53dc6"><span class="section-number-2">4</span> Rescaled Distance Derivatives</h2>
|
||||
<div class="outline-text-2" id="text-4">
|
||||
</div>
|
||||
<div id="outline-container-orgfcfbc4f" class="outline-3">
|
||||
<h3 id="orgfcfbc4f"><span class="section-number-3">4.1</span> <code>qmckl_distance_rescaled_deriv_e</code></h3>
|
||||
<div id="outline-container-org23c2ac6" class="outline-3">
|
||||
<h3 id="org23c2ac6"><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="org76db819" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgfeb9d0f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1776,7 +1776,7 @@ This function is more efficient when <code>A</code> and <code>B</code> are trans
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-02-11 Fri 15:00</p>
|
||||
<p class="date">Created: 2022-02-11 Fri 15:09</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2022-02-11 Fri 15:00 -->
|
||||
<!-- 2022-02-11 Fri 15:09 -->
|
||||
<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="#org4691280">1. Context</a>
|
||||
<li><a href="#org905abdf">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#orgec2b8c3">1.1. Data structure</a></li>
|
||||
<li><a href="#org1418151">1.2. Access functions</a>
|
||||
<li><a href="#orgf159e50">1.1. Data structure</a></li>
|
||||
<li><a href="#org4238f7a">1.2. Access functions</a>
|
||||
<ul>
|
||||
<li><a href="#orgdb17ad4">1.2.1. Number of electrons</a></li>
|
||||
<li><a href="#orgcd47854">1.2.2. Number of walkers</a></li>
|
||||
<li><a href="#org5246f1e">1.2.3. Scaling factors Kappa</a></li>
|
||||
<li><a href="#org1d95d97">1.2.4. Electron coordinates</a></li>
|
||||
<li><a href="#orgf6d974e">1.2.1. Number of electrons</a></li>
|
||||
<li><a href="#orgeed1199">1.2.2. Number of walkers</a></li>
|
||||
<li><a href="#org75875c4">1.2.3. Scaling factors Kappa</a></li>
|
||||
<li><a href="#orgefc38e6">1.2.4. Electron coordinates</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org2e05baf">1.3. Initialization functions</a></li>
|
||||
<li><a href="#orgde1d454">1.4. Test</a></li>
|
||||
<li><a href="#orgb5edb8b">1.3. Initialization functions</a></li>
|
||||
<li><a href="#orgde2a22a">1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org69ddf70">2. Computation</a>
|
||||
<li><a href="#org797ddbf">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#orgb9ec940">2.1. Electron-electron distances</a>
|
||||
<li><a href="#orgc2b25d4">2.1. Electron-electron distances</a>
|
||||
<ul>
|
||||
<li><a href="#org55e1328">2.1.1. Get</a></li>
|
||||
<li><a href="#org8f995cc">2.1.2. Compute</a></li>
|
||||
<li><a href="#orgfb7478e">2.1.3. Test</a></li>
|
||||
<li><a href="#org950daeb">2.1.1. Get</a></li>
|
||||
<li><a href="#org274062a">2.1.2. Compute</a></li>
|
||||
<li><a href="#org463aefc">2.1.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org61cc161">2.2. Electron-electron rescaled distances</a>
|
||||
<li><a href="#orgccfbb5c">2.2. Electron-electron rescaled distances</a>
|
||||
<ul>
|
||||
<li><a href="#orgf378c72">2.2.1. Get</a></li>
|
||||
<li><a href="#org910f90e">2.2.2. Compute</a></li>
|
||||
<li><a href="#org6298e82">2.2.3. Test</a></li>
|
||||
<li><a href="#org22521c5">2.2.1. Get</a></li>
|
||||
<li><a href="#org7ebae0b">2.2.2. Compute</a></li>
|
||||
<li><a href="#orgb6369eb">2.2.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org0e1c73e">2.3. Electron-electron rescaled distance gradients and laplacian with respect to electron coords</a>
|
||||
<li><a href="#org4b58854">2.3. Electron-electron rescaled distance gradients and laplacian with respect to electron coords</a>
|
||||
<ul>
|
||||
<li><a href="#org0f7877d">2.3.1. Get</a></li>
|
||||
<li><a href="#orgf24d976">2.3.2. Compute</a></li>
|
||||
<li><a href="#orgd039f00">2.3.3. Test</a></li>
|
||||
<li><a href="#orgefcc037">2.3.1. Get</a></li>
|
||||
<li><a href="#orgc41054d">2.3.2. Compute</a></li>
|
||||
<li><a href="#orgf0634b9">2.3.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org0bec2c5">2.4. Electron-electron potential</a>
|
||||
<li><a href="#org33f7768">2.4. Electron-electron potential</a>
|
||||
<ul>
|
||||
<li><a href="#org2e6b7e9">2.4.1. Get</a></li>
|
||||
<li><a href="#org2617e3c">2.4.2. Compute</a></li>
|
||||
<li><a href="#orgbf7b78a">2.4.3. Test</a></li>
|
||||
<li><a href="#org14b235c">2.4.1. Get</a></li>
|
||||
<li><a href="#orgff573b1">2.4.2. Compute</a></li>
|
||||
<li><a href="#orga5590c6">2.4.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgc1f49ed">2.5. Electron-nucleus distances</a>
|
||||
<li><a href="#org84c8b34">2.5. Electron-nucleus distances</a>
|
||||
<ul>
|
||||
<li><a href="#org48b7fd6">2.5.1. Get</a></li>
|
||||
<li><a href="#orgf1822e2">2.5.2. Compute</a></li>
|
||||
<li><a href="#org392ecd1">2.5.3. Test</a></li>
|
||||
<li><a href="#orgf6e05e6">2.5.1. Get</a></li>
|
||||
<li><a href="#org9dfd290">2.5.2. Compute</a></li>
|
||||
<li><a href="#org8797c95">2.5.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org6667d17">2.6. Electron-nucleus rescaled distances</a>
|
||||
<li><a href="#orgbc29a45">2.6. Electron-nucleus rescaled distances</a>
|
||||
<ul>
|
||||
<li><a href="#org2693467">2.6.1. Get</a></li>
|
||||
<li><a href="#orga11c593">2.6.2. Compute</a></li>
|
||||
<li><a href="#orgd6a24ce">2.6.3. Test</a></li>
|
||||
<li><a href="#org3297607">2.6.1. Get</a></li>
|
||||
<li><a href="#org9568e1d">2.6.2. Compute</a></li>
|
||||
<li><a href="#orgb9b0f29">2.6.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org164542b">2.7. Electron-nucleus rescaled distance gradients and laplacian with respect to electron coords</a>
|
||||
<li><a href="#org9b99576">2.7. Electron-nucleus rescaled distance gradients and laplacian with respect to electron coords</a>
|
||||
<ul>
|
||||
<li><a href="#org4798613">2.7.1. Get</a></li>
|
||||
<li><a href="#orgc70da98">2.7.2. Compute</a></li>
|
||||
<li><a href="#org09c307e">2.7.3. Test</a></li>
|
||||
<li><a href="#org6c2f0bf">2.7.1. Get</a></li>
|
||||
<li><a href="#org075d698">2.7.2. Compute</a></li>
|
||||
<li><a href="#org1fc53b6">2.7.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org257b682">2.8. Electron-nucleus potential</a>
|
||||
<li><a href="#orgd10d3aa">2.8. Electron-nucleus potential</a>
|
||||
<ul>
|
||||
<li><a href="#orgcc0584d">2.8.1. Get</a></li>
|
||||
<li><a href="#orgfa6b025">2.8.2. Compute</a></li>
|
||||
<li><a href="#org22573c0">2.8.3. Test</a></li>
|
||||
<li><a href="#org0aeb2f0">2.8.1. Get</a></li>
|
||||
<li><a href="#org6e6ecbf">2.8.2. Compute</a></li>
|
||||
<li><a href="#org179e35d">2.8.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org0bb48ec">2.9. Generate initial coordinates</a></li>
|
||||
<li><a href="#org6d92e34">2.9. Generate initial coordinates</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4691280" class="outline-2">
|
||||
<h2 id="org4691280"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-org905abdf" class="outline-2">
|
||||
<h2 id="org905abdf"><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-orgec2b8c3" class="outline-3">
|
||||
<h3 id="orgec2b8c3"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-orgf159e50" class="outline-3">
|
||||
<h3 id="orgf159e50"><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-org1418151" class="outline-3">
|
||||
<h3 id="org1418151"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-org4238f7a" class="outline-3">
|
||||
<h3 id="org4238f7a"><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-orgdb17ad4" class="outline-4">
|
||||
<h4 id="orgdb17ad4"><span class="section-number-4">1.2.1</span> Number of electrons</h4>
|
||||
<div id="outline-container-orgf6d974e" class="outline-4">
|
||||
<h4 id="orgf6d974e"><span class="section-number-4">1.2.1</span> Number of electrons</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgcd47854" class="outline-4">
|
||||
<h4 id="orgcd47854"><span class="section-number-4">1.2.2</span> Number of walkers</h4>
|
||||
<div id="outline-container-orgeed1199" class="outline-4">
|
||||
<h4 id="orgeed1199"><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-org5246f1e" class="outline-4">
|
||||
<h4 id="org5246f1e"><span class="section-number-4">1.2.3</span> Scaling factors Kappa</h4>
|
||||
<div id="outline-container-org75875c4" class="outline-4">
|
||||
<h4 id="org75875c4"><span class="section-number-4">1.2.3</span> Scaling factors Kappa</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1d95d97" class="outline-4">
|
||||
<h4 id="org1d95d97"><span class="section-number-4">1.2.4</span> Electron coordinates</h4>
|
||||
<div id="outline-container-orgefc38e6" class="outline-4">
|
||||
<h4 id="orgefc38e6"><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-org2e05baf" class="outline-3">
|
||||
<h3 id="org2e05baf"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-orgb5edb8b" class="outline-3">
|
||||
<h3 id="orgb5edb8b"><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-orgde1d454" class="outline-3">
|
||||
<h3 id="orgde1d454"><span class="section-number-3">1.4</span> Test</h3>
|
||||
<div id="outline-container-orgde2a22a" class="outline-3">
|
||||
<h3 id="orgde2a22a"><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-org69ddf70" class="outline-2">
|
||||
<h2 id="org69ddf70"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-org797ddbf" class="outline-2">
|
||||
<h2 id="org797ddbf"><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-orgb9ec940" class="outline-3">
|
||||
<h3 id="orgb9ec940"><span class="section-number-3">2.1</span> Electron-electron distances</h3>
|
||||
<div id="outline-container-orgc2b25d4" class="outline-3">
|
||||
<h3 id="orgc2b25d4"><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-org55e1328" class="outline-4">
|
||||
<h4 id="org55e1328"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-org950daeb" class="outline-4">
|
||||
<h4 id="org950daeb"><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-org8f995cc" class="outline-4">
|
||||
<h4 id="org8f995cc"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div id="outline-container-org274062a" class="outline-4">
|
||||
<h4 id="org274062a"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-1-2">
|
||||
<table id="orgf17cd6a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org4c42e31" 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-orgfb7478e" class="outline-4">
|
||||
<h4 id="orgfb7478e"><span class="section-number-4">2.1.3</span> Test</h4>
|
||||
<div id="outline-container-org463aefc" class="outline-4">
|
||||
<h4 id="org463aefc"><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-org61cc161" class="outline-3">
|
||||
<h3 id="org61cc161"><span class="section-number-3">2.2</span> Electron-electron rescaled distances</h3>
|
||||
<div id="outline-container-orgccfbb5c" class="outline-3">
|
||||
<h3 id="orgccfbb5c"><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-orgf378c72" class="outline-4">
|
||||
<h4 id="orgf378c72"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div id="outline-container-org22521c5" class="outline-4">
|
||||
<h4 id="org22521c5"><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-org910f90e" class="outline-4">
|
||||
<h4 id="org910f90e"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div id="outline-container-org7ebae0b" class="outline-4">
|
||||
<h4 id="org7ebae0b"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-2-2">
|
||||
<table id="org4b47beb" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orga42ef28" 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-org6298e82" class="outline-4">
|
||||
<h4 id="org6298e82"><span class="section-number-4">2.2.3</span> Test</h4>
|
||||
<div id="outline-container-orgb6369eb" class="outline-4">
|
||||
<h4 id="orgb6369eb"><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-org0e1c73e" class="outline-3">
|
||||
<h3 id="org0e1c73e"><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-org4b58854" class="outline-3">
|
||||
<h3 id="org4b58854"><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-org0f7877d" class="outline-4">
|
||||
<h4 id="org0f7877d"><span class="section-number-4">2.3.1</span> Get</h4>
|
||||
<div id="outline-container-orgefcc037" class="outline-4">
|
||||
<h4 id="orgefcc037"><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-orgf24d976" class="outline-4">
|
||||
<h4 id="orgf24d976"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div id="outline-container-orgc41054d" class="outline-4">
|
||||
<h4 id="orgc41054d"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-3-2">
|
||||
<table id="org6f74f00" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orge27c979" 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-orgd039f00" class="outline-4">
|
||||
<h4 id="orgd039f00"><span class="section-number-4">2.3.3</span> Test</h4>
|
||||
<div id="outline-container-orgf0634b9" class="outline-4">
|
||||
<h4 id="orgf0634b9"><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-org0bec2c5" class="outline-3">
|
||||
<h3 id="org0bec2c5"><span class="section-number-3">2.4</span> Electron-electron potential</h3>
|
||||
<div id="outline-container-org33f7768" class="outline-3">
|
||||
<h3 id="org33f7768"><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-org2e6b7e9" class="outline-4">
|
||||
<h4 id="org2e6b7e9"><span class="section-number-4">2.4.1</span> Get</h4>
|
||||
<div id="outline-container-org14b235c" class="outline-4">
|
||||
<h4 id="org14b235c"><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-org2617e3c" class="outline-4">
|
||||
<h4 id="org2617e3c"><span class="section-number-4">2.4.2</span> Compute</h4>
|
||||
<div id="outline-container-orgff573b1" class="outline-4">
|
||||
<h4 id="orgff573b1"><span class="section-number-4">2.4.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-4-2">
|
||||
<table id="org36b0713" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org3b0e117" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1666,8 +1666,8 @@ distance.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbf7b78a" class="outline-4">
|
||||
<h4 id="orgbf7b78a"><span class="section-number-4">2.4.3</span> Test</h4>
|
||||
<div id="outline-container-orga5590c6" class="outline-4">
|
||||
<h4 id="orga5590c6"><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-orgc1f49ed" class="outline-3">
|
||||
<h3 id="orgc1f49ed"><span class="section-number-3">2.5</span> Electron-nucleus distances</h3>
|
||||
<div id="outline-container-org84c8b34" class="outline-3">
|
||||
<h3 id="org84c8b34"><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-org48b7fd6" class="outline-4">
|
||||
<h4 id="org48b7fd6"><span class="section-number-4">2.5.1</span> Get</h4>
|
||||
<div id="outline-container-orgf6e05e6" class="outline-4">
|
||||
<h4 id="orgf6e05e6"><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-orgf1822e2" class="outline-4">
|
||||
<h4 id="orgf1822e2"><span class="section-number-4">2.5.2</span> Compute</h4>
|
||||
<div id="outline-container-org9dfd290" class="outline-4">
|
||||
<h4 id="org9dfd290"><span class="section-number-4">2.5.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-5-2">
|
||||
<table id="orgb69c33b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org7a57f88" 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-org392ecd1" class="outline-4">
|
||||
<h4 id="org392ecd1"><span class="section-number-4">2.5.3</span> Test</h4>
|
||||
<div id="outline-container-org8797c95" class="outline-4">
|
||||
<h4 id="org8797c95"><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-org6667d17" class="outline-3">
|
||||
<h3 id="org6667d17"><span class="section-number-3">2.6</span> Electron-nucleus rescaled distances</h3>
|
||||
<div id="outline-container-orgbc29a45" class="outline-3">
|
||||
<h3 id="orgbc29a45"><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-org2693467" class="outline-4">
|
||||
<h4 id="org2693467"><span class="section-number-4">2.6.1</span> Get</h4>
|
||||
<div id="outline-container-org3297607" class="outline-4">
|
||||
<h4 id="org3297607"><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-orga11c593" class="outline-4">
|
||||
<h4 id="orga11c593"><span class="section-number-4">2.6.2</span> Compute</h4>
|
||||
<div id="outline-container-org9568e1d" class="outline-4">
|
||||
<h4 id="org9568e1d"><span class="section-number-4">2.6.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-6-2">
|
||||
<table id="org0ce9382" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org56232c0" 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-orgd6a24ce" class="outline-4">
|
||||
<h4 id="orgd6a24ce"><span class="section-number-4">2.6.3</span> Test</h4>
|
||||
<div id="outline-container-orgb9b0f29" class="outline-4">
|
||||
<h4 id="orgb9b0f29"><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-org164542b" class="outline-3">
|
||||
<h3 id="org164542b"><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-org9b99576" class="outline-3">
|
||||
<h3 id="org9b99576"><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-org4798613" class="outline-4">
|
||||
<h4 id="org4798613"><span class="section-number-4">2.7.1</span> Get</h4>
|
||||
<div id="outline-container-org6c2f0bf" class="outline-4">
|
||||
<h4 id="org6c2f0bf"><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-orgc70da98" class="outline-4">
|
||||
<h4 id="orgc70da98"><span class="section-number-4">2.7.2</span> Compute</h4>
|
||||
<div id="outline-container-org075d698" class="outline-4">
|
||||
<h4 id="org075d698"><span class="section-number-4">2.7.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-7-2">
|
||||
<table id="orgeddea81" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgba0b0e8" 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-org09c307e" class="outline-4">
|
||||
<h4 id="org09c307e"><span class="section-number-4">2.7.3</span> Test</h4>
|
||||
<div id="outline-container-org1fc53b6" class="outline-4">
|
||||
<h4 id="org1fc53b6"><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-org257b682" class="outline-3">
|
||||
<h3 id="org257b682"><span class="section-number-3">2.8</span> Electron-nucleus potential</h3>
|
||||
<div id="outline-container-orgd10d3aa" class="outline-3">
|
||||
<h3 id="orgd10d3aa"><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-orgcc0584d" class="outline-4">
|
||||
<h4 id="orgcc0584d"><span class="section-number-4">2.8.1</span> Get</h4>
|
||||
<div id="outline-container-org0aeb2f0" class="outline-4">
|
||||
<h4 id="org0aeb2f0"><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-orgfa6b025" class="outline-4">
|
||||
<h4 id="orgfa6b025"><span class="section-number-4">2.8.2</span> Compute</h4>
|
||||
<div id="outline-container-org6e6ecbf" class="outline-4">
|
||||
<h4 id="org6e6ecbf"><span class="section-number-4">2.8.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-8-2">
|
||||
<table id="orga6720ca" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org59d5fa0" 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-org22573c0" class="outline-4">
|
||||
<h4 id="org22573c0"><span class="section-number-4">2.8.3</span> Test</h4>
|
||||
<div id="outline-container-org179e35d" class="outline-4">
|
||||
<h4 id="org179e35d"><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-org0bb48ec" class="outline-3">
|
||||
<h3 id="org0bb48ec"><span class="section-number-3">2.9</span> Generate initial coordinates</h3>
|
||||
<div id="outline-container-org6d92e34" class="outline-3">
|
||||
<h3 id="org6d92e34"><span class="section-number-3">2.9</span> Generate initial coordinates</h3>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-02-11 Fri 15:00</p>
|
||||
<p class="date">Created: 2022-02-11 Fri 15:09</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2022-02-11 Fri 15:00 -->
|
||||
<!-- 2022-02-11 Fri 15:09 -->
|
||||
<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,17 +311,17 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#orgc98bdba">1. Decoding errors</a></li>
|
||||
<li><a href="#org521cdf9">2. Data structure in context</a></li>
|
||||
<li><a href="#org35d00fc">3. Updating errors in the context</a></li>
|
||||
<li><a href="#org7251042">4. Get the error</a></li>
|
||||
<li><a href="#org1dab97f">5. Failing</a></li>
|
||||
<li><a href="#org69d9382">1. Decoding errors</a></li>
|
||||
<li><a href="#orgf4c5648">2. Data structure in context</a></li>
|
||||
<li><a href="#orgf30963e">3. Updating errors in the context</a></li>
|
||||
<li><a href="#orga8d54d3">4. Get the error</a></li>
|
||||
<li><a href="#orgc048b7e">5. Failing</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc98bdba" class="outline-2">
|
||||
<h2 id="orgc98bdba"><span class="section-number-2">1</span> Decoding errors</h2>
|
||||
<div id="outline-container-org69d9382" class="outline-2">
|
||||
<h2 id="org69d9382"><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
|
||||
@ -451,8 +451,8 @@ The text strings are extracted from the previous table.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org521cdf9" class="outline-2">
|
||||
<h2 id="org521cdf9"><span class="section-number-2">2</span> Data structure in context</h2>
|
||||
<div id="outline-container-orgf4c5648" class="outline-2">
|
||||
<h2 id="orgf4c5648"><span class="section-number-2">2</span> Data structure in context</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
<p>
|
||||
The strings are declared with a maximum fixed size to avoid
|
||||
@ -475,8 +475,8 @@ dynamic memory allocation.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org35d00fc" class="outline-2">
|
||||
<h2 id="org35d00fc"><span class="section-number-2">3</span> Updating errors in the context</h2>
|
||||
<div id="outline-container-orgf30963e" class="outline-2">
|
||||
<h2 id="orgf30963e"><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>.
|
||||
@ -522,8 +522,8 @@ explaining the error. The exit code can't be <code>QMCKL_SUCCESS</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7251042" class="outline-2">
|
||||
<h2 id="org7251042"><span class="section-number-2">4</span> Get the error</h2>
|
||||
<div id="outline-container-orga8d54d3" class="outline-2">
|
||||
<h2 id="orga8d54d3"><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
|
||||
@ -575,8 +575,8 @@ function name and message is mandatory.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1dab97f" class="outline-2">
|
||||
<h2 id="org1dab97f"><span class="section-number-2">5</span> Failing</h2>
|
||||
<div id="outline-container-orgc048b7e" class="outline-2">
|
||||
<h2 id="orgc048b7e"><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
|
||||
@ -639,7 +639,7 @@ For example, this function can be used as
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-02-11 Fri 15:00</p>
|
||||
<p class="date">Created: 2022-02-11 Fri 15:09</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2022-02-11 Fri 15:00 -->
|
||||
<!-- 2022-02-11 Fri 15:09 -->
|
||||
<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="#org27350b1">1. Introduction</a></li>
|
||||
<li><a href="#orgb5865aa">2. Context</a>
|
||||
<li><a href="#orga2493de">1. Introduction</a></li>
|
||||
<li><a href="#orgadfc03e">2. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org1bbfa35">2.1. Data structure</a></li>
|
||||
<li><a href="#org99bda15">2.2. Access functions</a></li>
|
||||
<li><a href="#org301227f">2.3. Initialization functions</a></li>
|
||||
<li><a href="#org99eb086">2.4. Test</a></li>
|
||||
<li><a href="#orgea96863">2.1. Data structure</a></li>
|
||||
<li><a href="#org2fde8c4">2.2. Access functions</a></li>
|
||||
<li><a href="#org0c7e432">2.3. Initialization functions</a></li>
|
||||
<li><a href="#orgdf9a0d7">2.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org0dc310b">3. Computation</a>
|
||||
<li><a href="#org14f9e56">3. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#org7d38d0c">3.1. Asymptotic component for \(J_{ee}\)</a>
|
||||
<li><a href="#orga7aca5b">3.1. Asymptotic component for \(J_{ee}\)</a>
|
||||
<ul>
|
||||
<li><a href="#orgc2a7cf8">3.1.1. Get</a></li>
|
||||
<li><a href="#orga339f8b">3.1.2. Compute</a></li>
|
||||
<li><a href="#org0f073da">3.1.3. Test</a></li>
|
||||
<li><a href="#orgfa5c24a">3.1.1. Get</a></li>
|
||||
<li><a href="#org9d59e7f">3.1.2. Compute</a></li>
|
||||
<li><a href="#org9be6ca4">3.1.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgc634226">3.2. Electron-electron component \(f_{ee}\)</a>
|
||||
<li><a href="#orgdaf770d">3.2. Electron-electron component \(f_{ee}\)</a>
|
||||
<ul>
|
||||
<li><a href="#orgafaaab0">3.2.1. Get</a></li>
|
||||
<li><a href="#org7b0930d">3.2.2. Compute</a></li>
|
||||
<li><a href="#orgab73bd5">3.2.3. Test</a></li>
|
||||
<li><a href="#org6a7452f">3.2.1. Get</a></li>
|
||||
<li><a href="#orgc683cee">3.2.2. Compute</a></li>
|
||||
<li><a href="#orgc0012e5">3.2.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org99792e4">3.3. Electron-electron component derivative \(f'_{ee}\)</a>
|
||||
<li><a href="#orgea14dad">3.3. Electron-electron component derivative \(f'_{ee}\)</a>
|
||||
<ul>
|
||||
<li><a href="#org6d74ce7">3.3.1. Get</a></li>
|
||||
<li><a href="#orge0fbb20">3.3.2. Compute</a></li>
|
||||
<li><a href="#orga745528">3.3.3. Test</a></li>
|
||||
<li><a href="#org791b31e">3.3.1. Get</a></li>
|
||||
<li><a href="#orgacd3e5d">3.3.2. Compute</a></li>
|
||||
<li><a href="#orga46fcc7">3.3.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org0dbca2a">3.4. Electron-nucleus component \(f_{en}\)</a>
|
||||
<li><a href="#orge20b277">3.4. Electron-nucleus component \(f_{en}\)</a>
|
||||
<ul>
|
||||
<li><a href="#org853af85">3.4.1. Get</a></li>
|
||||
<li><a href="#org3d5b36e">3.4.2. Compute</a></li>
|
||||
<li><a href="#orgfaf5023">3.4.3. Test</a></li>
|
||||
<li><a href="#org7a24cc4">3.4.1. Get</a></li>
|
||||
<li><a href="#org0eb9825">3.4.2. Compute</a></li>
|
||||
<li><a href="#orga7618fa">3.4.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org1179f8d">3.5. Electron-nucleus component derivative \(f'_{en}\)</a>
|
||||
<li><a href="#org4395935">3.5. Electron-nucleus component derivative \(f'_{en}\)</a>
|
||||
<ul>
|
||||
<li><a href="#orga46eb4a">3.5.1. Get</a></li>
|
||||
<li><a href="#orgfb4b80a">3.5.2. Compute</a></li>
|
||||
<li><a href="#orge7bbf30">3.5.3. Test</a></li>
|
||||
<li><a href="#org7a30dee">3.5.1. Get</a></li>
|
||||
<li><a href="#org42b79b7">3.5.2. Compute</a></li>
|
||||
<li><a href="#org4cf1d24">3.5.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org3d98dba">3.6. Electron-electron rescaled distances for each order</a>
|
||||
<li><a href="#orgc941531">3.6. Electron-electron rescaled distances for each order</a>
|
||||
<ul>
|
||||
<li><a href="#org57c8cc5">3.6.1. Get</a></li>
|
||||
<li><a href="#org6e8d656">3.6.2. Compute</a></li>
|
||||
<li><a href="#org2ef48c7">3.6.3. Test</a></li>
|
||||
<li><a href="#org543fe0d">3.6.1. Get</a></li>
|
||||
<li><a href="#orgb8ce957">3.6.2. Compute</a></li>
|
||||
<li><a href="#orgb30229c">3.6.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orga3b2eee">3.7. Electron-electron rescaled distances for each order and derivatives</a>
|
||||
<li><a href="#org53afae0">3.7. Electron-electron rescaled distances for each order and derivatives</a>
|
||||
<ul>
|
||||
<li><a href="#org9580654">3.7.1. Get</a></li>
|
||||
<li><a href="#org6e278e3">3.7.2. Compute</a></li>
|
||||
<li><a href="#org04bb4fb">3.7.3. Test</a></li>
|
||||
<li><a href="#orgd7f57b8">3.7.1. Get</a></li>
|
||||
<li><a href="#orgfeb377b">3.7.2. Compute</a></li>
|
||||
<li><a href="#org26bd610">3.7.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org1db3fef">3.8. Electron-nucleus rescaled distances for each order</a>
|
||||
<li><a href="#org9cf66cb">3.8. Electron-nucleus rescaled distances for each order</a>
|
||||
<ul>
|
||||
<li><a href="#org0782ef6">3.8.1. Get</a></li>
|
||||
<li><a href="#orgd130439">3.8.2. Compute</a></li>
|
||||
<li><a href="#orge281671">3.8.3. Test</a></li>
|
||||
<li><a href="#org88bfac7">3.8.1. Get</a></li>
|
||||
<li><a href="#org910481f">3.8.2. Compute</a></li>
|
||||
<li><a href="#orgb765095">3.8.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgcbdb946">3.9. Electron-nucleus rescaled distances for each order and derivatives</a>
|
||||
<li><a href="#org86339bf">3.9. Electron-nucleus rescaled distances for each order and derivatives</a>
|
||||
<ul>
|
||||
<li><a href="#org3d9b413">3.9.1. Get</a></li>
|
||||
<li><a href="#org557c48b">3.9.2. Compute</a></li>
|
||||
<li><a href="#orga126306">3.9.3. Test</a></li>
|
||||
<li><a href="#orgb17c5fa">3.9.1. Get</a></li>
|
||||
<li><a href="#org3105116">3.9.2. Compute</a></li>
|
||||
<li><a href="#orgc5a6af8">3.9.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orga9e0c9c">3.10. Prepare for electron-electron-nucleus Jastrow \(f_{een}\)</a>
|
||||
<li><a href="#org0b1a037">3.10. Prepare for electron-electron-nucleus Jastrow \(f_{een}\)</a>
|
||||
<ul>
|
||||
<li><a href="#orga1ec42c">3.10.1. Get</a></li>
|
||||
<li><a href="#org5dd8782">3.10.2. Compute dim<sub>cord</sub><sub>vect</sub></a></li>
|
||||
<li><a href="#org1b377d0">3.10.3. Compute cord<sub>vect</sub><sub>full</sub></a></li>
|
||||
<li><a href="#org65505b4">3.10.4. Compute lkpm<sub>combined</sub><sub>index</sub></a></li>
|
||||
<li><a href="#orgcd3b405">3.10.5. Compute tmp<sub>c</sub></a></li>
|
||||
<li><a href="#orge73ffc1">3.10.6. Compute dtmp<sub>c</sub></a></li>
|
||||
<li><a href="#org213340a">3.10.7. Test</a></li>
|
||||
<li><a href="#orgb1759a9">3.10.1. Get</a></li>
|
||||
<li><a href="#orgce91292">3.10.2. Compute dim<sub>cord</sub><sub>vect</sub></a></li>
|
||||
<li><a href="#org40c470a">3.10.3. Compute cord<sub>vect</sub><sub>full</sub></a></li>
|
||||
<li><a href="#org99199cc">3.10.4. Compute lkpm<sub>combined</sub><sub>index</sub></a></li>
|
||||
<li><a href="#orgdfe5d6a">3.10.5. Compute tmp<sub>c</sub></a></li>
|
||||
<li><a href="#orgbbef119">3.10.6. Compute dtmp<sub>c</sub></a></li>
|
||||
<li><a href="#org2e2c9c1">3.10.7. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgbeb9c13">3.11. Electron-electron-nucleus Jastrow \(f_{een}\)</a>
|
||||
<li><a href="#orgc4cc40f">3.11. Electron-electron-nucleus Jastrow \(f_{een}\)</a>
|
||||
<ul>
|
||||
<li><a href="#org2cd0304">3.11.1. Get</a></li>
|
||||
<li><a href="#org0b37878">3.11.2. Compute naive</a></li>
|
||||
<li><a href="#orga072914">3.11.3. Compute</a></li>
|
||||
<li><a href="#org87cdd71">3.11.4. Test</a></li>
|
||||
<li><a href="#orgc5e2756">3.11.1. Get</a></li>
|
||||
<li><a href="#org470dfdd">3.11.2. Compute naive</a></li>
|
||||
<li><a href="#org2fbb0d1">3.11.3. Compute</a></li>
|
||||
<li><a href="#org54526f3">3.11.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org6cba84e">3.12. Electron-electron-nucleus Jastrow \(f_{een}\) derivative</a>
|
||||
<li><a href="#orge9281d4">3.12. Electron-electron-nucleus Jastrow \(f_{een}\) derivative</a>
|
||||
<ul>
|
||||
<li><a href="#orgcac2cce">3.12.1. Get</a></li>
|
||||
<li><a href="#orgc4819a1">3.12.2. Compute Naive</a></li>
|
||||
<li><a href="#orgee92f54">3.12.3. Compute</a></li>
|
||||
<li><a href="#orgbac2d08">3.12.4. Test</a></li>
|
||||
<li><a href="#org49b3004">3.12.1. Get</a></li>
|
||||
<li><a href="#orgda8f082">3.12.2. Compute Naive</a></li>
|
||||
<li><a href="#orgd1958dc">3.12.3. Compute</a></li>
|
||||
<li><a href="#org3852d74">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-org27350b1" class="outline-2">
|
||||
<h2 id="org27350b1"><span class="section-number-2">1</span> Introduction</h2>
|
||||
<div id="outline-container-orga2493de" class="outline-2">
|
||||
<h2 id="orga2493de"><span class="section-number-2">1</span> Introduction</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
The Jastrow factor depends on the electronic (\(\mathbf{r}\)) and
|
||||
@ -523,14 +523,14 @@ The terms \(J_{\text{ee}}^\infty\) and \(J_{\text{eN}}^\infty\) are shifts to en
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgb5865aa" class="outline-2">
|
||||
<h2 id="orgb5865aa"><span class="section-number-2">2</span> Context</h2>
|
||||
<div id="outline-container-orgadfc03e" class="outline-2">
|
||||
<h2 id="orgadfc03e"><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="orga99ad70" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgbbc617f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -855,8 +855,8 @@ computed data:
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1bbfa35" class="outline-3">
|
||||
<h3 id="org1bbfa35"><span class="section-number-3">2.1</span> Data structure</h3>
|
||||
<div id="outline-container-orgea96863" class="outline-3">
|
||||
<h3 id="orgea96863"><span class="section-number-3">2.1</span> Data structure</h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #a020f0;">typedef</span> <span style="color: #a020f0;">struct</span> <span style="color: #228b22;">qmckl_jastrow_struct</span>{
|
||||
@ -943,8 +943,8 @@ this mechanism.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org99bda15" class="outline-3">
|
||||
<h3 id="org99bda15"><span class="section-number-3">2.2</span> Access functions</h3>
|
||||
<div id="outline-container-org2fde8c4" class="outline-3">
|
||||
<h3 id="org2fde8c4"><span class="section-number-3">2.2</span> Access functions</h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
<p>
|
||||
Along with these core functions, calculation of the jastrow factor
|
||||
@ -964,8 +964,8 @@ function returns <code>true</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org301227f" class="outline-3">
|
||||
<h3 id="org301227f"><span class="section-number-3">2.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-org0c7e432" class="outline-3">
|
||||
<h3 id="org0c7e432"><span class="section-number-3">2.3</span> Initialization functions</h3>
|
||||
<div class="outline-text-3" id="text-2-3">
|
||||
<p>
|
||||
To prepare for the Jastrow and its derivative, all the following functions need to be
|
||||
@ -990,8 +990,8 @@ are precontracted using BLAS LEVEL 3 operations for an optimal flop count.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org99eb086" class="outline-3">
|
||||
<h3 id="org99eb086"><span class="section-number-3">2.4</span> Test</h3>
|
||||
<div id="outline-container-orgdf9a0d7" class="outline-3">
|
||||
<h3 id="orgdf9a0d7"><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>*/
|
||||
@ -1166,8 +1166,8 @@ rc = qmckl_get_nucleus_charge(context, nucl_charge2, nucl_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0dc310b" class="outline-2">
|
||||
<h2 id="org0dc310b"><span class="section-number-2">3</span> Computation</h2>
|
||||
<div id="outline-container-org14f9e56" class="outline-2">
|
||||
<h2 id="org14f9e56"><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
|
||||
@ -1180,8 +1180,8 @@ current date is stored.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7d38d0c" class="outline-3">
|
||||
<h3 id="org7d38d0c"><span class="section-number-3">3.1</span> Asymptotic component for \(J_{ee}\)</h3>
|
||||
<div id="outline-container-orga7aca5b" class="outline-3">
|
||||
<h3 id="orga7aca5b"><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
|
||||
@ -1196,8 +1196,8 @@ via the <code>bord_vector</code> and the electron-electron rescale factor <code>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc2a7cf8" class="outline-4">
|
||||
<h4 id="orgc2a7cf8"><span class="section-number-4">3.1.1</span> Get</h4>
|
||||
<div id="outline-container-orgfa5c24a" class="outline-4">
|
||||
<h4 id="orgfa5c24a"><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> <span style="color: #0000ff;">qmckl_get_jastrow_asymp_jasb</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;">asymp_jasb</span>);
|
||||
@ -1206,10 +1206,10 @@ via the <code>bord_vector</code> and the electron-electron rescale factor <code>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga339f8b" class="outline-4">
|
||||
<h4 id="orga339f8b"><span class="section-number-4">3.1.2</span> Compute</h4>
|
||||
<div id="outline-container-org9d59e7f" class="outline-4">
|
||||
<h4 id="org9d59e7f"><span class="section-number-4">3.1.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-3-1-2">
|
||||
<table id="org81cabc5" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org0dbeb71" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1359,8 +1359,8 @@ via the <code>bord_vector</code> and the electron-electron rescale factor <code>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org0f073da" class="outline-4">
|
||||
<h4 id="org0f073da"><span class="section-number-4">3.1.3</span> Test</h4>
|
||||
<div id="outline-container-org9be6ca4" class="outline-4">
|
||||
<h4 id="org9be6ca4"><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>));
|
||||
@ -1410,8 +1410,8 @@ rc = qmckl_get_jastrow_asymp_jasb(context, asymp_jasb);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc634226" class="outline-3">
|
||||
<h3 id="orgc634226"><span class="section-number-3">3.2</span> Electron-electron component \(f_{ee}\)</h3>
|
||||
<div id="outline-container-orgdaf770d" class="outline-3">
|
||||
<h3 id="orgdaf770d"><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>
|
||||
@ -1426,8 +1426,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-orgafaaab0" class="outline-4">
|
||||
<h4 id="orgafaaab0"><span class="section-number-4">3.2.1</span> Get</h4>
|
||||
<div id="outline-container-org6a7452f" class="outline-4">
|
||||
<h4 id="org6a7452f"><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> <span style="color: #0000ff;">qmckl_get_jastrow_factor_ee</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;">factor_ee</span>);
|
||||
@ -1436,10 +1436,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-org7b0930d" class="outline-4">
|
||||
<h4 id="org7b0930d"><span class="section-number-4">3.2.2</span> Compute</h4>
|
||||
<div id="outline-container-orgc683cee" class="outline-4">
|
||||
<h4 id="orgc683cee"><span class="section-number-4">3.2.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-3-2-2">
|
||||
<table id="org2e0fcb5" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org8954973" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1614,8 +1614,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-orgab73bd5" class="outline-4">
|
||||
<h4 id="orgab73bd5"><span class="section-number-4">3.2.3</span> Test</h4>
|
||||
<div id="outline-container-orgc0012e5" class="outline-4">
|
||||
<h4 id="orgc0012e5"><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>*/
|
||||
@ -1633,8 +1633,8 @@ rc = qmckl_get_jastrow_factor_ee(context, factor_ee);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org99792e4" class="outline-3">
|
||||
<h3 id="org99792e4"><span class="section-number-3">3.3</span> Electron-electron component derivative \(f'_{ee}\)</h3>
|
||||
<div id="outline-container-orgea14dad" class="outline-3">
|
||||
<h3 id="orgea14dad"><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
|
||||
@ -1649,8 +1649,8 @@ TODO: Add equation
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org6d74ce7" class="outline-4">
|
||||
<h4 id="org6d74ce7"><span class="section-number-4">3.3.1</span> Get</h4>
|
||||
<div id="outline-container-org791b31e" class="outline-4">
|
||||
<h4 id="org791b31e"><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> <span style="color: #0000ff;">qmckl_get_jastrow_factor_ee_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;">factor_ee_deriv_e</span>);
|
||||
@ -1659,10 +1659,10 @@ TODO: Add equation
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge0fbb20" class="outline-4">
|
||||
<h4 id="orge0fbb20"><span class="section-number-4">3.3.2</span> Compute</h4>
|
||||
<div id="outline-container-orgacd3e5d" class="outline-4">
|
||||
<h4 id="orgacd3e5d"><span class="section-number-4">3.3.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-3-3-2">
|
||||
<table id="org57219f6" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgc3dcbd7" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1877,8 +1877,8 @@ TODO: Add equation
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orga745528" class="outline-4">
|
||||
<h4 id="orga745528"><span class="section-number-4">3.3.3</span> Test</h4>
|
||||
<div id="outline-container-orga46fcc7" class="outline-4">
|
||||
<h4 id="orga46fcc7"><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>*/
|
||||
@ -1900,8 +1900,8 @@ rc = qmckl_get_jastrow_factor_ee_deriv_e(context, &(factor_ee_deriv_e[0][0][
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0dbca2a" class="outline-3">
|
||||
<h3 id="org0dbca2a"><span class="section-number-3">3.4</span> Electron-nucleus component \(f_{en}\)</h3>
|
||||
<div id="outline-container-orge20b277" class="outline-3">
|
||||
<h3 id="orge20b277"><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>
|
||||
@ -1916,8 +1916,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-org853af85" class="outline-4">
|
||||
<h4 id="org853af85"><span class="section-number-4">3.4.1</span> Get</h4>
|
||||
<div id="outline-container-org7a24cc4" class="outline-4">
|
||||
<h4 id="org7a24cc4"><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> <span style="color: #0000ff;">qmckl_get_jastrow_factor_en</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;">factor_en</span>);
|
||||
@ -1926,10 +1926,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-org3d5b36e" class="outline-4">
|
||||
<h4 id="org3d5b36e"><span class="section-number-4">3.4.2</span> Compute</h4>
|
||||
<div id="outline-container-org0eb9825" class="outline-4">
|
||||
<h4 id="org0eb9825"><span class="section-number-4">3.4.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-3-4-2">
|
||||
<table id="org9903e25" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org56086c9" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2111,8 +2111,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-orgfaf5023" class="outline-4">
|
||||
<h4 id="orgfaf5023"><span class="section-number-4">3.4.3</span> Test</h4>
|
||||
<div id="outline-container-orga7618fa" class="outline-4">
|
||||
<h4 id="orga7618fa"><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>*/
|
||||
@ -2130,8 +2130,8 @@ rc = qmckl_get_jastrow_factor_en(context, factor_en);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1179f8d" class="outline-3">
|
||||
<h3 id="org1179f8d"><span class="section-number-3">3.5</span> Electron-nucleus component derivative \(f'_{en}\)</h3>
|
||||
<div id="outline-container-org4395935" class="outline-3">
|
||||
<h3 id="org4395935"><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
|
||||
@ -2144,8 +2144,8 @@ TODO: write equations.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga46eb4a" class="outline-4">
|
||||
<h4 id="orga46eb4a"><span class="section-number-4">3.5.1</span> Get</h4>
|
||||
<div id="outline-container-org7a30dee" class="outline-4">
|
||||
<h4 id="org7a30dee"><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> <span style="color: #0000ff;">qmckl_get_jastrow_factor_en_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;">factor_en_deriv_e</span>);
|
||||
@ -2154,10 +2154,10 @@ TODO: write equations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgfb4b80a" class="outline-4">
|
||||
<h4 id="orgfb4b80a"><span class="section-number-4">3.5.2</span> Compute</h4>
|
||||
<div id="outline-container-org42b79b7" class="outline-4">
|
||||
<h4 id="org42b79b7"><span class="section-number-4">3.5.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-3-5-2">
|
||||
<table id="orga78c711" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgeaeb38f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2378,8 +2378,8 @@ TODO: write equations.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orge7bbf30" class="outline-4">
|
||||
<h4 id="orge7bbf30"><span class="section-number-4">3.5.3</span> Test</h4>
|
||||
<div id="outline-container-org4cf1d24" class="outline-4">
|
||||
<h4 id="org4cf1d24"><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>*/
|
||||
@ -2401,8 +2401,8 @@ rc = qmckl_get_jastrow_factor_en_deriv_e(context, &(factor_en_deriv_e[0][0][
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3d98dba" class="outline-3">
|
||||
<h3 id="org3d98dba"><span class="section-number-3">3.6</span> Electron-electron rescaled distances for each order</h3>
|
||||
<div id="outline-container-orgc941531" class="outline-3">
|
||||
<h3 id="orgc941531"><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
|
||||
@ -2420,8 +2420,8 @@ where \(C_{ij}\) is the matrix of electron-electron distances.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org57c8cc5" class="outline-4">
|
||||
<h4 id="org57c8cc5"><span class="section-number-4">3.6.1</span> Get</h4>
|
||||
<div id="outline-container-org543fe0d" class="outline-4">
|
||||
<h4 id="org543fe0d"><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> <span style="color: #0000ff;">qmckl_get_jastrow_een_rescaled_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</span>);
|
||||
@ -2430,10 +2430,10 @@ where \(C_{ij}\) is the matrix of electron-electron distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6e8d656" class="outline-4">
|
||||
<h4 id="org6e8d656"><span class="section-number-4">3.6.2</span> Compute</h4>
|
||||
<div id="outline-container-orgb8ce957" class="outline-4">
|
||||
<h4 id="orgb8ce957"><span class="section-number-4">3.6.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-3-6-2">
|
||||
<table id="orgf56351f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org78327ad" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2607,8 +2607,8 @@ where \(C_{ij}\) is the matrix of electron-electron distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2ef48c7" class="outline-4">
|
||||
<h4 id="org2ef48c7"><span class="section-number-4">3.6.3</span> Test</h4>
|
||||
<div id="outline-container-orgb30229c" class="outline-4">
|
||||
<h4 id="orgb30229c"><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>));
|
||||
@ -2631,8 +2631,8 @@ rc = qmckl_get_jastrow_een_rescaled_e(context, &(een_rescaled_e[0][0][0][0])
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga3b2eee" class="outline-3">
|
||||
<h3 id="orga3b2eee"><span class="section-number-3">3.7</span> Electron-electron rescaled distances for each order and derivatives</h3>
|
||||
<div id="outline-container-org53afae0" class="outline-3">
|
||||
<h3 id="org53afae0"><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
|
||||
@ -2647,8 +2647,8 @@ TODO: write formulae
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org9580654" class="outline-4">
|
||||
<h4 id="org9580654"><span class="section-number-4">3.7.1</span> Get</h4>
|
||||
<div id="outline-container-orgd7f57b8" class="outline-4">
|
||||
<h4 id="orgd7f57b8"><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> <span style="color: #0000ff;">qmckl_get_jastrow_een_rescaled_e_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</span>);
|
||||
@ -2657,10 +2657,10 @@ TODO: write formulae
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6e278e3" class="outline-4">
|
||||
<h4 id="org6e278e3"><span class="section-number-4">3.7.2</span> Compute</h4>
|
||||
<div id="outline-container-orgfeb377b" class="outline-4">
|
||||
<h4 id="orgfeb377b"><span class="section-number-4">3.7.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-3-7-2">
|
||||
<table id="org8e0e1cd" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org44cbbbb" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2847,8 +2847,8 @@ TODO: write formulae
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org04bb4fb" class="outline-4">
|
||||
<h4 id="org04bb4fb"><span class="section-number-4">3.7.3</span> Test</h4>
|
||||
<div id="outline-container-org26bd610" class="outline-4">
|
||||
<h4 id="org26bd610"><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>
|
||||
@ -2868,8 +2868,8 @@ rc = qmckl_get_jastrow_een_rescaled_e_deriv_e(context, &(een_rescaled_e_deri
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1db3fef" class="outline-3">
|
||||
<h3 id="org1db3fef"><span class="section-number-3">3.8</span> Electron-nucleus rescaled distances for each order</h3>
|
||||
<div id="outline-container-org9cf66cb" class="outline-3">
|
||||
<h3 id="org9cf66cb"><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
|
||||
@ -2887,8 +2887,8 @@ where \(C_{ia}\) is the matrix of electron-nucleus distances.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0782ef6" class="outline-4">
|
||||
<h4 id="org0782ef6"><span class="section-number-4">3.8.1</span> Get</h4>
|
||||
<div id="outline-container-org88bfac7" class="outline-4">
|
||||
<h4 id="org88bfac7"><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> <span style="color: #0000ff;">qmckl_get_jastrow_een_rescaled_n</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>);
|
||||
@ -2897,10 +2897,10 @@ where \(C_{ia}\) is the matrix of electron-nucleus distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd130439" class="outline-4">
|
||||
<h4 id="orgd130439"><span class="section-number-4">3.8.2</span> Compute</h4>
|
||||
<div id="outline-container-org910481f" class="outline-4">
|
||||
<h4 id="org910481f"><span class="section-number-4">3.8.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-3-8-2">
|
||||
<table id="orgb3ee324" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org481ee57" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3064,8 +3064,8 @@ where \(C_{ia}\) is the matrix of electron-nucleus distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge281671" class="outline-4">
|
||||
<h4 id="orge281671"><span class="section-number-4">3.8.3</span> Test</h4>
|
||||
<div id="outline-container-orgb765095" class="outline-4">
|
||||
<h4 id="orgb765095"><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>));
|
||||
@ -3087,8 +3087,8 @@ rc = qmckl_get_jastrow_een_rescaled_n(context, &(een_rescaled_n[0][0][0][0])
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgcbdb946" class="outline-3">
|
||||
<h3 id="orgcbdb946"><span class="section-number-3">3.9</span> Electron-nucleus rescaled distances for each order and derivatives</h3>
|
||||
<div id="outline-container-org86339bf" class="outline-3">
|
||||
<h3 id="org86339bf"><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
|
||||
@ -3097,8 +3097,8 @@ electrons and nucleii raised to the power \(p\) defined by <code>cord_num</code>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org3d9b413" class="outline-4">
|
||||
<h4 id="org3d9b413"><span class="section-number-4">3.9.1</span> Get</h4>
|
||||
<div id="outline-container-orgb17c5fa" class="outline-4">
|
||||
<h4 id="orgb17c5fa"><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> <span style="color: #0000ff;">qmckl_get_jastrow_een_rescaled_n_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</span>);
|
||||
@ -3107,10 +3107,10 @@ electrons and nucleii raised to the power \(p\) defined by <code>cord_num</code>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org557c48b" class="outline-4">
|
||||
<h4 id="org557c48b"><span class="section-number-4">3.9.2</span> Compute</h4>
|
||||
<div id="outline-container-org3105116" class="outline-4">
|
||||
<h4 id="org3105116"><span class="section-number-4">3.9.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-3-9-2">
|
||||
<table id="org2d068c3" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org096978a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3320,8 +3320,8 @@ electrons and nucleii raised to the power \(p\) defined by <code>cord_num</code>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga126306" class="outline-4">
|
||||
<h4 id="orga126306"><span class="section-number-4">3.9.3</span> Test</h4>
|
||||
<div id="outline-container-orgc5a6af8" class="outline-4">
|
||||
<h4 id="orgc5a6af8"><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>));
|
||||
@ -3343,8 +3343,8 @@ rc = qmckl_get_jastrow_een_rescaled_n_deriv_e(context, &(een_rescaled_n_deri
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga9e0c9c" class="outline-3">
|
||||
<h3 id="orga9e0c9c"><span class="section-number-3">3.10</span> Prepare for electron-electron-nucleus Jastrow \(f_{een}\)</h3>
|
||||
<div id="outline-container-org0b1a037" class="outline-3">
|
||||
<h3 id="org0b1a037"><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
|
||||
@ -3353,8 +3353,8 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga1ec42c" class="outline-4">
|
||||
<h4 id="orga1ec42c"><span class="section-number-4">3.10.1</span> Get</h4>
|
||||
<div id="outline-container-orgb1759a9" class="outline-4">
|
||||
<h4 id="orgb1759a9"><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>);
|
||||
@ -3367,10 +3367,10 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5dd8782" class="outline-4">
|
||||
<h4 id="org5dd8782"><span class="section-number-4">3.10.2</span> Compute dim<sub>cord</sub><sub>vect</sub></h4>
|
||||
<div id="outline-container-orgce91292" class="outline-4">
|
||||
<h4 id="orgce91292"><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="orgb4deeed" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgaec0faf" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3468,10 +3468,10 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org1b377d0" class="outline-4">
|
||||
<h4 id="org1b377d0"><span class="section-number-4">3.10.3</span> Compute cord<sub>vect</sub><sub>full</sub></h4>
|
||||
<div id="outline-container-org40c470a" class="outline-4">
|
||||
<h4 id="org40c470a"><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="orgc233875" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org482bdea" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3605,10 +3605,10 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org65505b4" class="outline-4">
|
||||
<h4 id="org65505b4"><span class="section-number-4">3.10.4</span> Compute lkpm<sub>combined</sub><sub>index</sub></h4>
|
||||
<div id="outline-container-org99199cc" class="outline-4">
|
||||
<h4 id="org99199cc"><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="org5e866fb" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org62df3e1" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3726,10 +3726,10 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgcd3b405" class="outline-4">
|
||||
<h4 id="orgcd3b405"><span class="section-number-4">3.10.5</span> Compute tmp<sub>c</sub></h4>
|
||||
<div id="outline-container-orgdfe5d6a" class="outline-4">
|
||||
<h4 id="orgdfe5d6a"><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="orgd4f2b1d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org970f901" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3924,10 +3924,10 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orge73ffc1" class="outline-4">
|
||||
<h4 id="orge73ffc1"><span class="section-number-4">3.10.6</span> Compute dtmp<sub>c</sub></h4>
|
||||
<div id="outline-container-orgbbef119" class="outline-4">
|
||||
<h4 id="orgbbef119"><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="org20e8293" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org9095c74" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -4115,8 +4115,8 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org213340a" class="outline-4">
|
||||
<h4 id="org213340a"><span class="section-number-4">3.10.7</span> Test</h4>
|
||||
<div id="outline-container-org2e2c9c1" class="outline-4">
|
||||
<h4 id="org2e2c9c1"><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>));
|
||||
@ -4136,8 +4136,8 @@ rc = qmckl_get_jastrow_dtmp_c(context, &(dtmp_c[0][0][0][0][0][0]));
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbeb9c13" class="outline-3">
|
||||
<h3 id="orgbeb9c13"><span class="section-number-3">3.11</span> Electron-electron-nucleus Jastrow \(f_{een}\)</h3>
|
||||
<div id="outline-container-orgc4cc40f" class="outline-3">
|
||||
<h3 id="orgc4cc40f"><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>
|
||||
@ -4149,8 +4149,8 @@ TODO: write equations.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2cd0304" class="outline-4">
|
||||
<h4 id="org2cd0304"><span class="section-number-4">3.11.1</span> Get</h4>
|
||||
<div id="outline-container-orgc5e2756" class="outline-4">
|
||||
<h4 id="orgc5e2756"><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> <span style="color: #0000ff;">qmckl_get_jastrow_factor_een</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;">factor_een</span>);
|
||||
@ -4159,10 +4159,10 @@ TODO: write equations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0b37878" class="outline-4">
|
||||
<h4 id="org0b37878"><span class="section-number-4">3.11.2</span> Compute naive</h4>
|
||||
<div id="outline-container-org470dfdd" class="outline-4">
|
||||
<h4 id="org470dfdd"><span class="section-number-4">3.11.2</span> Compute naive</h4>
|
||||
<div class="outline-text-4" id="text-3-11-2">
|
||||
<table id="orge809e68" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org176496d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -4358,10 +4358,10 @@ TODO: write equations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga072914" class="outline-4">
|
||||
<h4 id="orga072914"><span class="section-number-4">3.11.3</span> Compute</h4>
|
||||
<div id="outline-container-org2fbb0d1" class="outline-4">
|
||||
<h4 id="org2fbb0d1"><span class="section-number-4">3.11.3</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-3-11-3">
|
||||
<table id="org7b41e6c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org3c9e30d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -4550,8 +4550,8 @@ TODO: write equations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org87cdd71" class="outline-4">
|
||||
<h4 id="org87cdd71"><span class="section-number-4">3.11.4</span> Test</h4>
|
||||
<div id="outline-container-org54526f3" class="outline-4">
|
||||
<h4 id="org54526f3"><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>*/
|
||||
@ -4567,8 +4567,8 @@ rc = qmckl_get_jastrow_factor_een(context, &(factor_een[0]));
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6cba84e" class="outline-3">
|
||||
<h3 id="org6cba84e"><span class="section-number-3">3.12</span> Electron-electron-nucleus Jastrow \(f_{een}\) derivative</h3>
|
||||
<div id="outline-container-orge9281d4" class="outline-3">
|
||||
<h3 id="orge9281d4"><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>
|
||||
@ -4580,8 +4580,8 @@ TODO: write equations.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgcac2cce" class="outline-4">
|
||||
<h4 id="orgcac2cce"><span class="section-number-4">3.12.1</span> Get</h4>
|
||||
<div id="outline-container-org49b3004" class="outline-4">
|
||||
<h4 id="org49b3004"><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> <span style="color: #0000ff;">qmckl_get_jastrow_factor_een_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;">factor_een_deriv_e</span>);
|
||||
@ -4590,10 +4590,10 @@ TODO: write equations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc4819a1" class="outline-4">
|
||||
<h4 id="orgc4819a1"><span class="section-number-4">3.12.2</span> Compute Naive</h4>
|
||||
<div id="outline-container-orgda8f082" class="outline-4">
|
||||
<h4 id="orgda8f082"><span class="section-number-4">3.12.2</span> Compute Naive</h4>
|
||||
<div class="outline-text-4" id="text-3-12-2">
|
||||
<table id="orga81dbd9" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org355ba66" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -4826,10 +4826,10 @@ TODO: write equations.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgee92f54" class="outline-4">
|
||||
<h4 id="orgee92f54"><span class="section-number-4">3.12.3</span> Compute</h4>
|
||||
<div id="outline-container-orgd1958dc" class="outline-4">
|
||||
<h4 id="orgd1958dc"><span class="section-number-4">3.12.3</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-3-12-3">
|
||||
<table id="org42712ef" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgba846b7" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -5055,8 +5055,8 @@ TODO: write equations.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgbac2d08" class="outline-4">
|
||||
<h4 id="orgbac2d08"><span class="section-number-4">3.12.4</span> Test</h4>
|
||||
<div id="outline-container-org3852d74" class="outline-4">
|
||||
<h4 id="org3852d74"><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>*/
|
||||
@ -5075,7 +5075,7 @@ rc = qmckl_get_jastrow_factor_een_deriv_e(context, &(factor_een_deriv_e[0][0
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-02-11 Fri 15:00</p>
|
||||
<p class="date">Created: 2022-02-11 Fri 15:09</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2022-02-11 Fri 15:00 -->
|
||||
<!-- 2022-02-11 Fri 15:09 -->
|
||||
<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="#org48c41f3">1. Context</a>
|
||||
<li><a href="#org780b892">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#orgf0d3819">1.1. Data structure</a></li>
|
||||
<li><a href="#org4c020f3">1.1. Data structure</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org5abe298">2. Computation</a>
|
||||
<li><a href="#org84f0074">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#org578c2f4">2.1. Kinetic energy</a>
|
||||
<li><a href="#org106f8a7">2.1. Kinetic energy</a>
|
||||
<ul>
|
||||
<li><a href="#org9d5a8b2">2.1.1. Get</a></li>
|
||||
<li><a href="#org54cb7cf">2.1.2. Provide</a></li>
|
||||
<li><a href="#orgad8f4f1">2.1.3. Compute kinetic enregy</a></li>
|
||||
<li><a href="#orge7bacac">2.1.4. Test</a></li>
|
||||
<li><a href="#orgfb720d6">2.1.1. Get</a></li>
|
||||
<li><a href="#org85a58cd">2.1.2. Provide</a></li>
|
||||
<li><a href="#org01e69b5">2.1.3. Compute kinetic enregy</a></li>
|
||||
<li><a href="#org51c0fdf">2.1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org2089ac3">2.2. Potential energy</a>
|
||||
<li><a href="#org9eb00f7">2.2. Potential energy</a>
|
||||
<ul>
|
||||
<li><a href="#org1e0bbf1">2.2.1. Get</a></li>
|
||||
<li><a href="#org54adefd">2.2.2. Provide</a></li>
|
||||
<li><a href="#org25f6b39">2.2.3. Compute potential enregy</a></li>
|
||||
<li><a href="#org23afb11">2.2.4. Test</a></li>
|
||||
<li><a href="#org1ac91be">2.2.1. Get</a></li>
|
||||
<li><a href="#org5a7a86f">2.2.2. Provide</a></li>
|
||||
<li><a href="#org48ef3cc">2.2.3. Compute potential enregy</a></li>
|
||||
<li><a href="#orgd8c1a70">2.2.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org28efcdd">2.3. Local energy</a>
|
||||
<li><a href="#org60462d1">2.3. Local energy</a>
|
||||
<ul>
|
||||
<li><a href="#org491eba0">2.3.1. Get</a></li>
|
||||
<li><a href="#org96d1494">2.3.2. Provide</a></li>
|
||||
<li><a href="#orgf3128c9">2.3.3. Compute local enregy</a></li>
|
||||
<li><a href="#org5f65220">2.3.4. Test</a></li>
|
||||
<li><a href="#orgae4a345">2.3.1. Get</a></li>
|
||||
<li><a href="#org552b5e4">2.3.2. Provide</a></li>
|
||||
<li><a href="#org692a18c">2.3.3. Compute local enregy</a></li>
|
||||
<li><a href="#org0971f29">2.3.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orga9b6464">2.4. Drift vector</a>
|
||||
<li><a href="#org1d72b74">2.4. Drift vector</a>
|
||||
<ul>
|
||||
<li><a href="#orgba0f182">2.4.1. Get</a></li>
|
||||
<li><a href="#org1facb93">2.4.2. Provide</a></li>
|
||||
<li><a href="#orgc230c10">2.4.3. Compute drift vector</a></li>
|
||||
<li><a href="#org5b8e5a8">2.4.4. Test</a></li>
|
||||
<li><a href="#org94be219">2.4.1. Get</a></li>
|
||||
<li><a href="#org1f495b5">2.4.2. Provide</a></li>
|
||||
<li><a href="#orgf394d09">2.4.3. Compute drift vector</a></li>
|
||||
<li><a href="#org73a058b">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-org48c41f3" class="outline-2">
|
||||
<h2 id="org48c41f3"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-org780b892" class="outline-2">
|
||||
<h2 id="org780b892"><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-orgf0d3819" class="outline-3">
|
||||
<h3 id="orgf0d3819"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-org4c020f3" class="outline-3">
|
||||
<h3 id="org4c020f3"><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-org5abe298" class="outline-2">
|
||||
<h2 id="org5abe298"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-org84f0074" class="outline-2">
|
||||
<h2 id="org84f0074"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-org578c2f4" class="outline-3">
|
||||
<h3 id="org578c2f4"><span class="section-number-3">2.1</span> Kinetic energy</h3>
|
||||
<div id="outline-container-org106f8a7" class="outline-3">
|
||||
<h3 id="org106f8a7"><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-org9d5a8b2" class="outline-4">
|
||||
<h4 id="org9d5a8b2"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-orgfb720d6" class="outline-4">
|
||||
<h4 id="orgfb720d6"><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-org54cb7cf" class="outline-4">
|
||||
<h4 id="org54cb7cf"><span class="section-number-4">2.1.2</span> Provide</h4>
|
||||
<div id="outline-container-org85a58cd" class="outline-4">
|
||||
<h4 id="org85a58cd"><span class="section-number-4">2.1.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgad8f4f1" class="outline-4">
|
||||
<h4 id="orgad8f4f1"><span class="section-number-4">2.1.3</span> Compute kinetic enregy</h4>
|
||||
<div id="outline-container-org01e69b5" class="outline-4">
|
||||
<h4 id="org01e69b5"><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="orge6c70e2" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org02d9bba" 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-orge7bacac" class="outline-4">
|
||||
<h4 id="orge7bacac"><span class="section-number-4">2.1.4</span> Test</h4>
|
||||
<div id="outline-container-org51c0fdf" class="outline-4">
|
||||
<h4 id="org51c0fdf"><span class="section-number-4">2.1.4</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org2089ac3" class="outline-3">
|
||||
<h3 id="org2089ac3"><span class="section-number-3">2.2</span> Potential energy</h3>
|
||||
<div id="outline-container-org9eb00f7" class="outline-3">
|
||||
<h3 id="org9eb00f7"><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-org1e0bbf1" class="outline-4">
|
||||
<h4 id="org1e0bbf1"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div id="outline-container-org1ac91be" class="outline-4">
|
||||
<h4 id="org1ac91be"><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-org54adefd" class="outline-4">
|
||||
<h4 id="org54adefd"><span class="section-number-4">2.2.2</span> Provide</h4>
|
||||
<div id="outline-container-org5a7a86f" class="outline-4">
|
||||
<h4 id="org5a7a86f"><span class="section-number-4">2.2.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org25f6b39" class="outline-4">
|
||||
<h4 id="org25f6b39"><span class="section-number-4">2.2.3</span> Compute potential enregy</h4>
|
||||
<div id="outline-container-org48ef3cc" class="outline-4">
|
||||
<h4 id="org48ef3cc"><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="org9674215" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org6e9c36d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -949,12 +949,12 @@ contributions.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org23afb11" class="outline-4">
|
||||
<h4 id="org23afb11"><span class="section-number-4">2.2.4</span> Test</h4>
|
||||
<div id="outline-container-orgd8c1a70" class="outline-4">
|
||||
<h4 id="orgd8c1a70"><span class="section-number-4">2.2.4</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org28efcdd" class="outline-3">
|
||||
<h3 id="org28efcdd"><span class="section-number-3">2.3</span> Local energy</h3>
|
||||
<div id="outline-container-org60462d1" class="outline-3">
|
||||
<h3 id="org60462d1"><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-org491eba0" class="outline-4">
|
||||
<h4 id="org491eba0"><span class="section-number-4">2.3.1</span> Get</h4>
|
||||
<div id="outline-container-orgae4a345" class="outline-4">
|
||||
<h4 id="orgae4a345"><span class="section-number-4">2.3.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-3-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_local_energy</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">local_energy</span>);
|
||||
@ -978,14 +978,14 @@ E_L = KE + PE
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org96d1494" class="outline-4">
|
||||
<h4 id="org96d1494"><span class="section-number-4">2.3.2</span> Provide</h4>
|
||||
<div id="outline-container-org552b5e4" class="outline-4">
|
||||
<h4 id="org552b5e4"><span class="section-number-4">2.3.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf3128c9" class="outline-4">
|
||||
<h4 id="orgf3128c9"><span class="section-number-4">2.3.3</span> Compute local enregy</h4>
|
||||
<div id="outline-container-org692a18c" class="outline-4">
|
||||
<h4 id="org692a18c"><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="orga756181" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org358532a" 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-org5f65220" class="outline-4">
|
||||
<h4 id="org5f65220"><span class="section-number-4">2.3.4</span> Test</h4>
|
||||
<div id="outline-container-org0971f29" class="outline-4">
|
||||
<h4 id="org0971f29"><span class="section-number-4">2.3.4</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orga9b6464" class="outline-3">
|
||||
<h3 id="orga9b6464"><span class="section-number-3">2.4</span> Drift vector</h3>
|
||||
<div id="outline-container-org1d72b74" class="outline-3">
|
||||
<h3 id="org1d72b74"><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-orgba0f182" class="outline-4">
|
||||
<h4 id="orgba0f182"><span class="section-number-4">2.4.1</span> Get</h4>
|
||||
<div id="outline-container-org94be219" class="outline-4">
|
||||
<h4 id="org94be219"><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-org1facb93" class="outline-4">
|
||||
<h4 id="org1facb93"><span class="section-number-4">2.4.2</span> Provide</h4>
|
||||
<div id="outline-container-org1f495b5" class="outline-4">
|
||||
<h4 id="org1f495b5"><span class="section-number-4">2.4.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc230c10" class="outline-4">
|
||||
<h4 id="orgc230c10"><span class="section-number-4">2.4.3</span> Compute drift vector</h4>
|
||||
<div id="outline-container-orgf394d09" class="outline-4">
|
||||
<h4 id="orgf394d09"><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="org66007df" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org5eee363" 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-org5b8e5a8" class="outline-4">
|
||||
<h4 id="org5b8e5a8"><span class="section-number-4">2.4.4</span> Test</h4>
|
||||
<div id="outline-container-org73a058b" class="outline-4">
|
||||
<h4 id="org73a058b"><span class="section-number-4">2.4.4</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-02-11 Fri 15:00</p>
|
||||
<p class="date">Created: 2022-02-11 Fri 15:09</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2022-02-11 Fri 14:59 -->
|
||||
<!-- 2022-02-11 Fri 15:08 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Memory management</title>
|
||||
@ -311,15 +311,15 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org4ee025e">1. Memory data structure for the context</a></li>
|
||||
<li><a href="#org2833dd5">2. Passing info to allocation routines</a></li>
|
||||
<li><a href="#orgc783cf1">3. Allocation/deallocation functions</a></li>
|
||||
<li><a href="#org2991e03">1. Memory data structure for the context</a></li>
|
||||
<li><a href="#org360b60f">2. Passing info to allocation routines</a></li>
|
||||
<li><a href="#org91fa20d">3. Allocation/deallocation functions</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4ee025e" class="outline-2">
|
||||
<h2 id="org4ee025e"><span class="section-number-2">1</span> Memory data structure for the context</h2>
|
||||
<div id="outline-container-org2991e03" class="outline-2">
|
||||
<h2 id="org2991e03"><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-org2833dd5" class="outline-2">
|
||||
<h2 id="org2833dd5"><span class="section-number-2">2</span> Passing info to allocation routines</h2>
|
||||
<div id="outline-container-org360b60f" class="outline-2">
|
||||
<h2 id="org360b60f"><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-orgc783cf1" class="outline-2">
|
||||
<h2 id="orgc783cf1"><span class="section-number-2">3</span> Allocation/deallocation functions</h2>
|
||||
<div id="outline-container-org91fa20d" class="outline-2">
|
||||
<h2 id="org91fa20d"><span class="section-number-2">3</span> Allocation/deallocation functions</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
<p>
|
||||
Memory allocation inside the library should be done with
|
||||
@ -535,7 +535,7 @@ allocation and needs to be updated.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-02-11 Fri 14:59</p>
|
||||
<p class="date">Created: 2022-02-11 Fri 15:08</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
157
qmckl_mo.html
157
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-02-11 Fri 14:59 -->
|
||||
<!-- 2022-02-11 Fri 15:08 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Molecular Orbitals</title>
|
||||
@ -311,21 +311,21 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#orgdb2c9ac">1. Context</a>
|
||||
<li><a href="#org0e40926">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org930a470">1.1. Data structure</a></li>
|
||||
<li><a href="#org0eaf350">1.2. Access functions</a></li>
|
||||
<li><a href="#orgabc6d18">1.3. Initialization functions</a></li>
|
||||
<li><a href="#orgf4ae1c2">1.1. Data structure</a></li>
|
||||
<li><a href="#org4a12737">1.2. Access functions</a></li>
|
||||
<li><a href="#org71202d6">1.3. Initialization functions</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orge98cbae">2. Computation</a>
|
||||
<li><a href="#org65f8910">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#orgd66ccec">2.1. Computation of MOs</a>
|
||||
<li><a href="#org5a880a1">2.1. Computation of MOs</a>
|
||||
<ul>
|
||||
<li><a href="#org5b49b33">2.1.1. Get</a></li>
|
||||
<li><a href="#orge4c5667">2.1.2. Provide</a></li>
|
||||
<li><a href="#orge96d0aa">2.1.3. Compute</a></li>
|
||||
<li><a href="#org4acc922">2.1.4. Test</a></li>
|
||||
<li><a href="#org66dc213">2.1.1. Get</a></li>
|
||||
<li><a href="#org3d64f02">2.1.2. Provide</a></li>
|
||||
<li><a href="#orga635db9">2.1.3. Compute</a></li>
|
||||
<li><a href="#org6f578ce">2.1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -334,8 +334,8 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgdb2c9ac" class="outline-2">
|
||||
<h2 id="orgdb2c9ac"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-org0e40926" class="outline-2">
|
||||
<h2 id="org0e40926"><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:
|
||||
@ -384,21 +384,21 @@ Computed data:
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="org-left"><code>mo_vgl</code></td>
|
||||
<td class="org-left"><code>[5][elec_num][mo_num]</code></td>
|
||||
<td class="org-left">Value, gradients, Laplacian of the MOs at electron positions</td>
|
||||
<td class="org-left"><code>[point_num][5][mo_num]</code></td>
|
||||
<td class="org-left">Value, gradients, Laplacian of the MOs at point positions</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>mo_vgl_date</code></td>
|
||||
<td class="org-left"><code>uint64_t</code></td>
|
||||
<td class="org-left">Late modification date of Value, gradients, Laplacian of the MOs at electron positions</td>
|
||||
<td class="org-left">Late modification date of Value, gradients, Laplacian of the MOs at point positions</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org930a470" class="outline-3">
|
||||
<h3 id="org930a470"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-orgf4ae1c2" class="outline-3">
|
||||
<h3 id="orgf4ae1c2"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #a020f0;">typedef</span> <span style="color: #a020f0;">struct</span> <span style="color: #228b22;">qmckl_mo_basis_struct</span> {
|
||||
@ -447,8 +447,8 @@ this mechanism.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0eaf350" class="outline-3">
|
||||
<h3 id="org0eaf350"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-org4a12737" class="outline-3">
|
||||
<h3 id="org4a12737"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<p>
|
||||
When all the data for the AOs have been provided, the following
|
||||
@ -462,8 +462,8 @@ function returns <code>true</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgabc6d18" class="outline-3">
|
||||
<h3 id="orgabc6d18"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-org71202d6" class="outline-3">
|
||||
<h3 id="org71202d6"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div class="outline-text-3" id="text-1-3">
|
||||
<p>
|
||||
To set the basis set, all the following functions need to be
|
||||
@ -484,16 +484,16 @@ computed to accelerate the calculations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge98cbae" class="outline-2">
|
||||
<h2 id="orge98cbae"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-org65f8910" class="outline-2">
|
||||
<h2 id="org65f8910"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-orgd66ccec" class="outline-3">
|
||||
<h3 id="orgd66ccec"><span class="section-number-3">2.1</span> Computation of MOs</h3>
|
||||
<div id="outline-container-org5a880a1" class="outline-3">
|
||||
<h3 id="org5a880a1"><span class="section-number-3">2.1</span> Computation of MOs</h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
</div>
|
||||
<div id="outline-container-org5b49b33" class="outline-4">
|
||||
<h4 id="org5b49b33"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-org66dc213" class="outline-4">
|
||||
<h4 id="org66dc213"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-1-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_mo_basis_vgl</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">mo_vgl</span>);
|
||||
@ -502,14 +502,14 @@ computed to accelerate the calculations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge4c5667" class="outline-4">
|
||||
<h4 id="orge4c5667"><span class="section-number-4">2.1.2</span> Provide</h4>
|
||||
<div id="outline-container-org3d64f02" class="outline-4">
|
||||
<h4 id="org3d64f02"><span class="section-number-4">2.1.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge96d0aa" class="outline-4">
|
||||
<h4 id="orge96d0aa"><span class="section-number-4">2.1.3</span> Compute</h4>
|
||||
<div id="outline-container-orga635db9" class="outline-4">
|
||||
<h4 id="orga635db9"><span class="section-number-4">2.1.3</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-1-3">
|
||||
<table id="orge330311" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org1f1ee8b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -545,9 +545,9 @@ computed to accelerate the calculations.
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>int64_t</code></td>
|
||||
<td class="org-left"><code>elec_num</code></td>
|
||||
<td class="org-left"><code>point_num</code></td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Number of electrons</td>
|
||||
<td class="org-left">Number of points</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
@ -559,14 +559,14 @@ computed to accelerate the calculations.
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>double</code></td>
|
||||
<td class="org-left"><code>ao_vgl[5][elec_num][ao_num]</code></td>
|
||||
<td class="org-left"><code>ao_vgl[point_num][5][ao_num]</code></td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Value, gradients and Laplacian of the AOs</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>double</code></td>
|
||||
<td class="org-left"><code>mo_vgl[5][elec_num][mo_num]</code></td>
|
||||
<td class="org-left"><code>mo_vgl[point_num][5][mo_num]</code></td>
|
||||
<td class="org-left">out</td>
|
||||
<td class="org-left">Value, gradients and Laplacian of the MOs</td>
|
||||
</tr>
|
||||
@ -576,77 +576,38 @@ computed to accelerate the calculations.
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer</span><span style="color: #a0522d;"> function qmckl_compute_mo_basis_vgl_f(context, </span><span style="color: #a020f0;">&</span>
|
||||
ao_num, mo_num, elec_num, <span style="color: #a020f0;">&</span>
|
||||
ao_num, mo_num, point_num, <span style="color: #a020f0;">&</span>
|
||||
coef_normalized, ao_vgl, mo_vgl) <span style="color: #a020f0;">&</span>
|
||||
<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>
|
||||
<span style="color: #228b22;">integer</span>(qmckl_context), <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> context</span>
|
||||
<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;"> elec_num</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> ao_vgl(ao_num,elec_num,5)</span>
|
||||
<span style="color: #228b22;">integer</span>*8 , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> point_num</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> ao_vgl(ao_num,5,point_num)</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> coef_normalized(ao_num,mo_num)</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(out) ::<span style="color: #a0522d;"> mo_vgl(mo_num,elec_num,5)</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(out) ::<span style="color: #a0522d;"> mo_vgl(mo_num,5,point_num)</span>
|
||||
<span style="color: #228b22;">character</span> ::<span style="color: #a0522d;"> TransA, TransB</span>
|
||||
<span style="color: #228b22;">double precision</span>,<span style="color: #a020f0;">dimension</span>(:,:),<span style="color: #a020f0;">allocatable</span> ::<span style="color: #a0522d;"> mo_vgl_big</span>
|
||||
<span style="color: #228b22;">double precision</span>,<span style="color: #a020f0;">dimension</span>(:,:),<span style="color: #a020f0;">allocatable</span> ::<span style="color: #a0522d;"> ao_vgl_big</span>
|
||||
!<span style="color: #b22222;">double precision,dimension(:,:),allocatable :: coef_trans</span>
|
||||
!<span style="color: #b22222;">double precision,dimension(:),allocatable :: coef_all</span>
|
||||
<span style="color: #228b22;">double precision</span> ::<span style="color: #a0522d;"> alpha, beta</span>
|
||||
<span style="color: #228b22;">integer</span> ::<span style="color: #a0522d;"> info_qmckl_dgemm_value</span>
|
||||
<span style="color: #228b22;">integer</span>*8 ::<span style="color: #a0522d;"> M, N, K, LDA, LDB, LDC, i,j, idx</span>
|
||||
|
||||
<span style="color: #228b22;">integer</span>*8 ::<span style="color: #a0522d;"> inucl, iprim, iwalk, ielec, ishell</span>
|
||||
<span style="color: #228b22;">double precision</span> ::<span style="color: #a0522d;"> x, y, z, two_a, ar2, r2, v, cutoff</span>
|
||||
|
||||
<span style="color: #a020f0;">allocate</span>(mo_vgl_big(mo_num,elec_num*5))
|
||||
<span style="color: #a020f0;">allocate</span>(ao_vgl_big(ao_num,elec_num*5))
|
||||
!<span style="color: #b22222;">allocate(coef_all(mo_num*ao_num))</span>
|
||||
!<span style="color: #b22222;">allocate(coef_trans(mo_num,ao_num))</span>
|
||||
<span style="color: #228b22;">integer</span>*8 ::<span style="color: #a0522d;"> M, N, K, LDA, LDB, LDC, i,j</span>
|
||||
|
||||
TransA = <span style="color: #8b2252;">'T'</span>
|
||||
TransB = <span style="color: #8b2252;">'N'</span>
|
||||
alpha = 1.0d0
|
||||
beta = 0.0d0
|
||||
M = mo_num
|
||||
N = point_num*5_8
|
||||
K = <span style="color: #a020f0;">int</span>(ao_num,8)
|
||||
alpha = 1.d0
|
||||
beta = 0.d0
|
||||
LDA = <span style="color: #a020f0;">size</span>(coef_normalized,1)
|
||||
LDB = <span style="color: #a020f0;">size</span>(ao_vgl,1)
|
||||
LDC = <span style="color: #a020f0;">size</span>(mo_vgl,1)
|
||||
|
||||
info = qmckl_dgemm(context,TransA, TransB, M, N, K, alpha, <span style="color: #a020f0;">&</span>
|
||||
coef_normalized, <span style="color: #a020f0;">int</span>(<span style="color: #a020f0;">size</span>(coef_normalized,1),8), <span style="color: #a020f0;">&</span>
|
||||
ao_vgl, <span style="color: #a020f0;">int</span>(<span style="color: #a020f0;">size</span>(ao_vgl,1),8), beta, <span style="color: #a020f0;">&</span>
|
||||
mo_vgl,LDC)
|
||||
|
||||
info = QMCKL_SUCCESS
|
||||
info_qmckl_dgemm_value = QMCKL_SUCCESS
|
||||
|
||||
! <span style="color: #b22222;">Don't compute exponentials when the result will be almost zero.</span>
|
||||
! <span style="color: #b22222;">TODO : Use numerical precision here</span>
|
||||
cutoff = -dlog(1.d-15)
|
||||
M = mo_num
|
||||
N = elec_num*5
|
||||
K = ao_num * 1_8
|
||||
LDA = <span style="color: #a020f0;">size</span>(coef_normalized,1)
|
||||
idx = 0
|
||||
!<span style="color: #b22222;">do j = 1,ao_num</span>
|
||||
!<span style="color: #b22222;">do i = 1,mo_num</span>
|
||||
! <span style="color: #b22222;">idx = idx + 1</span>
|
||||
! <span style="color: #b22222;">coef_all(idx) = coef_normalized(i,j)</span>
|
||||
!<span style="color: #b22222;">end do</span>
|
||||
!<span style="color: #b22222;">end do</span>
|
||||
!<span style="color: #b22222;">idx = 0</span>
|
||||
!<span style="color: #b22222;">do j = 1,mo_num</span>
|
||||
!<span style="color: #b22222;">do i = 1,ao_num</span>
|
||||
! <span style="color: #b22222;">idx = idx + 1</span>
|
||||
! <span style="color: #b22222;">coef_trans(j,i) = coef_all(idx)</span>
|
||||
!<span style="color: #b22222;">end do</span>
|
||||
!<span style="color: #b22222;">end do</span>
|
||||
|
||||
ao_vgl_big = <span style="color: #a020f0;">reshape</span>(ao_vgl(:, :, :),(/ao_num, elec_num*5_8/))
|
||||
LDB = <span style="color: #a020f0;">size</span>(ao_vgl_big,1)
|
||||
LDC = <span style="color: #a020f0;">size</span>(mo_vgl_big,1)
|
||||
|
||||
info = qmckl_dgemm(context,TransA, TransB, M, N, K, alpha, <span style="color: #a020f0;">&</span>
|
||||
coef_normalized,<span style="color: #a020f0;">size</span>(coef_normalized,1)*1_8, <span style="color: #a020f0;">&</span>
|
||||
ao_vgl_big, <span style="color: #a020f0;">size</span>(ao_vgl_big,1)*1_8, <span style="color: #a020f0;">&</span>
|
||||
beta, <span style="color: #a020f0;">&</span>
|
||||
mo_vgl_big,LDC)
|
||||
mo_vgl = <span style="color: #a020f0;">reshape</span>(mo_vgl_big,(/mo_num,elec_num,5_8/))
|
||||
|
||||
<span style="color: #a020f0;">deallocate</span>(mo_vgl_big)
|
||||
<span style="color: #a020f0;">deallocate</span>(ao_vgl_big)
|
||||
|
||||
<span style="color: #a020f0;">end function</span> <span style="color: #0000ff;">qmckl_compute_mo_basis_vgl_f</span>
|
||||
</pre>
|
||||
@ -657,7 +618,7 @@ computed to accelerate the calculations.
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">context</span> <span style="color: #a0522d;">qmckl_context</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">ao_num</span> <span style="color: #a0522d;">int64_t</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">mo_num</span> <span style="color: #a0522d;">int64_t</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">elec_num</span> <span style="color: #a0522d;">int64_t</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">point_num</span> <span style="color: #a0522d;">int64_t</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">coef_normalized</span>* <span style="color: #228b22;">double</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">ao_vgl</span>* <span style="color: #228b22;">double</span>,
|
||||
<span style="color: #228b22;">mo_vgl</span>* <span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> );
|
||||
@ -667,15 +628,15 @@ computed to accelerate the calculations.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org4acc922" class="outline-4">
|
||||
<h4 id="org4acc922"><span class="section-number-4">2.1.4</span> Test</h4>
|
||||
<div id="outline-container-org6f578ce" class="outline-4">
|
||||
<h4 id="org6f578ce"><span class="section-number-4">2.1.4</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-02-11 Fri 14:59</p>
|
||||
<p class="date">Created: 2022-02-11 Fri 15:08</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2022-02-11 Fri 15:00 -->
|
||||
<!-- 2022-02-11 Fri 15:09 -->
|
||||
<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="#org3ef713b">1. Context</a>
|
||||
<li><a href="#orgcd493e7">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org98533ab">1.1. Data structure</a></li>
|
||||
<li><a href="#org91dd89d">1.2. Access functions</a></li>
|
||||
<li><a href="#org29e9a99">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org6987672">1.4. Test</a></li>
|
||||
<li><a href="#orgb385fe4">1.1. Data structure</a></li>
|
||||
<li><a href="#org039a894">1.2. Access functions</a></li>
|
||||
<li><a href="#orgaf403ae">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org05bd2b7">1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org9c2bb7e">2. Computation</a>
|
||||
<li><a href="#orga259fce">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#org3f5593f">2.1. Nucleus-nucleus distances</a>
|
||||
<li><a href="#orgaac82ba">2.1. Nucleus-nucleus distances</a>
|
||||
<ul>
|
||||
<li><a href="#orgdf75575">2.1.1. Get</a></li>
|
||||
<li><a href="#org2735b80">2.1.2. Compute</a></li>
|
||||
<li><a href="#org2218657">2.1.3. Test</a></li>
|
||||
<li><a href="#org175e908">2.1.1. Get</a></li>
|
||||
<li><a href="#org5eb4e06">2.1.2. Compute</a></li>
|
||||
<li><a href="#org06e81c7">2.1.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org24c3927">2.2. Nucleus-nucleus rescaled distances</a>
|
||||
<li><a href="#org12c1ce9">2.2. Nucleus-nucleus rescaled distances</a>
|
||||
<ul>
|
||||
<li><a href="#org970964f">2.2.1. Get</a></li>
|
||||
<li><a href="#org068f674">2.2.2. Compute</a></li>
|
||||
<li><a href="#orgff76ddb">2.2.3. Test</a></li>
|
||||
<li><a href="#orgfcc352d">2.2.1. Get</a></li>
|
||||
<li><a href="#org44ed8a9">2.2.2. Compute</a></li>
|
||||
<li><a href="#org1ef60a6">2.2.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgbb2a386">2.3. Nuclear repulsion energy</a>
|
||||
<li><a href="#org40d0b8b">2.3. Nuclear repulsion energy</a>
|
||||
<ul>
|
||||
<li><a href="#org308b9a3">2.3.1. Get</a></li>
|
||||
<li><a href="#orgce2b057">2.3.2. Compute</a></li>
|
||||
<li><a href="#org31aa5e2">2.3.3. Test</a></li>
|
||||
<li><a href="#org55ac472">2.3.1. Get</a></li>
|
||||
<li><a href="#orga6356a9">2.3.2. Compute</a></li>
|
||||
<li><a href="#orgb3cb3db">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-org3ef713b" class="outline-2">
|
||||
<h2 id="org3ef713b"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-orgcd493e7" class="outline-2">
|
||||
<h2 id="orgcd493e7"><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-org98533ab" class="outline-3">
|
||||
<h3 id="org98533ab"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-orgb385fe4" class="outline-3">
|
||||
<h3 id="orgb385fe4"><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-org91dd89d" class="outline-3">
|
||||
<h3 id="org91dd89d"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-org039a894" class="outline-3">
|
||||
<h3 id="org039a894"><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-org29e9a99" class="outline-3">
|
||||
<h3 id="org29e9a99"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-orgaf403ae" class="outline-3">
|
||||
<h3 id="orgaf403ae"><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-org6987672" class="outline-3">
|
||||
<h3 id="org6987672"><span class="section-number-3">1.4</span> Test</h3>
|
||||
<div id="outline-container-org05bd2b7" class="outline-3">
|
||||
<h3 id="org05bd2b7"><span class="section-number-3">1.4</span> Test</h3>
|
||||
<div class="outline-text-3" id="text-1-4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">nucl_num</span> = chbrclf_nucl_num;
|
||||
@ -703,8 +703,8 @@ rc = qmckl_get_nucleus_charge(context, nucl_charge2, nucl_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9c2bb7e" class="outline-2">
|
||||
<h2 id="org9c2bb7e"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-orga259fce" class="outline-2">
|
||||
<h2 id="orga259fce"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
<p>
|
||||
The computed data is stored in the context so that it can be reused
|
||||
@ -717,12 +717,12 @@ current date is stored.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3f5593f" class="outline-3">
|
||||
<h3 id="org3f5593f"><span class="section-number-3">2.1</span> Nucleus-nucleus distances</h3>
|
||||
<div id="outline-container-orgaac82ba" class="outline-3">
|
||||
<h3 id="orgaac82ba"><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-orgdf75575" class="outline-4">
|
||||
<h4 id="orgdf75575"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-org175e908" class="outline-4">
|
||||
<h4 id="org175e908"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-1-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
|
||||
@ -734,10 +734,10 @@ current date is stored.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2735b80" class="outline-4">
|
||||
<h4 id="org2735b80"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div id="outline-container-org5eb4e06" class="outline-4">
|
||||
<h4 id="org5eb4e06"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-1-2">
|
||||
<table id="orgaeca70e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgaa221ba" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -815,8 +815,8 @@ current date is stored.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2218657" class="outline-4">
|
||||
<h4 id="org2218657"><span class="section-number-4">2.1.3</span> Test</h4>
|
||||
<div id="outline-container-org06e81c7" class="outline-4">
|
||||
<h4 id="org06e81c7"><span class="section-number-4">2.1.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Reference input data </span>*/
|
||||
@ -835,12 +835,12 @@ rc = qmckl_get_nucleus_nn_distance(context, distance, nucl_num*nucl_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org24c3927" class="outline-3">
|
||||
<h3 id="org24c3927"><span class="section-number-3">2.2</span> Nucleus-nucleus rescaled distances</h3>
|
||||
<div id="outline-container-org12c1ce9" class="outline-3">
|
||||
<h3 id="org12c1ce9"><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-org970964f" class="outline-4">
|
||||
<h4 id="org970964f"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div id="outline-container-orgfcc352d" class="outline-4">
|
||||
<h4 id="orgfcc352d"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-2-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
|
||||
@ -852,10 +852,10 @@ rc = qmckl_get_nucleus_nn_distance(context, distance, nucl_num*nucl_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org068f674" class="outline-4">
|
||||
<h4 id="org068f674"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div id="outline-container-org44ed8a9" class="outline-4">
|
||||
<h4 id="org44ed8a9"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-2-2">
|
||||
<table id="org18d411b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org3ea9720" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -934,8 +934,8 @@ rc = qmckl_get_nucleus_nn_distance(context, distance, nucl_num*nucl_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgff76ddb" class="outline-4">
|
||||
<h4 id="orgff76ddb"><span class="section-number-4">2.2.3</span> Test</h4>
|
||||
<div id="outline-container-org1ef60a6" class="outline-4">
|
||||
<h4 id="org1ef60a6"><span class="section-number-4">2.2.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-2-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Reference input data </span>*/
|
||||
@ -955,8 +955,8 @@ rc = qmckl_get_nucleus_nn_distance(context, distance, nucl_num*nucl_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbb2a386" class="outline-3">
|
||||
<h3 id="orgbb2a386"><span class="section-number-3">2.3</span> Nuclear repulsion energy</h3>
|
||||
<div id="outline-container-org40d0b8b" class="outline-3">
|
||||
<h3 id="org40d0b8b"><span class="section-number-3">2.3</span> Nuclear repulsion energy</h3>
|
||||
<div class="outline-text-3" id="text-2-3">
|
||||
<p>
|
||||
\[
|
||||
@ -965,8 +965,8 @@ rc = qmckl_get_nucleus_nn_distance(context, distance, nucl_num*nucl_num);
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org308b9a3" class="outline-4">
|
||||
<h4 id="org308b9a3"><span class="section-number-4">2.3.1</span> Get</h4>
|
||||
<div id="outline-container-org55ac472" class="outline-4">
|
||||
<h4 id="org55ac472"><span class="section-number-4">2.3.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-3-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_nucleus_repulsion</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">energy</span>);
|
||||
@ -975,10 +975,10 @@ rc = qmckl_get_nucleus_nn_distance(context, distance, nucl_num*nucl_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgce2b057" class="outline-4">
|
||||
<h4 id="orgce2b057"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div id="outline-container-orga6356a9" class="outline-4">
|
||||
<h4 id="orga6356a9"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-3-2">
|
||||
<table id="orgae945f6" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgd23d32b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1068,8 +1068,8 @@ rc = qmckl_get_nucleus_nn_distance(context, distance, nucl_num*nucl_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org31aa5e2" class="outline-4">
|
||||
<h4 id="org31aa5e2"><span class="section-number-4">2.3.3</span> Test</h4>
|
||||
<div id="outline-container-orgb3cb3db" class="outline-4">
|
||||
<h4 id="orgb3cb3db"><span class="section-number-4">2.3.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-3-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Reference input data </span>*/
|
||||
@ -1089,7 +1089,7 @@ rc = qmckl_get_nucleus_repulsion(context, &rep);
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-02-11 Fri 15:00</p>
|
||||
<p class="date">Created: 2022-02-11 Fri 15:09</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2022-02-11 Fri 14:59 -->
|
||||
<!-- 2022-02-11 Fri 15:09 -->
|
||||
<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="#orgc99aa31">1. Control of the numerical precision</a></li>
|
||||
<li><a href="#org97ba69b">2. Precision</a></li>
|
||||
<li><a href="#orgdb29220">3. Range</a></li>
|
||||
<li><a href="#orgcf35900">4. Helper functions</a></li>
|
||||
<li><a href="#orgeb03b27">1. Control of the numerical precision</a></li>
|
||||
<li><a href="#org5c52f55">2. Precision</a></li>
|
||||
<li><a href="#org4638e23">3. Range</a></li>
|
||||
<li><a href="#orge628ff7">4. Helper functions</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc99aa31" class="outline-2">
|
||||
<h2 id="orgc99aa31"><span class="section-number-2">1</span> Control of the numerical precision</h2>
|
||||
<div id="outline-container-orgeb03b27" class="outline-2">
|
||||
<h2 id="orgeb03b27"><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="org3a4d3c2" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org3e0728c" 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-org97ba69b" class="outline-2">
|
||||
<h2 id="org97ba69b"><span class="section-number-2">2</span> Precision</h2>
|
||||
<div id="outline-container-org5c52f55" class="outline-2">
|
||||
<h2 id="org5c52f55"><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-orgdb29220" class="outline-2">
|
||||
<h2 id="orgdb29220"><span class="section-number-2">3</span> Range</h2>
|
||||
<div id="outline-container-org4638e23" class="outline-2">
|
||||
<h2 id="org4638e23"><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-orgcf35900" class="outline-2">
|
||||
<h2 id="orgcf35900"><span class="section-number-2">4</span> Helper functions</h2>
|
||||
<div id="outline-container-orge628ff7" class="outline-2">
|
||||
<h2 id="orge628ff7"><span class="section-number-2">4</span> Helper functions</h2>
|
||||
<div class="outline-text-2" id="text-4">
|
||||
<p>
|
||||
<code>qmckl_get_numprec_epsilon</code> returns \(\epsilon = 2^{1-n}\) where <code>n</code> is the precision.
|
||||
@ -581,7 +581,7 @@ We need to remove the sign bit from the precision.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-02-11 Fri 14:59</p>
|
||||
<p class="date">Created: 2022-02-11 Fri 15:09</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2022-02-11 Fri 15:00 -->
|
||||
<!-- 2022-02-11 Fri 15:09 -->
|
||||
<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="#orgd98daf1">1. Context</a>
|
||||
<li><a href="#orgac7ed5f">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org309dae0">1.1. Data structure</a></li>
|
||||
<li><a href="#org98064ad">1.2. Access functions</a>
|
||||
<li><a href="#orga466d24">1.1. Data structure</a></li>
|
||||
<li><a href="#orgacefa96">1.2. Access functions</a>
|
||||
<ul>
|
||||
<li><a href="#orgfb14149">1.2.1. Number of points</a></li>
|
||||
<li><a href="#org1f024a3">1.2.2. Point coordinates</a></li>
|
||||
<li><a href="#orgce6f6ef">1.2.1. Number of points</a></li>
|
||||
<li><a href="#orgb14c65e">1.2.2. Point coordinates</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org3ab675d">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org5133087">1.4. Test</a></li>
|
||||
<li><a href="#org579fe8b">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org1a84277">1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd98daf1" class="outline-2">
|
||||
<h2 id="orgd98daf1"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-orgac7ed5f" class="outline-2">
|
||||
<h2 id="orgac7ed5f"><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-org309dae0" class="outline-3">
|
||||
<h3 id="org309dae0"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-orga466d24" class="outline-3">
|
||||
<h3 id="orga466d24"><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-org98064ad" class="outline-3">
|
||||
<h3 id="org98064ad"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-orgacefa96" class="outline-3">
|
||||
<h3 id="orgacefa96"><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-orgfb14149" class="outline-4">
|
||||
<h4 id="orgfb14149"><span class="section-number-4">1.2.1</span> Number of points</h4>
|
||||
<div id="outline-container-orgce6f6ef" class="outline-4">
|
||||
<h4 id="orgce6f6ef"><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-org1f024a3" class="outline-4">
|
||||
<h4 id="org1f024a3"><span class="section-number-4">1.2.2</span> Point coordinates</h4>
|
||||
<div id="outline-container-orgb14c65e" class="outline-4">
|
||||
<h4 id="orgb14c65e"><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-org3ab675d" class="outline-3">
|
||||
<h3 id="org3ab675d"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-org579fe8b" class="outline-3">
|
||||
<h3 id="org579fe8b"><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
|
||||
@ -616,8 +616,8 @@ Copy a sequence of <code>num</code> points \((x,y,z)\) into the context.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org5133087" class="outline-3">
|
||||
<h3 id="org5133087"><span class="section-number-3">1.4</span> Test</h3>
|
||||
<div id="outline-container-org1a84277" class="outline-3">
|
||||
<h3 id="org1a84277"><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>*/
|
||||
@ -676,7 +676,7 @@ rc = qmckl_get_point (context, <span style="color: #8b2252;">'N'</span>, coord3,
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-02-11 Fri 15:00</p>
|
||||
<p class="date">Created: 2022-02-11 Fri 15:09</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2022-02-11 Fri 15:00 -->
|
||||
<!-- 2022-02-11 Fri 15:09 -->
|
||||
<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="#org4ab9903">1. Headers</a></li>
|
||||
<li><a href="#org7e2fb69">2. Naïve Sherman-Morrison</a>
|
||||
<li><a href="#org60855c7">1. Headers</a></li>
|
||||
<li><a href="#org22a0fb5">2. Naïve Sherman-Morrison</a>
|
||||
<ul>
|
||||
<li><a href="#org338ed4b">2.1. <code>qmckl_sherman_morrison</code></a>
|
||||
<li><a href="#orgc2d1259">2.1. <code>qmckl_sherman_morrison</code></a>
|
||||
<ul>
|
||||
<li><a href="#orgb33047d">2.1.1. Requirements</a></li>
|
||||
<li><a href="#org10324df">2.1.2. C header</a></li>
|
||||
<li><a href="#orgec62067">2.1.3. C source</a></li>
|
||||
<li><a href="#org8ee9747">2.1.4. Performance</a></li>
|
||||
<li><a href="#org92a60fe">2.1.1. Requirements</a></li>
|
||||
<li><a href="#orgb2c9199">2.1.2. C header</a></li>
|
||||
<li><a href="#orge64d1d4">2.1.3. C source</a></li>
|
||||
<li><a href="#orgd95f46f">2.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orga66db4f">3. Woodbury 2x2</a>
|
||||
<li><a href="#org16fe49a">3. Woodbury 2x2</a>
|
||||
<ul>
|
||||
<li><a href="#orge70d399">3.1. <code>qmckl_woodbury_2</code></a>
|
||||
<li><a href="#orgd028b56">3.1. <code>qmckl_woodbury_2</code></a>
|
||||
<ul>
|
||||
<li><a href="#org2a2da57">3.1.1. Requirements</a></li>
|
||||
<li><a href="#org2317fb1">3.1.2. C header</a></li>
|
||||
<li><a href="#org04a736d">3.1.3. C source</a></li>
|
||||
<li><a href="#org8a1fc27">3.1.4. Performance</a></li>
|
||||
<li><a href="#orga2dd0d3">3.1.1. Requirements</a></li>
|
||||
<li><a href="#orgd9c93d0">3.1.2. C header</a></li>
|
||||
<li><a href="#org743cc0b">3.1.3. C source</a></li>
|
||||
<li><a href="#orgec88aa1">3.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgdb511c3">4. Woodbury 3x3</a>
|
||||
<li><a href="#orgb774999">4. Woodbury 3x3</a>
|
||||
<ul>
|
||||
<li><a href="#org7d05646">4.1. <code>qmckl_woodbury_3</code></a>
|
||||
<li><a href="#org0797a79">4.1. <code>qmckl_woodbury_3</code></a>
|
||||
<ul>
|
||||
<li><a href="#org405ccce">4.1.1. Requirements</a></li>
|
||||
<li><a href="#org4771867">4.1.2. C header</a></li>
|
||||
<li><a href="#orgcdbc973">4.1.3. C source</a></li>
|
||||
<li><a href="#org90e5203">4.1.4. Performance…</a></li>
|
||||
<li><a href="#org577bda5">4.1.1. Requirements</a></li>
|
||||
<li><a href="#orga614542">4.1.2. C header</a></li>
|
||||
<li><a href="#orgb9078ca">4.1.3. C source</a></li>
|
||||
<li><a href="#org57578a1">4.1.4. Performance…</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org7434412">5. Sherman-Morrison with update splitting</a>
|
||||
<li><a href="#orgf830168">5. Sherman-Morrison with update splitting</a>
|
||||
<ul>
|
||||
<li><a href="#orgb929fc6">5.1. <code>qmckl_sherman_morrison_splitting</code></a>
|
||||
<li><a href="#orgb2a8ca6">5.1. <code>qmckl_sherman_morrison_splitting</code></a>
|
||||
<ul>
|
||||
<li><a href="#orgfc4d569">5.1.1. Requirements</a></li>
|
||||
<li><a href="#orgacef4c1">5.1.2. C header</a></li>
|
||||
<li><a href="#orgc139f70">5.1.3. C source</a></li>
|
||||
<li><a href="#orge7518d4">5.1.4. Performance…</a></li>
|
||||
<li><a href="#org1d6ac83">5.1.1. Requirements</a></li>
|
||||
<li><a href="#org17d86ea">5.1.2. C header</a></li>
|
||||
<li><a href="#org92f485f">5.1.3. C source</a></li>
|
||||
<li><a href="#orgb2a1366">5.1.4. Performance…</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgc5a312c">6. Woodbury 3x3 and 2x2 with Sherman-Morrison and update splitting</a>
|
||||
<li><a href="#orge0a0b94">6. Woodbury 3x3 and 2x2 with Sherman-Morrison and update splitting</a>
|
||||
<ul>
|
||||
<li><a href="#org0ddb5b7">6.1. <code>qmckl_sherman_morrison_smw32s</code></a>
|
||||
<li><a href="#orge8831a5">6.1. <code>qmckl_sherman_morrison_smw32s</code></a>
|
||||
<ul>
|
||||
<li><a href="#org546c33b">6.1.1. Requirements</a></li>
|
||||
<li><a href="#org8e0d989">6.1.2. C header</a></li>
|
||||
<li><a href="#org096a3a1">6.1.3. C source</a></li>
|
||||
<li><a href="#org091d461">6.1.4. Performance…</a></li>
|
||||
<li><a href="#org7ec9ad7">6.1.1. Requirements</a></li>
|
||||
<li><a href="#org0e20d87">6.1.2. C header</a></li>
|
||||
<li><a href="#org74e47d7">6.1.3. C source</a></li>
|
||||
<li><a href="#org3d34133">6.1.4. Performance…</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org2a7ab8b">7. Helper Functions</a>
|
||||
<li><a href="#org75499cc">7. Helper Functions</a>
|
||||
<ul>
|
||||
<li><a href="#orgf8ff960">7.1. <code>qmckl_slagel_splitting</code></a>
|
||||
<li><a href="#org62a3597">7.1. <code>qmckl_slagel_splitting</code></a>
|
||||
<ul>
|
||||
<li><a href="#orgc83f5ca">7.1.1. Requirements</a></li>
|
||||
<li><a href="#org5f766f1">7.1.2. C header</a></li>
|
||||
<li><a href="#orgad41140">7.1.3. C source</a></li>
|
||||
<li><a href="#orgb648f36">7.1.4. Performance</a></li>
|
||||
<li><a href="#orga4d5da9">7.1.1. Requirements</a></li>
|
||||
<li><a href="#orga2f9e5b">7.1.2. C header</a></li>
|
||||
<li><a href="#org2322d7b">7.1.3. C source</a></li>
|
||||
<li><a href="#org0b12d35">7.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgf19b59b">8. End of files</a></li>
|
||||
<li><a href="#org87cc3d2">8. End of files</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4ab9903" class="outline-2">
|
||||
<h2 id="org4ab9903"><span class="section-number-2">1</span> Headers</h2>
|
||||
<div id="outline-container-org60855c7" class="outline-2">
|
||||
<h2 id="org60855c7"><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-org7e2fb69" class="outline-2">
|
||||
<h2 id="org7e2fb69"><span class="section-number-2">2</span> Naïve Sherman-Morrison</h2>
|
||||
<div id="outline-container-org22a0fb5" class="outline-2">
|
||||
<h2 id="org22a0fb5"><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-org338ed4b" class="outline-3">
|
||||
<h3 id="org338ed4b"><span class="section-number-3">2.1</span> <code>qmckl_sherman_morrison</code></h3>
|
||||
<div id="outline-container-orgc2d1259" class="outline-3">
|
||||
<h3 id="orgc2d1259"><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="orgcaa4160" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org668342a" 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-orgb33047d" class="outline-4">
|
||||
<h4 id="orgb33047d"><span class="section-number-4">2.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org92a60fe" class="outline-4">
|
||||
<h4 id="org92a60fe"><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-org10324df" class="outline-4">
|
||||
<h4 id="org10324df"><span class="section-number-4">2.1.2</span> C header</h4>
|
||||
<div id="outline-container-orgb2c9199" class="outline-4">
|
||||
<h4 id="orgb2c9199"><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-orgec62067" class="outline-4">
|
||||
<h4 id="orgec62067"><span class="section-number-4">2.1.3</span> C source</h4>
|
||||
<div id="outline-container-orge64d1d4" class="outline-4">
|
||||
<h4 id="orge64d1d4"><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-org8ee9747" class="outline-4">
|
||||
<h4 id="org8ee9747"><span class="section-number-4">2.1.4</span> Performance</h4>
|
||||
<div id="outline-container-orgd95f46f" class="outline-4">
|
||||
<h4 id="orgd95f46f"><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-orga66db4f" class="outline-2">
|
||||
<h2 id="orga66db4f"><span class="section-number-2">3</span> Woodbury 2x2</h2>
|
||||
<div id="outline-container-org16fe49a" class="outline-2">
|
||||
<h2 id="org16fe49a"><span class="section-number-2">3</span> Woodbury 2x2</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
</div>
|
||||
<div id="outline-container-orge70d399" class="outline-3">
|
||||
<h3 id="orge70d399"><span class="section-number-3">3.1</span> <code>qmckl_woodbury_2</code></h3>
|
||||
<div id="outline-container-orgd028b56" class="outline-3">
|
||||
<h3 id="orgd028b56"><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="org7a5970a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgfe2671b" 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-org2a2da57" class="outline-4">
|
||||
<h4 id="org2a2da57"><span class="section-number-4">3.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-orga2dd0d3" class="outline-4">
|
||||
<h4 id="orga2dd0d3"><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-org2317fb1" class="outline-4">
|
||||
<h4 id="org2317fb1"><span class="section-number-4">3.1.2</span> C header</h4>
|
||||
<div id="outline-container-orgd9c93d0" class="outline-4">
|
||||
<h4 id="orgd9c93d0"><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-org04a736d" class="outline-4">
|
||||
<h4 id="org04a736d"><span class="section-number-4">3.1.3</span> C source</h4>
|
||||
<div id="outline-container-org743cc0b" class="outline-4">
|
||||
<h4 id="org743cc0b"><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-org8a1fc27" class="outline-4">
|
||||
<h4 id="org8a1fc27"><span class="section-number-4">3.1.4</span> Performance</h4>
|
||||
<div id="outline-container-orgec88aa1" class="outline-4">
|
||||
<h4 id="orgec88aa1"><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-orgdb511c3" class="outline-2">
|
||||
<h2 id="orgdb511c3"><span class="section-number-2">4</span> Woodbury 3x3</h2>
|
||||
<div id="outline-container-orgb774999" class="outline-2">
|
||||
<h2 id="orgb774999"><span class="section-number-2">4</span> Woodbury 3x3</h2>
|
||||
<div class="outline-text-2" id="text-4">
|
||||
</div>
|
||||
<div id="outline-container-org7d05646" class="outline-3">
|
||||
<h3 id="org7d05646"><span class="section-number-3">4.1</span> <code>qmckl_woodbury_3</code></h3>
|
||||
<div id="outline-container-org0797a79" class="outline-3">
|
||||
<h3 id="org0797a79"><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="org286894b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orge4efb64" 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-org405ccce" class="outline-4">
|
||||
<h4 id="org405ccce"><span class="section-number-4">4.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org577bda5" class="outline-4">
|
||||
<h4 id="org577bda5"><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-org4771867" class="outline-4">
|
||||
<h4 id="org4771867"><span class="section-number-4">4.1.2</span> C header</h4>
|
||||
<div id="outline-container-orga614542" class="outline-4">
|
||||
<h4 id="orga614542"><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-orgcdbc973" class="outline-4">
|
||||
<h4 id="orgcdbc973"><span class="section-number-4">4.1.3</span> C source</h4>
|
||||
<div id="outline-container-orgb9078ca" class="outline-4">
|
||||
<h4 id="orgb9078ca"><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-org90e5203" class="outline-4">
|
||||
<h4 id="org90e5203"><span class="section-number-4">4.1.4</span> Performance…</h4>
|
||||
<div id="outline-container-org57578a1" class="outline-4">
|
||||
<h4 id="org57578a1"><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-org7434412" class="outline-2">
|
||||
<h2 id="org7434412"><span class="section-number-2">5</span> Sherman-Morrison with update splitting</h2>
|
||||
<div id="outline-container-orgf830168" class="outline-2">
|
||||
<h2 id="orgf830168"><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-orgb929fc6" class="outline-3">
|
||||
<h3 id="orgb929fc6"><span class="section-number-3">5.1</span> <code>qmckl_sherman_morrison_splitting</code></h3>
|
||||
<div id="outline-container-orgb2a8ca6" class="outline-3">
|
||||
<h3 id="orgb2a8ca6"><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="org44dedb1" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgfc61878" 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-orgfc4d569" class="outline-4">
|
||||
<h4 id="orgfc4d569"><span class="section-number-4">5.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org1d6ac83" class="outline-4">
|
||||
<h4 id="org1d6ac83"><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-orgacef4c1" class="outline-4">
|
||||
<h4 id="orgacef4c1"><span class="section-number-4">5.1.2</span> C header</h4>
|
||||
<div id="outline-container-org17d86ea" class="outline-4">
|
||||
<h4 id="org17d86ea"><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-orgc139f70" class="outline-4">
|
||||
<h4 id="orgc139f70"><span class="section-number-4">5.1.3</span> C source</h4>
|
||||
<div id="outline-container-org92f485f" class="outline-4">
|
||||
<h4 id="org92f485f"><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-orge7518d4" class="outline-4">
|
||||
<h4 id="orge7518d4"><span class="section-number-4">5.1.4</span> Performance…</h4>
|
||||
<div id="outline-container-orgb2a1366" class="outline-4">
|
||||
<h4 id="orgb2a1366"><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-orgc5a312c" class="outline-2">
|
||||
<h2 id="orgc5a312c"><span class="section-number-2">6</span> Woodbury 3x3 and 2x2 with Sherman-Morrison and update splitting</h2>
|
||||
<div id="outline-container-orge0a0b94" class="outline-2">
|
||||
<h2 id="orge0a0b94"><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-org0ddb5b7" class="outline-3">
|
||||
<h3 id="org0ddb5b7"><span class="section-number-3">6.1</span> <code>qmckl_sherman_morrison_smw32s</code></h3>
|
||||
<div id="outline-container-orge8831a5" class="outline-3">
|
||||
<h3 id="orge8831a5"><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="org13157d1" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgdf5f738" 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-org546c33b" class="outline-4">
|
||||
<h4 id="org546c33b"><span class="section-number-4">6.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org7ec9ad7" class="outline-4">
|
||||
<h4 id="org7ec9ad7"><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-org8e0d989" class="outline-4">
|
||||
<h4 id="org8e0d989"><span class="section-number-4">6.1.2</span> C header</h4>
|
||||
<div id="outline-container-org0e20d87" class="outline-4">
|
||||
<h4 id="org0e20d87"><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-org096a3a1" class="outline-4">
|
||||
<h4 id="org096a3a1"><span class="section-number-4">6.1.3</span> C source</h4>
|
||||
<div id="outline-container-org74e47d7" class="outline-4">
|
||||
<h4 id="org74e47d7"><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-org091d461" class="outline-4">
|
||||
<h4 id="org091d461"><span class="section-number-4">6.1.4</span> Performance…</h4>
|
||||
<div id="outline-container-org3d34133" class="outline-4">
|
||||
<h4 id="org3d34133"><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-org2a7ab8b" class="outline-2">
|
||||
<h2 id="org2a7ab8b"><span class="section-number-2">7</span> Helper Functions</h2>
|
||||
<div id="outline-container-org75499cc" class="outline-2">
|
||||
<h2 id="org75499cc"><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-orgf8ff960" class="outline-3">
|
||||
<h3 id="orgf8ff960"><span class="section-number-3">7.1</span> <code>qmckl_slagel_splitting</code></h3>
|
||||
<div id="outline-container-org62a3597" class="outline-3">
|
||||
<h3 id="org62a3597"><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="org652493d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org2806bb6" 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-orgc83f5ca" class="outline-4">
|
||||
<h4 id="orgc83f5ca"><span class="section-number-4">7.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-orga4d5da9" class="outline-4">
|
||||
<h4 id="orga4d5da9"><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-org5f766f1" class="outline-4">
|
||||
<h4 id="org5f766f1"><span class="section-number-4">7.1.2</span> C header</h4>
|
||||
<div id="outline-container-orga2f9e5b" class="outline-4">
|
||||
<h4 id="orga2f9e5b"><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-orgad41140" class="outline-4">
|
||||
<h4 id="orgad41140"><span class="section-number-4">7.1.3</span> C source</h4>
|
||||
<div id="outline-container-org2322d7b" class="outline-4">
|
||||
<h4 id="org2322d7b"><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-orgb648f36" class="outline-4">
|
||||
<h4 id="orgb648f36"><span class="section-number-4">7.1.4</span> Performance</h4>
|
||||
<div id="outline-container-org0b12d35" class="outline-4">
|
||||
<h4 id="org0b12d35"><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-orgf19b59b" class="outline-2">
|
||||
<h2 id="orgf19b59b"><span class="section-number-2">8</span> End of files</h2>
|
||||
<div id="outline-container-org87cc3d2" class="outline-2">
|
||||
<h2 id="org87cc3d2"><span class="section-number-2">8</span> End of files</h2>
|
||||
<div class="outline-text-2" id="text-8">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"> <span style="color: #0000ff;">assert</span> (<span style="color: #228b22;">qmckl_context_destroy</span>(<span style="color: #a0522d;">context</span>) == QMCKL_SUCCESS);
|
||||
@ -1848,7 +1848,7 @@ with Sherman-Morrison and update splitting. Please look at the performance recco
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-02-11 Fri 15:00</p>
|
||||
<p class="date">Created: 2022-02-11 Fri 15:09</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2022-02-11 Fri 15:00 -->
|
||||
<!-- 2022-02-11 Fri 15:09 -->
|
||||
<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="#org27c5de7">1. CHBrClF</a>
|
||||
<li><a href="#org8ec2f93">1. CHBrClF</a>
|
||||
<ul>
|
||||
<li><a href="#org045e6b5">1.1. XYZ coordinates</a></li>
|
||||
<li><a href="#org4de05d8">1.2. Atomic basis set</a></li>
|
||||
<li><a href="#org353f036">1.3. Molecular orbitals</a></li>
|
||||
<li><a href="#org4a0d1a2">1.4. Electron coordinates</a></li>
|
||||
<li><a href="#org75a5298">1.1. XYZ coordinates</a></li>
|
||||
<li><a href="#org1e77065">1.2. Atomic basis set</a></li>
|
||||
<li><a href="#orgb7e8c8f">1.3. Molecular orbitals</a></li>
|
||||
<li><a href="#org61f3404">1.4. Electron coordinates</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgfb457c7">2. N2</a>
|
||||
<li><a href="#orgb418b9f">2. N2</a>
|
||||
<ul>
|
||||
<li><a href="#orge43bd9b">2.1. XYZ coordinates</a></li>
|
||||
<li><a href="#org3a2dd54">2.2. Electron coordinates</a></li>
|
||||
<li><a href="#org1e4ff26">2.3. Jastrow related data</a></li>
|
||||
<li><a href="#orgf007ba7">2.1. XYZ coordinates</a></li>
|
||||
<li><a href="#orgb5c9889">2.2. Electron coordinates</a></li>
|
||||
<li><a href="#org6b8e8aa">2.3. Jastrow related data</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org27c5de7" class="outline-2">
|
||||
<h2 id="org27c5de7"><span class="section-number-2">1</span> CHBrClF</h2>
|
||||
<div id="outline-container-org8ec2f93" class="outline-2">
|
||||
<h2 id="org8ec2f93"><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-org045e6b5" class="outline-3">
|
||||
<h3 id="org045e6b5"><span class="section-number-3">1.1</span> XYZ coordinates</h3>
|
||||
<div id="outline-container-org75a5298" class="outline-3">
|
||||
<h3 id="org75a5298"><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-org4de05d8" class="outline-3">
|
||||
<h3 id="org4de05d8"><span class="section-number-3">1.2</span> Atomic basis set</h3>
|
||||
<div id="outline-container-org1e77065" class="outline-3">
|
||||
<h3 id="org1e77065"><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-org353f036" class="outline-3">
|
||||
<h3 id="org353f036"><span class="section-number-3">1.3</span> Molecular orbitals</h3>
|
||||
<div id="outline-container-orgb7e8c8f" class="outline-3">
|
||||
<h3 id="orgb7e8c8f"><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-org4a0d1a2" class="outline-3">
|
||||
<h3 id="org4a0d1a2"><span class="section-number-3">1.4</span> Electron coordinates</h3>
|
||||
<div id="outline-container-org61f3404" class="outline-3">
|
||||
<h3 id="org61f3404"><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-orgfb457c7" class="outline-2">
|
||||
<h2 id="orgfb457c7"><span class="section-number-2">2</span> N2</h2>
|
||||
<div id="outline-container-orgb418b9f" class="outline-2">
|
||||
<h2 id="orgb418b9f"><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-orge43bd9b" class="outline-3">
|
||||
<h3 id="orge43bd9b"><span class="section-number-3">2.1</span> XYZ coordinates</h3>
|
||||
<div id="outline-container-orgf007ba7" class="outline-3">
|
||||
<h3 id="orgf007ba7"><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-org3a2dd54" class="outline-3">
|
||||
<h3 id="org3a2dd54"><span class="section-number-3">2.2</span> Electron coordinates</h3>
|
||||
<div id="outline-container-orgb5c9889" class="outline-3">
|
||||
<h3 id="orgb5c9889"><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-org1e4ff26" class="outline-3">
|
||||
<h3 id="org1e4ff26"><span class="section-number-3">2.3</span> Jastrow related data</h3>
|
||||
<div id="outline-container-org6b8e8aa" class="outline-3">
|
||||
<h3 id="org6b8e8aa"><span class="section-number-3">2.3</span> Jastrow related data</h3>
|
||||
<div class="outline-text-3" id="text-2-3">
|
||||
<p>
|
||||
This test is mainly for the Jastrow factor and was supplied by
|
||||
@ -60573,7 +60573,7 @@ Ramon Panades Baruetta.
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="date">Created: 2022-02-11 Fri 15:00</p>
|
||||
<p class="date">Created: 2022-02-11 Fri 15:09</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2022-02-11 Fri 14:59 -->
|
||||
<!-- 2022-02-11 Fri 15:08 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>TREXIO 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="#org8c8c627">1. Local functions</a>
|
||||
<li><a href="#org18acbd1">1. Local functions</a>
|
||||
<ul>
|
||||
<li><a href="#org0ff8881">1.1. Open file</a></li>
|
||||
<li><a href="#orgf45254e">1.2. Electron</a></li>
|
||||
<li><a href="#org548c82c">1.3. Nucleus</a>
|
||||
<li><a href="#org4b225e1">1.1. Open file</a></li>
|
||||
<li><a href="#org114bcd7">1.2. Electron</a></li>
|
||||
<li><a href="#org3e73dcd">1.3. Nucleus</a>
|
||||
<ul>
|
||||
<li><a href="#org05dddd6">1.3.1. Number of nuclei</a></li>
|
||||
<li><a href="#orgf21084a">1.3.2. Nuclear charges</a></li>
|
||||
<li><a href="#org4265d43">1.3.3. Nuclear coordinates</a></li>
|
||||
<li><a href="#org2ca7042">1.3.1. Number of nuclei</a></li>
|
||||
<li><a href="#org082d3fb">1.3.2. Nuclear charges</a></li>
|
||||
<li><a href="#org5fd9d48">1.3.3. Nuclear coordinates</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org4abd891">1.4. Basis set and AOs</a>
|
||||
<li><a href="#orgebff833">1.4. Basis set and AOs</a>
|
||||
<ul>
|
||||
<li><a href="#org7f7bfab">1.4.1. Basis set type</a></li>
|
||||
<li><a href="#orgb4b1373">1.4.2. Number of shells</a></li>
|
||||
<li><a href="#org763a1bb">1.4.3. Number of primitives</a></li>
|
||||
<li><a href="#org03fbfd0">1.4.4. Number of atomic orbitals</a></li>
|
||||
<li><a href="#org5699087">1.4.5. Nucleus<sub>index</sub> array</a></li>
|
||||
<li><a href="#org64b523d">1.4.6. Number of shells per nucleus</a></li>
|
||||
<li><a href="#org6352546">1.4.7. Angular momentum</a></li>
|
||||
<li><a href="#org31e4cb0">1.4.8. Number of primitives per shell</a></li>
|
||||
<li><a href="#orgdb72a47">1.4.9. Indices of the primitives</a></li>
|
||||
<li><a href="#orgb2a2b57">1.4.10. Normalization of the shells</a></li>
|
||||
<li><a href="#orgad93140">1.4.11. Exponents</a></li>
|
||||
<li><a href="#org5b1cd4a">1.4.12. Coefficients</a></li>
|
||||
<li><a href="#org3049f06">1.4.13. Normalization of the primitivies</a></li>
|
||||
<li><a href="#org877ec3c">1.4.14. AO Normalization</a></li>
|
||||
<li><a href="#org5850008">1.4.1. Basis set type</a></li>
|
||||
<li><a href="#org648fd87">1.4.2. Number of shells</a></li>
|
||||
<li><a href="#org3126dbb">1.4.3. Number of primitives</a></li>
|
||||
<li><a href="#org661bf02">1.4.4. Number of atomic orbitals</a></li>
|
||||
<li><a href="#org3b14710">1.4.5. Nucleus<sub>index</sub> array</a></li>
|
||||
<li><a href="#orgb3a757f">1.4.6. Number of shells per nucleus</a></li>
|
||||
<li><a href="#org0dbe6a9">1.4.7. Angular momentum</a></li>
|
||||
<li><a href="#orga245801">1.4.8. Number of primitives per shell</a></li>
|
||||
<li><a href="#org6dc8dda">1.4.9. Indices of the primitives</a></li>
|
||||
<li><a href="#org077bef0">1.4.10. Normalization of the shells</a></li>
|
||||
<li><a href="#orgcd9eed8">1.4.11. Exponents</a></li>
|
||||
<li><a href="#org98e3e61">1.4.12. Coefficients</a></li>
|
||||
<li><a href="#org8c01944">1.4.13. Normalization of the primitivies</a></li>
|
||||
<li><a href="#org88f7a73">1.4.14. AO Normalization</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org5b08913">1.5. Molecular orbitals</a>
|
||||
<li><a href="#orgc53949a">1.5. Molecular orbitals</a>
|
||||
<ul>
|
||||
<li><a href="#orgbd7961d">1.5.1. Number of MOs</a></li>
|
||||
<li><a href="#org9f1f863">1.5.2. MO coefficients</a></li>
|
||||
<li><a href="#org5435f01">1.5.1. Number of MOs</a></li>
|
||||
<li><a href="#org53ae684">1.5.2. MO coefficients</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgaeb5731">1.6. <span class="todo TODO">TODO</span> ECP</a></li>
|
||||
<li><a href="#orgaa024c4">1.6. <span class="todo TODO">TODO</span> ECP</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org5be15a8">2. Read everything</a></li>
|
||||
<li><a href="#org933214c">3. Test</a>
|
||||
<li><a href="#org7353f4b">2. Read everything</a></li>
|
||||
<li><a href="#org2feaea2">3. Test</a>
|
||||
<ul>
|
||||
<li>
|
||||
<ul>
|
||||
<li><a href="#orgb8d1978">3.0.1. Electrons</a></li>
|
||||
<li><a href="#org024e57f">3.0.2. Nuclei</a></li>
|
||||
<li><a href="#org432826d">3.0.3. Atomic basis</a></li>
|
||||
<li><a href="#orgc96d700">3.0.4. MO Basis</a></li>
|
||||
<li><a href="#org412fa26">3.0.1. Electrons</a></li>
|
||||
<li><a href="#orgff0ab77">3.0.2. Nuclei</a></li>
|
||||
<li><a href="#org4b3fd55">3.0.3. Atomic basis</a></li>
|
||||
<li><a href="#org19f79ed">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-org8c8c627" class="outline-2">
|
||||
<h2 id="org8c8c627"><span class="section-number-2">1</span> Local functions</h2>
|
||||
<div id="outline-container-org18acbd1" class="outline-2">
|
||||
<h2 id="org18acbd1"><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-org0ff8881" class="outline-3">
|
||||
<h3 id="org0ff8881"><span class="section-number-3">1.1</span> Open file</h3>
|
||||
<div id="outline-container-org4b225e1" class="outline-3">
|
||||
<h3 id="org4b225e1"><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-orgf45254e" class="outline-3">
|
||||
<h3 id="orgf45254e"><span class="section-number-3">1.2</span> Electron</h3>
|
||||
<div id="outline-container-org114bcd7" class="outline-3">
|
||||
<h3 id="org114bcd7"><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-org548c82c" class="outline-3">
|
||||
<h3 id="org548c82c"><span class="section-number-3">1.3</span> Nucleus</h3>
|
||||
<div id="outline-container-org3e73dcd" class="outline-3">
|
||||
<h3 id="org3e73dcd"><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-org05dddd6" class="outline-4">
|
||||
<h4 id="org05dddd6"><span class="section-number-4">1.3.1</span> Number of nuclei</h4>
|
||||
<div id="outline-container-org2ca7042" class="outline-4">
|
||||
<h4 id="org2ca7042"><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-orgf21084a" class="outline-4">
|
||||
<h4 id="orgf21084a"><span class="section-number-4">1.3.2</span> Nuclear charges</h4>
|
||||
<div id="outline-container-org082d3fb" class="outline-4">
|
||||
<h4 id="org082d3fb"><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-org4265d43" class="outline-4">
|
||||
<h4 id="org4265d43"><span class="section-number-4">1.3.3</span> Nuclear coordinates</h4>
|
||||
<div id="outline-container-org5fd9d48" class="outline-4">
|
||||
<h4 id="org5fd9d48"><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-org4abd891" class="outline-3">
|
||||
<h3 id="org4abd891"><span class="section-number-3">1.4</span> Basis set and AOs</h3>
|
||||
<div id="outline-container-orgebff833" class="outline-3">
|
||||
<h3 id="orgebff833"><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-org7f7bfab" class="outline-4">
|
||||
<h4 id="org7f7bfab"><span class="section-number-4">1.4.1</span> Basis set type</h4>
|
||||
<div id="outline-container-org5850008" class="outline-4">
|
||||
<h4 id="org5850008"><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-orgb4b1373" class="outline-4">
|
||||
<h4 id="orgb4b1373"><span class="section-number-4">1.4.2</span> Number of shells</h4>
|
||||
<div id="outline-container-org648fd87" class="outline-4">
|
||||
<h4 id="org648fd87"><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-org763a1bb" class="outline-4">
|
||||
<h4 id="org763a1bb"><span class="section-number-4">1.4.3</span> Number of primitives</h4>
|
||||
<div id="outline-container-org3126dbb" class="outline-4">
|
||||
<h4 id="org3126dbb"><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-org03fbfd0" class="outline-4">
|
||||
<h4 id="org03fbfd0"><span class="section-number-4">1.4.4</span> Number of atomic orbitals</h4>
|
||||
<div id="outline-container-org661bf02" class="outline-4">
|
||||
<h4 id="org661bf02"><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-org5699087" class="outline-4">
|
||||
<h4 id="org5699087"><span class="section-number-4">1.4.5</span> Nucleus<sub>index</sub> array</h4>
|
||||
<div id="outline-container-org3b14710" class="outline-4">
|
||||
<h4 id="org3b14710"><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">{
|
||||
@ -834,8 +834,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org64b523d" class="outline-4">
|
||||
<h4 id="org64b523d"><span class="section-number-4">1.4.6</span> Number of shells per nucleus</h4>
|
||||
<div id="outline-container-orgb3a757f" class="outline-4">
|
||||
<h4 id="orgb3a757f"><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">{
|
||||
@ -920,8 +920,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6352546" class="outline-4">
|
||||
<h4 id="org6352546"><span class="section-number-4">1.4.7</span> Angular momentum</h4>
|
||||
<div id="outline-container-org0dbe6a9" class="outline-4">
|
||||
<h4 id="org0dbe6a9"><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">{
|
||||
@ -966,8 +966,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org31e4cb0" class="outline-4">
|
||||
<h4 id="org31e4cb0"><span class="section-number-4">1.4.8</span> Number of primitives per shell</h4>
|
||||
<div id="outline-container-orga245801" class="outline-4">
|
||||
<h4 id="orga245801"><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">{
|
||||
@ -1051,8 +1051,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgdb72a47" class="outline-4">
|
||||
<h4 id="orgdb72a47"><span class="section-number-4">1.4.9</span> Indices of the primitives</h4>
|
||||
<div id="outline-container-org6dc8dda" class="outline-4">
|
||||
<h4 id="org6dc8dda"><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">{
|
||||
@ -1132,8 +1132,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb2a2b57" class="outline-4">
|
||||
<h4 id="orgb2a2b57"><span class="section-number-4">1.4.10</span> Normalization of the shells</h4>
|
||||
<div id="outline-container-org077bef0" class="outline-4">
|
||||
<h4 id="org077bef0"><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">{
|
||||
@ -1178,8 +1178,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgad93140" class="outline-4">
|
||||
<h4 id="orgad93140"><span class="section-number-4">1.4.11</span> Exponents</h4>
|
||||
<div id="outline-container-orgcd9eed8" class="outline-4">
|
||||
<h4 id="orgcd9eed8"><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">{
|
||||
@ -1224,8 +1224,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5b1cd4a" class="outline-4">
|
||||
<h4 id="org5b1cd4a"><span class="section-number-4">1.4.12</span> Coefficients</h4>
|
||||
<div id="outline-container-org98e3e61" class="outline-4">
|
||||
<h4 id="org98e3e61"><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">{
|
||||
@ -1270,8 +1270,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3049f06" class="outline-4">
|
||||
<h4 id="org3049f06"><span class="section-number-4">1.4.13</span> Normalization of the primitivies</h4>
|
||||
<div id="outline-container-org8c01944" class="outline-4">
|
||||
<h4 id="org8c01944"><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">{
|
||||
@ -1316,8 +1316,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org877ec3c" class="outline-4">
|
||||
<h4 id="org877ec3c"><span class="section-number-4">1.4.14</span> AO Normalization</h4>
|
||||
<div id="outline-container-org88f7a73" class="outline-4">
|
||||
<h4 id="org88f7a73"><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">{
|
||||
@ -1372,8 +1372,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org5b08913" class="outline-3">
|
||||
<h3 id="org5b08913"><span class="section-number-3">1.5</span> Molecular orbitals</h3>
|
||||
<div id="outline-container-orgc53949a" class="outline-3">
|
||||
<h3 id="orgc53949a"><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.
|
||||
@ -1399,8 +1399,8 @@ In this section we read the MO coefficients.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbd7961d" class="outline-4">
|
||||
<h4 id="orgbd7961d"><span class="section-number-4">1.5.1</span> Number of MOs</h4>
|
||||
<div id="outline-container-org5435f01" class="outline-4">
|
||||
<h4 id="org5435f01"><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;
|
||||
@ -1423,8 +1423,8 @@ rc = qmckl_set_mo_basis_mo_num(context, mo_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9f1f863" class="outline-4">
|
||||
<h4 id="org9f1f863"><span class="section-number-4">1.5.2</span> MO coefficients</h4>
|
||||
<div id="outline-container-org53ae684" class="outline-4">
|
||||
<h4 id="org53ae684"><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">{
|
||||
@ -1473,12 +1473,12 @@ rc = qmckl_set_mo_basis_mo_num(context, mo_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgaeb5731" class="outline-3">
|
||||
<h3 id="orgaeb5731"><span class="section-number-3">1.6</span> <span class="todo TODO">TODO</span> ECP</h3>
|
||||
<div id="outline-container-orgaa024c4" class="outline-3">
|
||||
<h3 id="orgaa024c4"><span class="section-number-3">1.6</span> <span class="todo TODO">TODO</span> ECP</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org5be15a8" class="outline-2">
|
||||
<h2 id="org5be15a8"><span class="section-number-2">2</span> Read everything</h2>
|
||||
<div id="outline-container-org7353f4b" class="outline-2">
|
||||
<h2 id="org7353f4b"><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> <span style="color: #0000ff;">qmckl_trexio_read</span>(<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #a020f0;">const</span> <span style="color: #228b22;">char</span>* <span style="color: #a0522d;">file_name</span>);
|
||||
@ -1559,8 +1559,8 @@ rc = qmckl_set_mo_basis_mo_num(context, mo_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org933214c" class="outline-2">
|
||||
<h2 id="org933214c"><span class="section-number-2">3</span> Test</h2>
|
||||
<div id="outline-container-org2feaea2" class="outline-2">
|
||||
<h2 id="org2feaea2"><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
|
||||
@ -1594,8 +1594,8 @@ rc = qmckl_trexio_read(context, fname);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb8d1978" class="outline-4">
|
||||
<h4 id="orgb8d1978"><span class="section-number-4">3.0.1</span> Electrons</h4>
|
||||
<div id="outline-container-org412fa26" class="outline-4">
|
||||
<h4 id="org412fa26"><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>);
|
||||
@ -1613,8 +1613,8 @@ rc = qmckl_get_electron_down_num(context, &dn_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org024e57f" class="outline-4">
|
||||
<h4 id="org024e57f"><span class="section-number-4">3.0.2</span> Nuclei</h4>
|
||||
<div id="outline-container-orgff0ab77" class="outline-4">
|
||||
<h4 id="orgff0ab77"><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>);
|
||||
@ -1654,8 +1654,8 @@ coord = <span style="color: #008b8b;">NULL</span>;
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org432826d" class="outline-4">
|
||||
<h4 id="org432826d"><span class="section-number-4">3.0.3</span> Atomic basis</h4>
|
||||
<div id="outline-container-org4b3fd55" class="outline-4">
|
||||
<h4 id="org4b3fd55"><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>);
|
||||
@ -1763,8 +1763,8 @@ prim_factor = <span style="color: #008b8b;">NULL</span>;
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc96d700" class="outline-4">
|
||||
<h4 id="orgc96d700"><span class="section-number-4">3.0.4</span> MO Basis</h4>
|
||||
<div id="outline-container-org19f79ed" class="outline-4">
|
||||
<h4 id="org19f79ed"><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>);
|
||||
@ -1794,7 +1794,7 @@ charge = <span style="color: #008b8b;">NULL</span>;
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-02-11 Fri 14:59</p>
|
||||
<p class="date">Created: 2022-02-11 Fri 15:08</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2022-02-11 Fri 15:00 -->
|
||||
<!-- 2022-02-11 Fri 15:09 -->
|
||||
<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="#orga6b1b46">1. Verificarlo probes</a>
|
||||
<li><a href="#org882d7f4">1. Verificarlo probes</a>
|
||||
<ul>
|
||||
<li><a href="#org785eea0">1.1. Automatically initialize the <code>vfc_probe</code> object if <code>VFC_CI</code> is defined</a></li>
|
||||
<li><a href="#orgc884bf0">1.2. Standard probe, without check</a></li>
|
||||
<li><a href="#org7d44df7">1.3. Probe with absolute check</a></li>
|
||||
<li><a href="#orgb5449b1">1.4. Probe with relative check</a></li>
|
||||
<li><a href="#org34ef9f3">1.5. Automatically delete and dump the vfc<sub>probe</sub> object if <code>VFC_CI</code> is defined</a></li>
|
||||
<li><a href="#org2a1b65d">1.1. Automatically initialize the <code>vfc_probe</code> object if <code>VFC_CI</code> is defined</a></li>
|
||||
<li><a href="#orgedafe40">1.2. Standard probe, without check</a></li>
|
||||
<li><a href="#org113186c">1.3. Probe with absolute check</a></li>
|
||||
<li><a href="#org2c35475">1.4. Probe with relative check</a></li>
|
||||
<li><a href="#org57a8380">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="#org4b589cd">2. Fortran wrappers</a></li>
|
||||
<li><a href="#orgc067064">2. Fortran wrappers</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga6b1b46" class="outline-2">
|
||||
<h2 id="orga6b1b46"><span class="section-number-2">1</span> Verificarlo probes</h2>
|
||||
<div id="outline-container-org882d7f4" class="outline-2">
|
||||
<h2 id="org882d7f4"><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-org785eea0" class="outline-3">
|
||||
<h3 id="org785eea0"><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-org2a1b65d" class="outline-3">
|
||||
<h3 id="org2a1b65d"><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-orgc884bf0" class="outline-3">
|
||||
<h3 id="orgc884bf0"><span class="section-number-3">1.2</span> Standard probe, without check</h3>
|
||||
<div id="outline-container-orgedafe40" class="outline-3">
|
||||
<h3 id="orgedafe40"><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-org7d44df7" class="outline-3">
|
||||
<h3 id="org7d44df7"><span class="section-number-3">1.3</span> Probe with absolute check</h3>
|
||||
<div id="outline-container-org113186c" class="outline-3">
|
||||
<h3 id="org113186c"><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-orgb5449b1" class="outline-3">
|
||||
<h3 id="orgb5449b1"><span class="section-number-3">1.4</span> Probe with relative check</h3>
|
||||
<div id="outline-container-org2c35475" class="outline-3">
|
||||
<h3 id="org2c35475"><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-org34ef9f3" class="outline-3">
|
||||
<h3 id="org34ef9f3"><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-org57a8380" class="outline-3">
|
||||
<h3 id="org57a8380"><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-org4b589cd" class="outline-2">
|
||||
<h2 id="org4b589cd"><span class="section-number-2">2</span> Fortran wrappers</h2>
|
||||
<div id="outline-container-orgc067064" class="outline-2">
|
||||
<h2 id="orgc067064"><span class="section-number-2">2</span> Fortran wrappers</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">bool</span> <span style="color: #0000ff;">qmckl_probe_f</span>(
|
||||
@ -663,7 +663,7 @@ and accuracy
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-02-11 Fri 15:00</p>
|
||||
<p class="date">Created: 2022-02-11 Fri 15:09</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
Loading…
Reference in New Issue
Block a user