mirror of
https://github.com/TREX-CoE/qmckl.git
synced 2025-04-28 19:34:46 +02:00
Deploying to gh-pages from @ TREX-CoE/qmckl@0c9a50a681 🚀
This commit is contained in:
parent
6ff9e644ec
commit
94c650d320
@ -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-01-23 Sun 18:08 -->
|
||||
<!-- 2022-01-26 Wed 16: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-01-23 Sun 18:08</p>
|
||||
<p class="date">Created: 2022-01-26 Wed 16: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-01-23 Sun 18:08 -->
|
||||
<!-- 2022-01-26 Wed 16:09 -->
|
||||
<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="#org2508f40">1. Installing QMCkl</a>
|
||||
<li><a href="#org14da646">1. Installing QMCkl</a>
|
||||
<ul>
|
||||
<li><a href="#org051c913">1.1. Installing from the released tarball (for end users)</a></li>
|
||||
<li><a href="#org47188c9">1.2. Installing from the source repository (for developers)</a></li>
|
||||
<li><a href="#orgaaf979e">1.1. Installing from the released tarball (for end users)</a></li>
|
||||
<li><a href="#org53d2db4">1.2. Installing from the source repository (for developers)</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org084014e">2. Using QMCkl</a></li>
|
||||
<li><a href="#orgc19885d">3. Developing in QMCkl</a>
|
||||
<li><a href="#org7398700">2. Using QMCkl</a></li>
|
||||
<li><a href="#org36f0219">3. Developing in QMCkl</a>
|
||||
<ul>
|
||||
<li><a href="#org8b02912">3.1. Literate programming</a></li>
|
||||
<li><a href="#orge9f9a24">3.2. Source code editing</a></li>
|
||||
<li><a href="#org0be94e5">3.3. Choice of the programming language</a></li>
|
||||
<li><a href="#org9384a08">3.4. Coding rules</a></li>
|
||||
<li><a href="#orgcb3ceeb">3.5. Design of the library</a></li>
|
||||
<li><a href="#org692c4af">3.6. Naming conventions</a></li>
|
||||
<li><a href="#org82b8b22">3.7. Application programming interface</a></li>
|
||||
<li><a href="#orgefb72c3">3.8. Global state</a></li>
|
||||
<li><a href="#org3211360">3.9. Headers</a></li>
|
||||
<li><a href="#orge674d5f">3.10. Low-level functions</a></li>
|
||||
<li><a href="#org614d0af">3.11. High-level functions</a></li>
|
||||
<li><a href="#orgfbb428d">3.12. Numerical precision</a></li>
|
||||
<li><a href="#org67ad661">3.13. Algorithms</a></li>
|
||||
<li><a href="#org2e1e2ec">3.1. Literate programming</a></li>
|
||||
<li><a href="#org1432bc9">3.2. Source code editing</a></li>
|
||||
<li><a href="#org34b8fbc">3.3. Choice of the programming language</a></li>
|
||||
<li><a href="#org3f0a4cd">3.4. Coding rules</a></li>
|
||||
<li><a href="#org8a51cef">3.5. Design of the library</a></li>
|
||||
<li><a href="#orga033e37">3.6. Naming conventions</a></li>
|
||||
<li><a href="#org6662e44">3.7. Application programming interface</a></li>
|
||||
<li><a href="#org62636b6">3.8. Global state</a></li>
|
||||
<li><a href="#org2ec1484">3.9. Headers</a></li>
|
||||
<li><a href="#orgc89a19b">3.10. Low-level functions</a></li>
|
||||
<li><a href="#orgaef876b">3.11. High-level functions</a></li>
|
||||
<li><a href="#org30e73f9">3.12. Numerical precision</a></li>
|
||||
<li><a href="#orge75d455">3.13. Algorithms</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2508f40" class="outline-2">
|
||||
<h2 id="org2508f40"><span class="section-number-2">1</span> Installing QMCkl</h2>
|
||||
<div id="outline-container-org14da646" class="outline-2">
|
||||
<h2 id="org14da646"><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-org051c913" class="outline-3">
|
||||
<h3 id="org051c913"><span class="section-number-3">1.1</span> Installing from the released tarball (for end users)</h3>
|
||||
<div id="outline-container-orgaaf979e" class="outline-3">
|
||||
<h3 id="orgaaf979e"><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-org47188c9" class="outline-3">
|
||||
<h3 id="org47188c9"><span class="section-number-3">1.2</span> Installing from the source repository (for developers)</h3>
|
||||
<div id="outline-container-org53d2db4" class="outline-3">
|
||||
<h3 id="org53d2db4"><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-org084014e" class="outline-2">
|
||||
<h2 id="org084014e"><span class="section-number-2">2</span> Using QMCkl</h2>
|
||||
<div id="outline-container-org7398700" class="outline-2">
|
||||
<h2 id="org7398700"><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-orgc19885d" class="outline-2">
|
||||
<h2 id="orgc19885d"><span class="section-number-2">3</span> Developing in QMCkl</h2>
|
||||
<div id="outline-container-org36f0219" class="outline-2">
|
||||
<h2 id="org36f0219"><span class="section-number-2">3</span> Developing in QMCkl</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
</div>
|
||||
<div id="outline-container-org8b02912" class="outline-3">
|
||||
<h3 id="org8b02912"><span class="section-number-3">3.1</span> Literate programming</h3>
|
||||
<div id="outline-container-org2e1e2ec" class="outline-3">
|
||||
<h3 id="org2e1e2ec"><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-orge9f9a24" class="outline-3">
|
||||
<h3 id="orge9f9a24"><span class="section-number-3">3.2</span> Source code editing</h3>
|
||||
<div id="outline-container-org1432bc9" class="outline-3">
|
||||
<h3 id="org1432bc9"><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-org0be94e5" class="outline-3">
|
||||
<h3 id="org0be94e5"><span class="section-number-3">3.3</span> Choice of the programming language</h3>
|
||||
<div id="outline-container-org34b8fbc" class="outline-3">
|
||||
<h3 id="org34b8fbc"><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-org9384a08" class="outline-3">
|
||||
<h3 id="org9384a08"><span class="section-number-3">3.4</span> Coding rules</h3>
|
||||
<div id="outline-container-org3f0a4cd" class="outline-3">
|
||||
<h3 id="org3f0a4cd"><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-orgcb3ceeb" class="outline-3">
|
||||
<h3 id="orgcb3ceeb"><span class="section-number-3">3.5</span> Design of the library</h3>
|
||||
<div id="outline-container-org8a51cef" class="outline-3">
|
||||
<h3 id="org8a51cef"><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-org692c4af" class="outline-3">
|
||||
<h3 id="org692c4af"><span class="section-number-3">3.6</span> Naming conventions</h3>
|
||||
<div id="outline-container-orga033e37" class="outline-3">
|
||||
<h3 id="orga033e37"><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-org82b8b22" class="outline-3">
|
||||
<h3 id="org82b8b22"><span class="section-number-3">3.7</span> Application programming interface</h3>
|
||||
<div id="outline-container-org6662e44" class="outline-3">
|
||||
<h3 id="org6662e44"><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-orgefb72c3" class="outline-3">
|
||||
<h3 id="orgefb72c3"><span class="section-number-3">3.8</span> Global state</h3>
|
||||
<div id="outline-container-org62636b6" class="outline-3">
|
||||
<h3 id="org62636b6"><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="org63ed050">=context=</a> contains the global
|
||||
<code>qmckl_context_create</code> function. The <a id="orgfc6e1e4">=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-org3211360" class="outline-3">
|
||||
<h3 id="org3211360"><span class="section-number-3">3.9</span> Headers</h3>
|
||||
<div id="outline-container-org2ec1484" class="outline-3">
|
||||
<h3 id="org2ec1484"><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-orge674d5f" class="outline-3">
|
||||
<h3 id="orge674d5f"><span class="section-number-3">3.10</span> Low-level functions</h3>
|
||||
<div id="outline-container-orgc89a19b" class="outline-3">
|
||||
<h3 id="orgc89a19b"><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="#org63ed050"><code>context</code></a>. They are not allowed to allocate/deallocate memory, and
|
||||
<a href="#orgfc6e1e4"><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-org614d0af" class="outline-3">
|
||||
<h3 id="org614d0af"><span class="section-number-3">3.11</span> High-level functions</h3>
|
||||
<div id="outline-container-orgaef876b" class="outline-3">
|
||||
<h3 id="orgaef876b"><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-orgfbb428d" class="outline-3">
|
||||
<h3 id="orgfbb428d"><span class="section-number-3">3.12</span> Numerical precision</h3>
|
||||
<div id="outline-container-org30e73f9" class="outline-3">
|
||||
<h3 id="org30e73f9"><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="#org63ed050"><code>context</code></a> variable.
|
||||
specified in the <a href="#orgfc6e1e4"><code>context</code></a> variable.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
@ -896,8 +896,8 @@ following points :
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org67ad661" class="outline-3">
|
||||
<h3 id="org67ad661"><span class="section-number-3">3.13</span> Algorithms</h3>
|
||||
<div id="outline-container-orge75d455" class="outline-3">
|
||||
<h3 id="orge75d455"><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-01-23 Sun 18:08</p>
|
||||
<p class="date">Created: 2022-01-26 Wed 16:09</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
360
qmckl_ao.html
360
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-01-23 Sun 18:08 -->
|
||||
<!-- 2022-01-26 Wed 16: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,53 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org59130a6">1. Introduction</a></li>
|
||||
<li><a href="#org666de1a">2. Context</a>
|
||||
<li><a href="#orgf45fe02">1. Introduction</a></li>
|
||||
<li><a href="#org90ab490">2. Context</a>
|
||||
<ul>
|
||||
<li><a href="#orgea43ca5">2.1. Constant data</a>
|
||||
<li><a href="#org7c87a15">2.1. Constant data</a>
|
||||
<ul>
|
||||
<li><a href="#orga05be7f">2.1.1. Initialization functions</a>
|
||||
<li><a href="#org147c76a">2.1.1. Initialization functions</a>
|
||||
<ul>
|
||||
<li><a href="#org4a6cd6a">2.1.1.1. C interface</a></li>
|
||||
<li><a href="#org3827967">2.1.1.2. Fortran interface</a></li>
|
||||
<li><a href="#org2212e6f">2.1.1.1. C interface</a></li>
|
||||
<li><a href="#org891d5bf">2.1.1.2. Fortran interface</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgf7cea2d">2.1.2. Access functions</a>
|
||||
<li><a href="#org411bf0e">2.1.2. Access functions</a>
|
||||
<ul>
|
||||
<li><a href="#orgb97874b">2.1.2.1. C interface</a></li>
|
||||
<li><a href="#orgb27485c">2.1.2.2. Fortran interface</a></li>
|
||||
<li><a href="#orgb1228ae">2.1.2.1. C interface</a></li>
|
||||
<li><a href="#org1c5fba1">2.1.2.2. Fortran interface</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org1b83450">2.2. Computed data</a>
|
||||
<li><a href="#orged48c7f">2.2. Computed data</a>
|
||||
<ul>
|
||||
<li><a href="#orgb568031">2.2.1. After initialization</a></li>
|
||||
<li><a href="#org15cac2e">2.2.2. Access functions</a></li>
|
||||
<li><a href="#org6a01d09">2.2.1. After initialization</a></li>
|
||||
<li><a href="#orgd293d73">2.2.2. Access functions</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org19b0d0e">3. Radial part</a>
|
||||
<li><a href="#org0f05f70">3. Radial part</a>
|
||||
<ul>
|
||||
<li><a href="#org16037c5">3.1. General functions for Gaussian basis functions</a></li>
|
||||
<li><a href="#org18199ca">3.2. Computation of primitives</a></li>
|
||||
<li><a href="#orgf6f55bf">3.3. Computation of shells</a></li>
|
||||
<li><a href="#org8032f44">3.1. General functions for Gaussian basis functions</a></li>
|
||||
<li><a href="#org2479559">3.2. Computation of primitives</a></li>
|
||||
<li><a href="#org372c0fb">3.3. Computation of shells</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org9c17d3a">4. Polynomial part</a>
|
||||
<li><a href="#org3cd947f">4. Polynomial part</a>
|
||||
<ul>
|
||||
<li><a href="#org1607c82">4.1. General functions for Powers of \(x-X_i\)</a></li>
|
||||
<li><a href="#org53075c5">4.2. General functions for Value, Gradient and Laplacian of a polynomial</a></li>
|
||||
<li><a href="#org882c385">4.1. General functions for Powers of \(x-X_i\)</a></li>
|
||||
<li><a href="#orgaf90e46">4.2. General functions for Value, Gradient and Laplacian of a polynomial</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org121c257">5. Combining radial and polynomial parts</a></li>
|
||||
<li><a href="#orgc734560">5. Combining radial and polynomial parts</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org59130a6" class="outline-2">
|
||||
<h2 id="org59130a6"><span class="section-number-2">1</span> Introduction</h2>
|
||||
<div id="outline-container-orgf45fe02" class="outline-2">
|
||||
<h2 id="orgf45fe02"><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 +432,19 @@ gradients and Laplacian of the atomic basis functions.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org666de1a" class="outline-2">
|
||||
<h2 id="org666de1a"><span class="section-number-2">2</span> Context</h2>
|
||||
<div id="outline-container-org90ab490" class="outline-2">
|
||||
<h2 id="org90ab490"><span class="section-number-2">2</span> Context</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-orgea43ca5" class="outline-3">
|
||||
<h3 id="orgea43ca5"><span class="section-number-3">2.1</span> Constant data</h3>
|
||||
<div id="outline-container-org7c87a15" class="outline-3">
|
||||
<h3 id="org7c87a15"><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="org59e5643" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org6fca74f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -618,7 +618,7 @@ calling the functions:
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-C" id="orgf95841f"><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="org9b11891"><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 +655,7 @@ For array variables, use the rule:
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-C" id="orgf4f8eec"><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="org0d2dc95"><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 +693,17 @@ For array variables, use the rule:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga05be7f" class="outline-4">
|
||||
<h4 id="orga05be7f"><span class="section-number-4">2.1.1</span> Initialization functions</h4>
|
||||
<div id="outline-container-org147c76a" class="outline-4">
|
||||
<h4 id="org147c76a"><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="#org666de1a">2</a>.
|
||||
equal of larger than the value given in the table of section <a href="#org90ab490">2</a>.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4a6cd6a" class="outline-5">
|
||||
<h5 id="org4a6cd6a"><span class="section-number-5">2.1.1.1</span> C interface</h5>
|
||||
<div id="outline-container-org2212e6f" class="outline-5">
|
||||
<h5 id="org2212e6f"><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 +827,8 @@ called.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3827967" class="outline-5">
|
||||
<h5 id="org3827967"><span class="section-number-5">2.1.1.2</span> Fortran interface</h5>
|
||||
<div id="outline-container-org891d5bf" class="outline-5">
|
||||
<h5 id="org891d5bf"><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 +1011,17 @@ called.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf7cea2d" class="outline-4">
|
||||
<h4 id="orgf7cea2d"><span class="section-number-4">2.1.2</span> Access functions</h4>
|
||||
<div id="outline-container-org411bf0e" class="outline-4">
|
||||
<h4 id="org411bf0e"><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="#org666de1a">2</a>.
|
||||
equal of larger than the value given in the table of section <a href="#org90ab490">2</a>.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb97874b" class="outline-5">
|
||||
<h5 id="orgb97874b"><span class="section-number-5">2.1.2.1</span> C interface</h5>
|
||||
<div id="outline-container-orgb1228ae" class="outline-5">
|
||||
<h5 id="orgb1228ae"><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 +1143,8 @@ function returns <code>true</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb27485c" class="outline-5">
|
||||
<h5 id="orgb27485c"><span class="section-number-5">2.1.2.2</span> Fortran interface</h5>
|
||||
<div id="outline-container-org1c5fba1" class="outline-5">
|
||||
<h5 id="org1c5fba1"><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 +1328,8 @@ function returns <code>true</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1b83450" class="outline-3">
|
||||
<h3 id="org1b83450"><span class="section-number-3">2.2</span> Computed data</h3>
|
||||
<div id="outline-container-orged48c7f" class="outline-3">
|
||||
<h3 id="orged48c7f"><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,46 +1355,46 @@ 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][elec_num][prim_num]</code></td>
|
||||
<td class="org-left">Value, gradients, Laplacian of the primitives at electron positions</td>
|
||||
<td class="org-left"><code>double[5][point_num][prim_num]</code></td>
|
||||
<td class="org-left">Value, gradients, Laplacian of the primitives at current positions</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>primitive_vgl_date</code></td>
|
||||
<td class="org-left"><code>uint64_t</code></td>
|
||||
<td class="org-left">Last modification date of Value, gradients, Laplacian of the primitives at electron positions</td>
|
||||
<td class="org-left">Last modification date of Value, gradients, Laplacian of the primitives at current positions</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>shell_vgl</code></td>
|
||||
<td class="org-left"><code>double[5][elec_num][shell_num]</code></td>
|
||||
<td class="org-left">Value, gradients, Laplacian of the primitives at electron positions</td>
|
||||
<td class="org-left"><code>double[5][point_num][shell_num]</code></td>
|
||||
<td class="org-left">Value, gradients, Laplacian of the primitives at current positions</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>shell_vgl_date</code></td>
|
||||
<td class="org-left"><code>uint64_t</code></td>
|
||||
<td class="org-left">Last modification date of Value, gradients, Laplacian of the AOs at electron positions</td>
|
||||
<td class="org-left">Last modification date of Value, gradients, Laplacian of the AOs at current positions</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>ao_vgl</code></td>
|
||||
<td class="org-left"><code>double[5][elec_num][ao_num]</code></td>
|
||||
<td class="org-left">Value, gradients, Laplacian of the primitives at electron positions</td>
|
||||
<td class="org-left"><code>double[5][point_num][ao_num]</code></td>
|
||||
<td class="org-left">Value, gradients, Laplacian of the primitives at current positions</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>ao_vgl_date</code></td>
|
||||
<td class="org-left"><code>uint64_t</code></td>
|
||||
<td class="org-left">Last modification date of Value, gradients, Laplacian of the AOs at electron positions</td>
|
||||
<td class="org-left">Last modification date of Value, gradients, Laplacian of the AOs at current positions</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgb568031" class="outline-4">
|
||||
<h4 id="orgb568031"><span class="section-number-4">2.2.1</span> After initialization</h4>
|
||||
<div id="outline-container-org6a01d09" class="outline-4">
|
||||
<h4 id="org6a01d09"><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 +1408,8 @@ the context.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org15cac2e" class="outline-4">
|
||||
<h4 id="org15cac2e"><span class="section-number-4">2.2.2</span> Access functions</h4>
|
||||
<div id="outline-container-orgd293d73" class="outline-4">
|
||||
<h4 id="orgd293d73"><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 +1422,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="#org18199ca">3.2</a>.
|
||||
See section <a href="#org2479559">3.2</a>.
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
@ -1435,7 +1435,7 @@ See section <a href="#org18199ca">3.2</a>.
|
||||
|
||||
<p>
|
||||
Returns the array of values, gradients an Laplacian of contracted shells
|
||||
evaluated at the current coordinates. See section <a href="#orgf6f55bf">3.3</a>.
|
||||
evaluated at the current coordinates. See section <a href="#org372c0fb">3.3</a>.
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
@ -1449,19 +1449,19 @@ evaluated at the current coordinates. See section <a href="#orgf6f55bf">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="#org121c257">5</a>.
|
||||
See section <a href="#orgc734560">5</a>.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org19b0d0e" class="outline-2">
|
||||
<h2 id="org19b0d0e"><span class="section-number-2">3</span> Radial part</h2>
|
||||
<div id="outline-container-org0f05f70" class="outline-2">
|
||||
<h2 id="org0f05f70"><span class="section-number-2">3</span> Radial part</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
</div>
|
||||
<div id="outline-container-org16037c5" class="outline-3">
|
||||
<h3 id="org16037c5"><span class="section-number-3">3.1</span> General functions for Gaussian basis functions</h3>
|
||||
<div id="outline-container-org8032f44" class="outline-3">
|
||||
<h3 id="org8032f44"><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 +1632,10 @@ Requirements:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org18199ca" class="outline-3">
|
||||
<h3 id="org18199ca"><span class="section-number-3">3.2</span> Computation of primitives</h3>
|
||||
<div id="outline-container-org2479559" class="outline-3">
|
||||
<h3 id="org2479559"><span class="section-number-3">3.2</span> Computation of primitives</h3>
|
||||
<div class="outline-text-3" id="text-3-2">
|
||||
<table id="org1c8dfd0" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org2109bdc" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1671,10 +1671,10 @@ Requirements:
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>elec_num</code></td>
|
||||
<td class="org-left"><code>point_num</code></td>
|
||||
<td class="org-left"><code>int64_t</code></td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Number of electrons</td>
|
||||
<td class="org-left">Number of points considered</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
@ -1692,15 +1692,15 @@ Requirements:
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>elec_coord</code></td>
|
||||
<td class="org-left"><code>double[3][elec_num]</code></td>
|
||||
<td class="org-left"><code>coord</code></td>
|
||||
<td class="org-left"><code>double[3][point_num]</code></td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Electron coordinates</td>
|
||||
<td class="org-left">Coordinates</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>nucl_coord</code></td>
|
||||
<td class="org-left"><code>double[3][elec_num]</code></td>
|
||||
<td class="org-left"><code>double[3][nucl_num]</code></td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Nuclear coordinates</td>
|
||||
</tr>
|
||||
@ -1714,7 +1714,7 @@ Requirements:
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>primitive_vgl</code></td>
|
||||
<td class="org-left"><code>double[5][elec_num][prim_num]</code></td>
|
||||
<td class="org-left"><code>double[5][point_num][prim_num]</code></td>
|
||||
<td class="org-left">out</td>
|
||||
<td class="org-left">Value, gradients and Laplacian of the primitives</td>
|
||||
</tr>
|
||||
@ -1725,10 +1725,10 @@ Requirements:
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_compute_ao_basis_primitive_gaussian_vgl</span> (
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">prim_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">elec_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">point_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">nucl_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span>* <span style="color: #a0522d;">nucleus_prim_index</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">elec_coord</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">coord</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">nucl_coord</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">expo</span>,
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">primitive_vgl</span> );
|
||||
@ -1738,8 +1738,8 @@ Requirements:
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer</span><span style="color: #a0522d;"> function qmckl_compute_ao_basis_primitive_gaussian_vgl_f( </span><span style="color: #a020f0;">&</span>
|
||||
context, prim_num, elec_num, nucl_num, <span style="color: #a020f0;">&</span>
|
||||
nucleus_prim_index, elec_coord, nucl_coord, <span style="color: #a020f0;">&</span>
|
||||
context, prim_num, point_num, nucl_num, <span style="color: #a020f0;">&</span>
|
||||
nucleus_prim_index, coord, nucl_coord, <span style="color: #a020f0;">&</span>
|
||||
expo, primitive_vgl) <span style="color: #a020f0;">&</span>
|
||||
<span style="color: #a020f0;">result</span>(info)
|
||||
|
||||
@ -1748,14 +1748,14 @@ Requirements:
|
||||
<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;"> prim_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;">integer</span>*8 , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> elec_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;"> nucleus_prim_index(nucl_num+1)</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> elec_coord(elec_num,3)</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;">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,elec_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,point_num,5)</span>
|
||||
|
||||
<span style="color: #228b22;">integer</span>*8 ::<span style="color: #a0522d;"> inucl, iprim, ielec</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>
|
||||
|
||||
info = QMCKL_SUCCESS
|
||||
@ -1766,10 +1766,10 @@ Requirements:
|
||||
<span style="color: #a020f0;">do</span> inucl=1,nucl_num
|
||||
! <span style="color: #b22222;">C is zero-based, so shift bounds by one</span>
|
||||
<span style="color: #a020f0;">do</span> iprim = nucleus_prim_index(inucl)+1, nucleus_prim_index(inucl+1)
|
||||
<span style="color: #a020f0;">do</span> ielec = 1, elec_num
|
||||
x = elec_coord(ielec,1) - nucl_coord(inucl,1)
|
||||
y = elec_coord(ielec,2) - nucl_coord(inucl,2)
|
||||
z = elec_coord(ielec,3) - nucl_coord(inucl,3)
|
||||
<span style="color: #a020f0;">do</span> ipoint = 1, point_num
|
||||
x = coord(ipoint,1) - nucl_coord(inucl,1)
|
||||
y = coord(ipoint,2) - nucl_coord(inucl,2)
|
||||
z = coord(ipoint,3) - nucl_coord(inucl,3)
|
||||
|
||||
r2 = x*x + y*y + z*z
|
||||
ar2 = expo(iprim)*r2
|
||||
@ -1778,11 +1778,11 @@ Requirements:
|
||||
v = dexp(-ar2)
|
||||
two_a = -2.d0 * expo(iprim) * v
|
||||
|
||||
primitive_vgl(iprim, ielec, 1) = v
|
||||
primitive_vgl(iprim, ielec, 2) = two_a * x
|
||||
primitive_vgl(iprim, ielec, 3) = two_a * y
|
||||
primitive_vgl(iprim, ielec, 4) = two_a * z
|
||||
primitive_vgl(iprim, ielec, 5) = two_a * (3.d0 - 2.d0*ar2)
|
||||
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)
|
||||
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
@ -1794,10 +1794,10 @@ Requirements:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf6f55bf" class="outline-3">
|
||||
<h3 id="orgf6f55bf"><span class="section-number-3">3.3</span> Computation of shells</h3>
|
||||
<div id="outline-container-org372c0fb" class="outline-3">
|
||||
<h3 id="org372c0fb"><span class="section-number-3">3.3</span> Computation of shells</h3>
|
||||
<div class="outline-text-3" id="text-3-3">
|
||||
<table id="org1eded61" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org6d30a5e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1840,10 +1840,10 @@ Requirements:
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>elec_num</code></td>
|
||||
<td class="org-left"><code>point_num</code></td>
|
||||
<td class="org-left"><code>int64_t</code></td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Number of electrons</td>
|
||||
<td class="org-left">Number of points</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
@ -1882,15 +1882,15 @@ Requirements:
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>elec_coord</code></td>
|
||||
<td class="org-left"><code>double[3][elec_num]</code></td>
|
||||
<td class="org-left"><code>coord</code></td>
|
||||
<td class="org-left"><code>double[3][point_num]</code></td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Electron coordinates</td>
|
||||
<td class="org-left">Coordinates</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>nucl_coord</code></td>
|
||||
<td class="org-left"><code>double[3][elec_num]</code></td>
|
||||
<td class="org-left"><code>double[3][nucl_num]</code></td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Nuclear coordinates</td>
|
||||
</tr>
|
||||
@ -1911,7 +1911,7 @@ Requirements:
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>shell_vgl</code></td>
|
||||
<td class="org-left"><code>double[5][elec_num][shell_num]</code></td>
|
||||
<td class="org-left"><code>double[5][point_num][shell_num]</code></td>
|
||||
<td class="org-left">out</td>
|
||||
<td class="org-left">Value, gradients and Laplacian of the shells</td>
|
||||
</tr>
|
||||
@ -1923,13 +1923,13 @@ Requirements:
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">prim_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">shell_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">elec_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">point_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">nucl_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span>* <span style="color: #a0522d;">nucleus_shell_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span>* <span style="color: #a0522d;">nucleus_index</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span>* <span style="color: #a0522d;">shell_prim_index</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span>* <span style="color: #a0522d;">shell_prim_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">elec_coord</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">coord</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">nucl_coord</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">expo</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">coef_normalized</span>,
|
||||
@ -1939,9 +1939,9 @@ Requirements:
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer</span><span style="color: #a0522d;"> function qmckl_compute_ao_basis_shell_gaussian_vgl_f( </span><span style="color: #a020f0;">&</span>
|
||||
context, prim_num, shell_num, elec_num, nucl_num, <span style="color: #a020f0;">&</span>
|
||||
context, prim_num, shell_num, point_num, nucl_num, <span style="color: #a020f0;">&</span>
|
||||
nucleus_shell_num, nucleus_index, shell_prim_index, <span style="color: #a020f0;">&</span>
|
||||
shell_prim_num, elec_coord, nucl_coord, expo, <span style="color: #a020f0;">&</span>
|
||||
shell_prim_num, coord, nucl_coord, expo, <span style="color: #a020f0;">&</span>
|
||||
coef_normalized, shell_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>
|
||||
@ -1950,18 +1950,18 @@ Requirements:
|
||||
<span style="color: #228b22;">integer</span>*8 , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> prim_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;"> nucl_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;">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;"> nucleus_shell_num(nucl_num)</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;"> shell_prim_index(shell_num)</span>
|
||||
<span style="color: #228b22;">integer</span>*8 , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> shell_prim_num(shell_num)</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> elec_coord(elec_num,3)</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;">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,elec_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,point_num,5)</span>
|
||||
|
||||
<span style="color: #228b22;">integer</span>*8 ::<span style="color: #a0522d;"> inucl, iprim, ielec, ishell</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>
|
||||
<span style="color: #228b22;">integer</span>*8 ::<span style="color: #a0522d;"> iprim_start , iprim_end</span>
|
||||
<span style="color: #228b22;">double precision</span> ::<span style="color: #a0522d;"> x, y, z, two_a, ar2, r2, v, cutoff</span>
|
||||
@ -1978,21 +1978,21 @@ Requirements:
|
||||
ishell_start = nucleus_index(inucl) + 1
|
||||
ishell_end = nucleus_index(inucl) + nucleus_shell_num(inucl)
|
||||
|
||||
<span style="color: #a020f0;">do</span> ielec = 1, elec_num
|
||||
<span style="color: #a020f0;">do</span> ipoint = 1, point_num
|
||||
|
||||
x = elec_coord(ielec,1) - nucl_coord(inucl,1)
|
||||
y = elec_coord(ielec,2) - nucl_coord(inucl,2)
|
||||
z = elec_coord(ielec,3) - nucl_coord(inucl,3)
|
||||
x = coord(ipoint,1) - nucl_coord(inucl,1)
|
||||
y = coord(ipoint,2) - nucl_coord(inucl,2)
|
||||
z = coord(ipoint,3) - nucl_coord(inucl,3)
|
||||
|
||||
r2 = x*x + y*y + z*z
|
||||
|
||||
<span style="color: #a020f0;">do</span> ishell=ishell_start, ishell_end
|
||||
|
||||
shell_vgl(ishell, ielec, 1) = 0.d0
|
||||
shell_vgl(ishell, ielec, 2) = 0.d0
|
||||
shell_vgl(ishell, ielec, 3) = 0.d0
|
||||
shell_vgl(ishell, ielec, 4) = 0.d0
|
||||
shell_vgl(ishell, ielec, 5) = 0.d0
|
||||
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
|
||||
|
||||
iprim_start = shell_prim_index(ishell) + 1
|
||||
iprim_end = shell_prim_index(ishell) + shell_prim_num(ishell)
|
||||
@ -2007,20 +2007,20 @@ Requirements:
|
||||
v = coef_normalized(iprim) * dexp(-ar2)
|
||||
two_a = -2.d0 * expo(iprim) * v
|
||||
|
||||
shell_vgl(ishell, ielec, 1) = <span style="color: #a020f0;">&</span>
|
||||
shell_vgl(ishell, ielec, 1) + v
|
||||
shell_vgl(ishell, ipoint, 1) = <span style="color: #a020f0;">&</span>
|
||||
shell_vgl(ishell, ipoint, 1) + v
|
||||
|
||||
shell_vgl(ishell, ielec, 2) = <span style="color: #a020f0;">&</span>
|
||||
shell_vgl(ishell, ielec, 2) + two_a * x
|
||||
shell_vgl(ishell, ipoint, 2) = <span style="color: #a020f0;">&</span>
|
||||
shell_vgl(ishell, ipoint, 2) + two_a * x
|
||||
|
||||
shell_vgl(ishell, ielec, 3) = <span style="color: #a020f0;">&</span>
|
||||
shell_vgl(ishell, ielec, 3) + two_a * y
|
||||
shell_vgl(ishell, ipoint, 3) = <span style="color: #a020f0;">&</span>
|
||||
shell_vgl(ishell, ipoint, 3) + two_a * y
|
||||
|
||||
shell_vgl(ishell, ielec, 4) = <span style="color: #a020f0;">&</span>
|
||||
shell_vgl(ishell, ielec, 4) + two_a * z
|
||||
shell_vgl(ishell, ipoint, 4) = <span style="color: #a020f0;">&</span>
|
||||
shell_vgl(ishell, ipoint, 4) + two_a * z
|
||||
|
||||
shell_vgl(ishell, ielec, 5) = <span style="color: #a020f0;">&</span>
|
||||
shell_vgl(ishell, ielec, 5) + two_a * (3.d0 - 2.d0*ar2)
|
||||
shell_vgl(ishell, ipoint, 5) = <span style="color: #a020f0;">&</span>
|
||||
shell_vgl(ishell, ipoint, 5) + two_a * (3.d0 - 2.d0*ar2)
|
||||
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
|
||||
@ -2036,8 +2036,8 @@ Requirements:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9c17d3a" class="outline-2">
|
||||
<h2 id="org9c17d3a"><span class="section-number-2">4</span> Polynomial part</h2>
|
||||
<div id="outline-container-org3cd947f" class="outline-2">
|
||||
<h2 id="org3cd947f"><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 +2057,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-org1607c82" class="outline-3">
|
||||
<h3 id="org1607c82"><span class="section-number-3">4.1</span> General functions for Powers of \(x-X_i\)</h3>
|
||||
<div id="outline-container-org882c385" class="outline-3">
|
||||
<h3 id="org882c385"><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 +2070,7 @@ the \(n\) points:
|
||||
\[ P_{ik} = X_i^k \]
|
||||
</p>
|
||||
|
||||
<table id="orgcf9c740" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgbd4c42f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2208,8 +2208,8 @@ Requirements:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org53075c5" class="outline-3">
|
||||
<h3 id="org53075c5"><span class="section-number-3">4.2</span> General functions for Value, Gradient and Laplacian of a polynomial</h3>
|
||||
<div id="outline-container-orgaf90e46" class="outline-3">
|
||||
<h3 id="orgaf90e46"><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 +2254,7 @@ Laplacians at a given point in space, of all polynomials with an
|
||||
angular momentum up to <code>lmax</code>.
|
||||
</p>
|
||||
|
||||
<table id="orgf497c10" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org5381907" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2514,10 +2514,10 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org121c257" class="outline-2">
|
||||
<h2 id="org121c257"><span class="section-number-2">5</span> Combining radial and polynomial parts</h2>
|
||||
<div id="outline-container-orgc734560" class="outline-2">
|
||||
<h2 id="orgc734560"><span class="section-number-2">5</span> Combining radial and polynomial parts</h2>
|
||||
<div class="outline-text-2" id="text-5">
|
||||
<table id="org5adc051" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org6fff693" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2560,10 +2560,10 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>elec_num</code></td>
|
||||
<td class="org-left"><code>point_num</code></td>
|
||||
<td class="org-left"><code>int64_t</code></td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Number of electrons</td>
|
||||
<td class="org-left">Number of points</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
@ -2574,10 +2574,10 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>elec_coord</code></td>
|
||||
<td class="org-left"><code>double[3][elec_num]</code></td>
|
||||
<td class="org-left"><code>coord</code></td>
|
||||
<td class="org-left"><code>double[3][point_num]</code></td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Electron coordinates</td>
|
||||
<td class="org-left">Coordinates</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
@ -2631,14 +2631,14 @@ 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][elec_num][shell_num]</code></td>
|
||||
<td class="org-left"><code>double[5][point_num][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][elec_num][ao_num]</code></td>
|
||||
<td class="org-left"><code>double[5][point_num][ao_num]</code></td>
|
||||
<td class="org-left">out</td>
|
||||
<td class="org-left">Value, gradients and Laplacian of the AOs</td>
|
||||
</tr>
|
||||
@ -2647,8 +2647,8 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
|
||||
<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>
|
||||
ao_num, shell_num, elec_num, nucl_num, <span style="color: #a020f0;">&</span>
|
||||
elec_coord, nucl_coord, nucleus_index, nucleus_shell_num, <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)
|
||||
@ -2657,9 +2657,9 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
<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;"> elec_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;"> elec_coord(elec_num,3)</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>
|
||||
@ -2667,13 +2667,13 @@ 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,elec_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,elec_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,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: #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;"> ielec, inucl, ishell</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>
|
||||
@ -2696,17 +2696,17 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
! <span style="color: #b22222;">TODO : Use numerical precision here</span>
|
||||
cutoff = -dlog(1.d-15)
|
||||
|
||||
<span style="color: #a020f0;">do</span> ielec = 1, elec_num
|
||||
e_coord(1) = elec_coord(ielec,1)
|
||||
e_coord(2) = elec_coord(ielec,2)
|
||||
e_coord(3) = elec_coord(ielec,3)
|
||||
<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 electron is in the range of the nucleus</span>
|
||||
! <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)
|
||||
@ -2729,35 +2729,35 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
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,ielec,1) = <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(1,il) * shell_vgl(ishell,ielec,1) * ao_factor(k)
|
||||
ao_vgl(k,ipoint,1) = <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(1,il) * shell_vgl(ishell,ipoint,1) * ao_factor(k)
|
||||
|
||||
! <span style="color: #b22222;">Grad_x</span>
|
||||
ao_vgl(k,ielec,2) = ( <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(2,il) * shell_vgl(ishell,ielec,1) + <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(1,il) * shell_vgl(ishell,ielec,2) <span style="color: #a020f0;">&</span>
|
||||
ao_vgl(k,ipoint,2) = ( <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(2,il) * shell_vgl(ishell,ipoint,1) + <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(1,il) * shell_vgl(ishell,ipoint,2) <span style="color: #a020f0;">&</span>
|
||||
) * ao_factor(k)
|
||||
|
||||
! <span style="color: #b22222;">Grad_y</span>
|
||||
ao_vgl(k,ielec,3) = ( <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(3,il) * shell_vgl(ishell,ielec,1) + <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(1,il) * shell_vgl(ishell,ielec,3) <span style="color: #a020f0;">&</span>
|
||||
ao_vgl(k,ipoint,3) = ( <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(3,il) * shell_vgl(ishell,ipoint,1) + <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(1,il) * shell_vgl(ishell,ipoint,3) <span style="color: #a020f0;">&</span>
|
||||
) * ao_factor(k)
|
||||
|
||||
! <span style="color: #b22222;">Grad_z</span>
|
||||
ao_vgl(k,ielec,4) = ( <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(4,il) * shell_vgl(ishell,ielec,1) + <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(1,il) * shell_vgl(ishell,ielec,4) <span style="color: #a020f0;">&</span>
|
||||
ao_vgl(k,ipoint,4) = ( <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(4,il) * shell_vgl(ishell,ipoint,1) + <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(1,il) * shell_vgl(ishell,ipoint,4) <span style="color: #a020f0;">&</span>
|
||||
) * ao_factor(k)
|
||||
|
||||
! <span style="color: #b22222;">Lapl_z</span>
|
||||
ao_vgl(k,ielec,5) = ( <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(5,il) * shell_vgl(ishell,ielec,1) + <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(1,il) * shell_vgl(ishell,ielec,5) + <span style="color: #a020f0;">&</span>
|
||||
ao_vgl(k,ipoint,5) = ( <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(5,il) * shell_vgl(ishell,ipoint,1) + <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(1,il) * shell_vgl(ishell,ipoint,5) + <span style="color: #a020f0;">&</span>
|
||||
2.d0 * ( <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(2,il) * shell_vgl(ishell,ielec,2) + <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(3,il) * shell_vgl(ishell,ielec,3) + <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(4,il) * shell_vgl(ishell,ielec,4) ) <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(2,il) * shell_vgl(ishell,ipoint,2) + <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(3,il) * shell_vgl(ishell,ipoint,3) + <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(4,il) * shell_vgl(ishell,ipoint,4) ) <span style="color: #a020f0;">&</span>
|
||||
) * ao_factor(k)
|
||||
|
||||
k = k+1
|
||||
@ -2776,9 +2776,9 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">ao_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">shell_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">elec_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">point_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">nucl_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">elec_coord</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">coord</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">nucl_coord</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span>* <span style="color: #a0522d;">nucleus_index</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span>* <span style="color: #a0522d;">nucleus_shell_num</span>,
|
||||
@ -2795,7 +2795,7 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-01-23 Sun 18:08</p>
|
||||
<p class="date">Created: 2022-01-26 Wed 16: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-01-23 Sun 18:08 -->
|
||||
<!-- 2022-01-26 Wed 16: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="#org146b74f">1. Data types</a>
|
||||
<li><a href="#org750e5ff">1. Data types</a>
|
||||
<ul>
|
||||
<li><a href="#orgad21d5a">1.1. Vector</a></li>
|
||||
<li><a href="#orgff86f73">1.2. Matrix</a></li>
|
||||
<li><a href="#org6497952">1.3. Tensor</a></li>
|
||||
<li><a href="#org01e04a9">1.4. Reshaping</a>
|
||||
<li><a href="#org92d4b79">1.1. Vector</a></li>
|
||||
<li><a href="#orgd5a1414">1.2. Matrix</a></li>
|
||||
<li><a href="#orgf3da4e6">1.3. Tensor</a></li>
|
||||
<li><a href="#org9b7ba5c">1.4. Reshaping</a>
|
||||
<ul>
|
||||
<li><a href="#orgdd8a651">1.4.1. Vector -> Matrix</a></li>
|
||||
<li><a href="#org3a130af">1.4.2. Vector -> Tensor</a></li>
|
||||
<li><a href="#org0b6a8d1">1.4.3. Matrix -> Vector</a></li>
|
||||
<li><a href="#orgdbc3919">1.4.4. Matrix -> Tensor</a></li>
|
||||
<li><a href="#org734d9a4">1.4.5. Tensor -> Vector</a></li>
|
||||
<li><a href="#orgeb67cd9">1.4.6. Tensor -> Matrix</a></li>
|
||||
<li><a href="#org1fec018">1.4.1. Vector -> Matrix</a></li>
|
||||
<li><a href="#orga6087d3">1.4.2. Vector -> Tensor</a></li>
|
||||
<li><a href="#org42a1778">1.4.3. Matrix -> Vector</a></li>
|
||||
<li><a href="#org30047c6">1.4.4. Matrix -> Tensor</a></li>
|
||||
<li><a href="#orge143aa2">1.4.5. Tensor -> Vector</a></li>
|
||||
<li><a href="#orgb609eb3">1.4.6. Tensor -> Matrix</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgf5cbf30">1.5. Access macros</a></li>
|
||||
<li><a href="#org44effb4">1.6. Copy to/from to <code>double*</code></a></li>
|
||||
<li><a href="#org6c86b38">1.7. Tests</a></li>
|
||||
<li><a href="#orgc793ca0">1.5. Access macros</a></li>
|
||||
<li><a href="#orgff52fce">1.6. Copy to/from to <code>double*</code></a></li>
|
||||
<li><a href="#orgf64e377">1.7. Tests</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org935c037">2. Matrix operations</a>
|
||||
<li><a href="#orga903762">2. Matrix operations</a>
|
||||
<ul>
|
||||
<li><a href="#org968993c">2.1. <code>qmckl_dgemm</code></a></li>
|
||||
<li><a href="#orgde5460c">2.2. <code>qmckl_matmul</code></a></li>
|
||||
<li><a href="#org66dac88">2.3. <code>qmckl_adjugate</code></a></li>
|
||||
<li><a href="#org55226ef">2.4. <code>qmckl_transpose</code></a>
|
||||
<li><a href="#org351b236">2.1. <code>qmckl_dgemm</code></a></li>
|
||||
<li><a href="#orge0495c9">2.2. <code>qmckl_matmul</code></a></li>
|
||||
<li><a href="#orgf6a8906">2.3. <code>qmckl_adjugate</code></a></li>
|
||||
<li><a href="#org10ff35d">2.4. <code>qmckl_transpose</code></a>
|
||||
<ul>
|
||||
<li><a href="#orgf0e0240">2.4.1. Test</a></li>
|
||||
<li><a href="#org51ab7e8">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-org146b74f" class="outline-2">
|
||||
<h2 id="org146b74f"><span class="section-number-2">1</span> Data types</h2>
|
||||
<div id="outline-container-org750e5ff" class="outline-2">
|
||||
<h2 id="org750e5ff"><span class="section-number-2">1</span> Data types</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
</div>
|
||||
<div id="outline-container-orgad21d5a" class="outline-3">
|
||||
<h3 id="orgad21d5a"><span class="section-number-3">1.1</span> Vector</h3>
|
||||
<div id="outline-container-org92d4b79" class="outline-3">
|
||||
<h3 id="org92d4b79"><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-orgff86f73" class="outline-3">
|
||||
<h3 id="orgff86f73"><span class="section-number-3">1.2</span> Matrix</h3>
|
||||
<div id="outline-container-orgd5a1414" class="outline-3">
|
||||
<h3 id="orgd5a1414"><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-org6497952" class="outline-3">
|
||||
<h3 id="org6497952"><span class="section-number-3">1.3</span> Tensor</h3>
|
||||
<div id="outline-container-orgf3da4e6" class="outline-3">
|
||||
<h3 id="orgf3da4e6"><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-org01e04a9" class="outline-3">
|
||||
<h3 id="org01e04a9"><span class="section-number-3">1.4</span> Reshaping</h3>
|
||||
<div id="outline-container-org9b7ba5c" class="outline-3">
|
||||
<h3 id="org9b7ba5c"><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-orgdd8a651" class="outline-4">
|
||||
<h4 id="orgdd8a651"><span class="section-number-4">1.4.1</span> Vector -> Matrix</h4>
|
||||
<div id="outline-container-org1fec018" class="outline-4">
|
||||
<h4 id="org1fec018"><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-org3a130af" class="outline-4">
|
||||
<h4 id="org3a130af"><span class="section-number-4">1.4.2</span> Vector -> Tensor</h4>
|
||||
<div id="outline-container-orga6087d3" class="outline-4">
|
||||
<h4 id="orga6087d3"><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-org0b6a8d1" class="outline-4">
|
||||
<h4 id="org0b6a8d1"><span class="section-number-4">1.4.3</span> Matrix -> Vector</h4>
|
||||
<div id="outline-container-org42a1778" class="outline-4">
|
||||
<h4 id="org42a1778"><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-orgdbc3919" class="outline-4">
|
||||
<h4 id="orgdbc3919"><span class="section-number-4">1.4.4</span> Matrix -> Tensor</h4>
|
||||
<div id="outline-container-org30047c6" class="outline-4">
|
||||
<h4 id="org30047c6"><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-org734d9a4" class="outline-4">
|
||||
<h4 id="org734d9a4"><span class="section-number-4">1.4.5</span> Tensor -> Vector</h4>
|
||||
<div id="outline-container-orge143aa2" class="outline-4">
|
||||
<h4 id="orge143aa2"><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-orgeb67cd9" class="outline-4">
|
||||
<h4 id="orgeb67cd9"><span class="section-number-4">1.4.6</span> Tensor -> Matrix</h4>
|
||||
<div id="outline-container-orgb609eb3" class="outline-4">
|
||||
<h4 id="orgb609eb3"><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-orgf5cbf30" class="outline-3">
|
||||
<h3 id="orgf5cbf30"><span class="section-number-3">1.5</span> Access macros</h3>
|
||||
<div id="outline-container-orgc793ca0" class="outline-3">
|
||||
<h3 id="orgc793ca0"><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-org44effb4" class="outline-3">
|
||||
<h3 id="org44effb4"><span class="section-number-3">1.6</span> Copy to/from to <code>double*</code></h3>
|
||||
<div id="outline-container-orgff52fce" class="outline-3">
|
||||
<h3 id="orgff52fce"><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-org6c86b38" class="outline-3">
|
||||
<h3 id="org6c86b38"><span class="section-number-3">1.7</span> Tests</h3>
|
||||
<div id="outline-container-orgf64e377" class="outline-3">
|
||||
<h3 id="orgf64e377"><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-org935c037" class="outline-2">
|
||||
<h2 id="org935c037"><span class="section-number-2">2</span> Matrix operations</h2>
|
||||
<div id="outline-container-orga903762" class="outline-2">
|
||||
<h2 id="orga903762"><span class="section-number-2">2</span> Matrix operations</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-org968993c" class="outline-3">
|
||||
<h3 id="org968993c"><span class="section-number-3">2.1</span> <code>qmckl_dgemm</code></h3>
|
||||
<div id="outline-container-org351b236" class="outline-3">
|
||||
<h3 id="org351b236"><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="org1c6d8c8" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgf38b150" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1467,8 +1467,8 @@ Requirements:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgde5460c" class="outline-3">
|
||||
<h3 id="orgde5460c"><span class="section-number-3">2.2</span> <code>qmckl_matmul</code></h3>
|
||||
<div id="outline-container-orge0495c9" class="outline-3">
|
||||
<h3 id="orge0495c9"><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="org85c29ef" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org0656877" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1713,8 +1713,8 @@ Matrix multiplication:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org66dac88" class="outline-3">
|
||||
<h3 id="org66dac88"><span class="section-number-3">2.3</span> <code>qmckl_adjugate</code></h3>
|
||||
<div id="outline-container-orgf6a8906" class="outline-3">
|
||||
<h3 id="orgf6a8906"><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="org5d3669c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org69a1f6b" 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-org55226ef" class="outline-3">
|
||||
<h3 id="org55226ef"><span class="section-number-3">2.4</span> <code>qmckl_transpose</code></h3>
|
||||
<div id="outline-container-org10ff35d" class="outline-3">
|
||||
<h3 id="org10ff35d"><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-orgf0e0240" class="outline-4">
|
||||
<h4 id="orgf0e0240"><span class="section-number-4">2.4.1</span> Test</h4>
|
||||
<div id="outline-container-org51ab7e8" class="outline-4">
|
||||
<h4 id="org51ab7e8"><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-01-23 Sun 18:08</p>
|
||||
<p class="date">Created: 2022-01-26 Wed 16: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-01-23 Sun 18:08 -->
|
||||
<!-- 2022-01-26 Wed 16: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="#org0771d8f">1. Context handling</a>
|
||||
<li><a href="#org30a4702">1. Context handling</a>
|
||||
<ul>
|
||||
<li><a href="#orge9cef51">1.1. Data structure</a></li>
|
||||
<li><a href="#orgcc9eb29">1.2. Creation</a></li>
|
||||
<li><a href="#orgbeeb27e">1.3. Locking</a></li>
|
||||
<li><a href="#orge6a6466">1.4. <span class="todo TODO">TODO</span> Copy</a></li>
|
||||
<li><a href="#org0dcfe47">1.5. Destroy</a></li>
|
||||
<li><a href="#org1d49a82">1.1. Data structure</a></li>
|
||||
<li><a href="#orgafa8a09">1.2. Creation</a></li>
|
||||
<li><a href="#org9cc1654">1.3. Locking</a></li>
|
||||
<li><a href="#org129b500">1.4. <span class="todo TODO">TODO</span> Copy</a></li>
|
||||
<li><a href="#orga044f63">1.5. Destroy</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0771d8f" class="outline-2">
|
||||
<h2 id="org0771d8f"><span class="section-number-2">1</span> Context handling</h2>
|
||||
<div id="outline-container-org30a4702" class="outline-2">
|
||||
<h2 id="org30a4702"><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="org692bee5"><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="orgacfa6d2"><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-orge9cef51" class="outline-3">
|
||||
<h3 id="orge9cef51"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-org1d49a82" class="outline-3">
|
||||
<h3 id="org1d49a82"><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="#orgcc9eb29">qmckl<sub>context</sub><sub>create</sub></a>, <a href="#org0dcfe47">qmckl<sub>context</sub><sub>destroy</sub></a> and <a href="#orge6a6466">qmckl<sub>context</sub><sub>copy</sub></a>
|
||||
<a href="#orgafa8a09">qmckl<sub>context</sub><sub>create</sub></a>, <a href="#orga044f63">qmckl<sub>context</sub><sub>destroy</sub></a> and <a href="#org129b500">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-orgcc9eb29" class="outline-3">
|
||||
<h3 id="orgcc9eb29"><span class="section-number-3">1.2</span> Creation</h3>
|
||||
<div id="outline-container-orgafa8a09" class="outline-3">
|
||||
<h3 id="orgafa8a09"><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-orgbeeb27e" class="outline-3">
|
||||
<h3 id="orgbeeb27e"><span class="section-number-3">1.3</span> Locking</h3>
|
||||
<div id="outline-container-org9cc1654" class="outline-3">
|
||||
<h3 id="org9cc1654"><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-orge6a6466" class="outline-3">
|
||||
<h3 id="orge6a6466"><span class="section-number-3">1.4</span> <span class="todo TODO">TODO</span> Copy</h3>
|
||||
<div id="outline-container-org129b500" class="outline-3">
|
||||
<h3 id="org129b500"><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-org0dcfe47" class="outline-3">
|
||||
<h3 id="org0dcfe47"><span class="section-number-3">1.5</span> Destroy</h3>
|
||||
<div id="outline-container-orga044f63" class="outline-3">
|
||||
<h3 id="orga044f63"><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-01-23 Sun 18:08</p>
|
||||
<p class="date">Created: 2022-01-26 Wed 16: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-01-23 Sun 18:09 -->
|
||||
<!-- 2022-01-26 Wed 16:09 -->
|
||||
<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="#org629f274">1. Context</a>
|
||||
<li><a href="#org0c6aa76">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org9a6e18d">1.1. Data structure</a></li>
|
||||
<li><a href="#org7d1be2a">1.2. Access functions</a></li>
|
||||
<li><a href="#org5fd1037">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org179a2e8">1.4. Fortran Interfaces</a></li>
|
||||
<li><a href="#org3755243">1.5. Test</a></li>
|
||||
<li><a href="#org978bf39">1.1. Data structure</a></li>
|
||||
<li><a href="#org4279a7e">1.2. Access functions</a></li>
|
||||
<li><a href="#org391acfd">1.3. Initialization functions</a></li>
|
||||
<li><a href="#orgbc3d437">1.4. Fortran Interfaces</a></li>
|
||||
<li><a href="#orgfef8ac2">1.5. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgb726176">2. Computation</a>
|
||||
<li><a href="#org90d54c1">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#orge8c979f">2.1. Determinant matrix</a>
|
||||
<li><a href="#orgbee60cd">2.1. Determinant matrix</a>
|
||||
<ul>
|
||||
<li><a href="#org16a26b5">2.1.1. Get</a></li>
|
||||
<li><a href="#orgfee5fe0">2.1.2. Provide</a></li>
|
||||
<li><a href="#orgdfe578a">2.1.3. Compute alpha</a></li>
|
||||
<li><a href="#org0e9b3e1">2.1.4. Compute beta</a></li>
|
||||
<li><a href="#org216dee1">2.1.5. Test</a></li>
|
||||
<li><a href="#orga836163">2.1.1. Get</a></li>
|
||||
<li><a href="#orga95889a">2.1.2. Provide</a></li>
|
||||
<li><a href="#orge2d0944">2.1.3. Compute alpha</a></li>
|
||||
<li><a href="#org931d5cc">2.1.4. Compute beta</a></li>
|
||||
<li><a href="#org0ea67c0">2.1.5. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org1d9ce87">2.2. Inverse of Determinant matrix</a>
|
||||
<li><a href="#org24a06cd">2.2. Inverse of Determinant matrix</a>
|
||||
<ul>
|
||||
<li><a href="#orgd574d56">2.2.1. Get</a></li>
|
||||
<li><a href="#org27b65e6">2.2.2. Provide</a></li>
|
||||
<li><a href="#org65be39a">2.2.3. Compute alpha</a></li>
|
||||
<li><a href="#org1d7b1f9">2.2.4. Compute beta</a></li>
|
||||
<li><a href="#org54a7c36">2.2.1. Get</a></li>
|
||||
<li><a href="#org7e220a0">2.2.2. Provide</a></li>
|
||||
<li><a href="#org5c3b1f3">2.2.3. Compute alpha</a></li>
|
||||
<li><a href="#org5c1f194">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-org629f274" class="outline-2">
|
||||
<h2 id="org629f274"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-org0c6aa76" class="outline-2">
|
||||
<h2 id="org0c6aa76"><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-org9a6e18d" class="outline-3">
|
||||
<h3 id="org9a6e18d"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-org978bf39" class="outline-3">
|
||||
<h3 id="org978bf39"><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-org7d1be2a" class="outline-3">
|
||||
<h3 id="org7d1be2a"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-org4279a7e" class="outline-3">
|
||||
<h3 id="org4279a7e"><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-org5fd1037" class="outline-3">
|
||||
<h3 id="org5fd1037"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-org391acfd" class="outline-3">
|
||||
<h3 id="org391acfd"><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-org179a2e8" class="outline-3">
|
||||
<h3 id="org179a2e8"><span class="section-number-3">1.4</span> Fortran Interfaces</h3>
|
||||
<div id="outline-container-orgbc3d437" class="outline-3">
|
||||
<h3 id="orgbc3d437"><span class="section-number-3">1.4</span> Fortran Interfaces</h3>
|
||||
</div>
|
||||
<div id="outline-container-org3755243" class="outline-3">
|
||||
<h3 id="org3755243"><span class="section-number-3">1.5</span> Test</h3>
|
||||
<div id="outline-container-orgfef8ac2" class="outline-3">
|
||||
<h3 id="orgfef8ac2"><span class="section-number-3">1.5</span> Test</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgb726176" class="outline-2">
|
||||
<h2 id="orgb726176"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-org90d54c1" class="outline-2">
|
||||
<h2 id="org90d54c1"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-orge8c979f" class="outline-3">
|
||||
<h3 id="orge8c979f"><span class="section-number-3">2.1</span> Determinant matrix</h3>
|
||||
<div id="outline-container-orgbee60cd" class="outline-3">
|
||||
<h3 id="orgbee60cd"><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-org16a26b5" class="outline-4">
|
||||
<h4 id="org16a26b5"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-orga836163" class="outline-4">
|
||||
<h4 id="orga836163"><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-orgfee5fe0" class="outline-4">
|
||||
<h4 id="orgfee5fe0"><span class="section-number-4">2.1.2</span> Provide</h4>
|
||||
<div id="outline-container-orga95889a" class="outline-4">
|
||||
<h4 id="orga95889a"><span class="section-number-4">2.1.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgdfe578a" class="outline-4">
|
||||
<h4 id="orgdfe578a"><span class="section-number-4">2.1.3</span> Compute alpha</h4>
|
||||
<div id="outline-container-orge2d0944" class="outline-4">
|
||||
<h4 id="orge2d0944"><span class="section-number-4">2.1.3</span> Compute alpha</h4>
|
||||
<div class="outline-text-4" id="text-2-1-3">
|
||||
<table id="org2796c6c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org9691134" 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-org0e9b3e1" class="outline-4">
|
||||
<h4 id="org0e9b3e1"><span class="section-number-4">2.1.4</span> Compute beta</h4>
|
||||
<div id="outline-container-org931d5cc" class="outline-4">
|
||||
<h4 id="org931d5cc"><span class="section-number-4">2.1.4</span> Compute beta</h4>
|
||||
<div class="outline-text-4" id="text-2-1-4">
|
||||
<table id="orgd28f163" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org2bcd7b7" 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-org216dee1" class="outline-4">
|
||||
<h4 id="org216dee1"><span class="section-number-4">2.1.5</span> Test</h4>
|
||||
<div id="outline-container-org0ea67c0" class="outline-4">
|
||||
<h4 id="org0ea67c0"><span class="section-number-4">2.1.5</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1d9ce87" class="outline-3">
|
||||
<h3 id="org1d9ce87"><span class="section-number-3">2.2</span> Inverse of Determinant matrix</h3>
|
||||
<div id="outline-container-org24a06cd" class="outline-3">
|
||||
<h3 id="org24a06cd"><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-orgd574d56" class="outline-4">
|
||||
<h4 id="orgd574d56"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div id="outline-container-org54a7c36" class="outline-4">
|
||||
<h4 id="org54a7c36"><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-org27b65e6" class="outline-4">
|
||||
<h4 id="org27b65e6"><span class="section-number-4">2.2.2</span> Provide</h4>
|
||||
<div id="outline-container-org7e220a0" class="outline-4">
|
||||
<h4 id="org7e220a0"><span class="section-number-4">2.2.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org65be39a" class="outline-4">
|
||||
<h4 id="org65be39a"><span class="section-number-4">2.2.3</span> Compute alpha</h4>
|
||||
<div id="outline-container-org5c3b1f3" class="outline-4">
|
||||
<h4 id="org5c3b1f3"><span class="section-number-4">2.2.3</span> Compute alpha</h4>
|
||||
<div class="outline-text-4" id="text-2-2-3">
|
||||
<table id="orga8a446a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org4094112" 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-org1d7b1f9" class="outline-4">
|
||||
<h4 id="org1d7b1f9"><span class="section-number-4">2.2.4</span> Compute beta</h4>
|
||||
<div id="outline-container-org5c1f194" class="outline-4">
|
||||
<h4 id="org5c1f194"><span class="section-number-4">2.2.4</span> Compute beta</h4>
|
||||
<div class="outline-text-4" id="text-2-2-4">
|
||||
<table id="org2c17454" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org5d5c0e8" 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-01-23 Sun 18:09</p>
|
||||
<p class="date">Created: 2022-01-26 Wed 16: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-01-23 Sun 18:09 -->
|
||||
<!-- 2022-01-26 Wed 16: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="#org1e2cb4b">1. Squared distance</a>
|
||||
<li><a href="#org7958fb0">1. Squared distance</a>
|
||||
<ul>
|
||||
<li><a href="#orgb1fbf38">1.1. <code>qmckl_distance_sq</code></a>
|
||||
<li><a href="#org42a2739">1.1. <code>qmckl_distance_sq</code></a>
|
||||
<ul>
|
||||
<li><a href="#org7132e19">1.1.1. Performance</a></li>
|
||||
<li><a href="#org1695505">1.1.1. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orga641edc">2. Distance</a>
|
||||
<li><a href="#org13adaa6">2. Distance</a>
|
||||
<ul>
|
||||
<li><a href="#orgea4ee1b">2.1. <code>qmckl_distance</code></a>
|
||||
<li><a href="#orgf972804">2.1. <code>qmckl_distance</code></a>
|
||||
<ul>
|
||||
<li><a href="#orgea1a28e">2.1.1. Requirements</a></li>
|
||||
<li><a href="#org3a3be61">2.1.2. C header</a></li>
|
||||
<li><a href="#org51caf2c">2.1.3. Source</a></li>
|
||||
<li><a href="#org5ea6450">2.1.4. Performance</a></li>
|
||||
<li><a href="#orga2c1366">2.1.1. Requirements</a></li>
|
||||
<li><a href="#orge41e5db">2.1.2. C header</a></li>
|
||||
<li><a href="#org23781ea">2.1.3. Source</a></li>
|
||||
<li><a href="#org6eb5361">2.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org85c54a2">3. Rescaled Distance</a>
|
||||
<li><a href="#orgb6bd012">3. Rescaled Distance</a>
|
||||
<ul>
|
||||
<li><a href="#org93ff710">3.1. <code>qmckl_distance_rescaled</code></a>
|
||||
<li><a href="#org48a9ee4">3.1. <code>qmckl_distance_rescaled</code></a>
|
||||
<ul>
|
||||
<li><a href="#orgd270f54">3.1.1. Requirements</a></li>
|
||||
<li><a href="#org04be735">3.1.2. C header</a></li>
|
||||
<li><a href="#org196ac86">3.1.3. Source</a></li>
|
||||
<li><a href="#org0de10f2">3.1.4. Performance</a></li>
|
||||
<li><a href="#orgadab1b8">3.1.1. Requirements</a></li>
|
||||
<li><a href="#org684a213">3.1.2. C header</a></li>
|
||||
<li><a href="#org4f482b4">3.1.3. Source</a></li>
|
||||
<li><a href="#orgd4a0519">3.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org2692e5d">4. Rescaled Distance Derivatives</a>
|
||||
<li><a href="#org0b12a82">4. Rescaled Distance Derivatives</a>
|
||||
<ul>
|
||||
<li><a href="#org873b420">4.1. <code>qmckl_distance_rescaled_deriv_e</code></a></li>
|
||||
<li><a href="#org76e03c9">4.1. <code>qmckl_distance_rescaled_deriv_e</code></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1e2cb4b" class="outline-2">
|
||||
<h2 id="org1e2cb4b"><span class="section-number-2">1</span> Squared distance</h2>
|
||||
<div id="outline-container-org7958fb0" class="outline-2">
|
||||
<h2 id="org7958fb0"><span class="section-number-2">1</span> Squared distance</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
</div>
|
||||
<div id="outline-container-orgb1fbf38" class="outline-3">
|
||||
<h3 id="orgb1fbf38"><span class="section-number-3">1.1</span> <code>qmckl_distance_sq</code></h3>
|
||||
<div id="outline-container-org42a2739" class="outline-3">
|
||||
<h3 id="org42a2739"><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="org82a08c9" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org712c66e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -659,8 +659,8 @@ Requirements:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7132e19" class="outline-4">
|
||||
<h4 id="org7132e19"><span class="section-number-4">1.1.1</span> Performance</h4>
|
||||
<div id="outline-container-org1695505" class="outline-4">
|
||||
<h4 id="org1695505"><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-orga641edc" class="outline-2">
|
||||
<h2 id="orga641edc"><span class="section-number-2">2</span> Distance</h2>
|
||||
<div id="outline-container-org13adaa6" class="outline-2">
|
||||
<h2 id="org13adaa6"><span class="section-number-2">2</span> Distance</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-orgea4ee1b" class="outline-3">
|
||||
<h3 id="orgea4ee1b"><span class="section-number-3">2.1</span> <code>qmckl_distance</code></h3>
|
||||
<div id="outline-container-orgf972804" class="outline-3">
|
||||
<h3 id="orgf972804"><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="orgde2cf9c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgef7a8aa" 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-orgea1a28e" class="outline-4">
|
||||
<h4 id="orgea1a28e"><span class="section-number-4">2.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-orga2c1366" class="outline-4">
|
||||
<h4 id="orga2c1366"><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-org3a3be61" class="outline-4">
|
||||
<h4 id="org3a3be61"><span class="section-number-4">2.1.2</span> C header</h4>
|
||||
<div id="outline-container-orge41e5db" class="outline-4">
|
||||
<h4 id="orge41e5db"><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-org51caf2c" class="outline-4">
|
||||
<h4 id="org51caf2c"><span class="section-number-4">2.1.3</span> Source</h4>
|
||||
<div id="outline-container-org23781ea" class="outline-4">
|
||||
<h4 id="org23781ea"><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-org5ea6450" class="outline-4">
|
||||
<h4 id="org5ea6450"><span class="section-number-4">2.1.4</span> Performance</h4>
|
||||
<div id="outline-container-org6eb5361" class="outline-4">
|
||||
<h4 id="org6eb5361"><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-org85c54a2" class="outline-2">
|
||||
<h2 id="org85c54a2"><span class="section-number-2">3</span> Rescaled Distance</h2>
|
||||
<div id="outline-container-orgb6bd012" class="outline-2">
|
||||
<h2 id="orgb6bd012"><span class="section-number-2">3</span> Rescaled Distance</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
</div>
|
||||
<div id="outline-container-org93ff710" class="outline-3">
|
||||
<h3 id="org93ff710"><span class="section-number-3">3.1</span> <code>qmckl_distance_rescaled</code></h3>
|
||||
<div id="outline-container-org48a9ee4" class="outline-3">
|
||||
<h3 id="org48a9ee4"><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="org8167cde" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgc20b95a" 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-orgd270f54" class="outline-4">
|
||||
<h4 id="orgd270f54"><span class="section-number-4">3.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-orgadab1b8" class="outline-4">
|
||||
<h4 id="orgadab1b8"><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-org04be735" class="outline-4">
|
||||
<h4 id="org04be735"><span class="section-number-4">3.1.2</span> C header</h4>
|
||||
<div id="outline-container-org684a213" class="outline-4">
|
||||
<h4 id="org684a213"><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-org196ac86" class="outline-4">
|
||||
<h4 id="org196ac86"><span class="section-number-4">3.1.3</span> Source</h4>
|
||||
<div id="outline-container-org4f482b4" class="outline-4">
|
||||
<h4 id="org4f482b4"><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-org0de10f2" class="outline-4">
|
||||
<h4 id="org0de10f2"><span class="section-number-4">3.1.4</span> Performance</h4>
|
||||
<div id="outline-container-orgd4a0519" class="outline-4">
|
||||
<h4 id="orgd4a0519"><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-org2692e5d" class="outline-2">
|
||||
<h2 id="org2692e5d"><span class="section-number-2">4</span> Rescaled Distance Derivatives</h2>
|
||||
<div id="outline-container-org0b12a82" class="outline-2">
|
||||
<h2 id="org0b12a82"><span class="section-number-2">4</span> Rescaled Distance Derivatives</h2>
|
||||
<div class="outline-text-2" id="text-4">
|
||||
</div>
|
||||
<div id="outline-container-org873b420" class="outline-3">
|
||||
<h3 id="org873b420"><span class="section-number-3">4.1</span> <code>qmckl_distance_rescaled_deriv_e</code></h3>
|
||||
<div id="outline-container-org76e03c9" class="outline-3">
|
||||
<h3 id="org76e03c9"><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="orgead6390" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgb9f5bb4" 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-01-23 Sun 18:09</p>
|
||||
<p class="date">Created: 2022-01-26 Wed 16: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-01-23 Sun 18:08 -->
|
||||
<!-- 2022-01-26 Wed 16: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="#org015ce43">1. Context</a>
|
||||
<li><a href="#org9aabb22">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org375a22a">1.1. Data structure</a></li>
|
||||
<li><a href="#org7d675b8">1.2. Access functions</a>
|
||||
<li><a href="#org8434ea7">1.1. Data structure</a></li>
|
||||
<li><a href="#orgcd3f768">1.2. Access functions</a>
|
||||
<ul>
|
||||
<li><a href="#orgc5144cb">1.2.1. Number of electrons</a></li>
|
||||
<li><a href="#org2c8df9a">1.2.2. Number of walkers</a></li>
|
||||
<li><a href="#org00537cb">1.2.3. Scaling factors Kappa</a></li>
|
||||
<li><a href="#org30cec01">1.2.4. Electron coordinates</a></li>
|
||||
<li><a href="#org490d4d9">1.2.1. Number of electrons</a></li>
|
||||
<li><a href="#org67b18d9">1.2.2. Number of walkers</a></li>
|
||||
<li><a href="#org7d6d4c9">1.2.3. Scaling factors Kappa</a></li>
|
||||
<li><a href="#orgf15e3c8">1.2.4. Electron coordinates</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org816ee2b">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org62d8ee6">1.4. Test</a></li>
|
||||
<li><a href="#org7adbabf">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org1cef561">1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org9e1d1c9">2. Computation</a>
|
||||
<li><a href="#orgc5916ef">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#org4424c4d">2.1. Electron-electron distances</a>
|
||||
<li><a href="#org6c2ccae">2.1. Electron-electron distances</a>
|
||||
<ul>
|
||||
<li><a href="#org9adbdf8">2.1.1. Get</a></li>
|
||||
<li><a href="#org11d1f93">2.1.2. Compute</a></li>
|
||||
<li><a href="#org4febe42">2.1.3. Test</a></li>
|
||||
<li><a href="#org7ac9456">2.1.1. Get</a></li>
|
||||
<li><a href="#org3dcb8ac">2.1.2. Compute</a></li>
|
||||
<li><a href="#org5dae98c">2.1.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org97a7f11">2.2. Electron-electron rescaled distances</a>
|
||||
<li><a href="#org5f62ea3">2.2. Electron-electron rescaled distances</a>
|
||||
<ul>
|
||||
<li><a href="#org0f6f899">2.2.1. Get</a></li>
|
||||
<li><a href="#org1e6263f">2.2.2. Compute</a></li>
|
||||
<li><a href="#org9d2638f">2.2.3. Test</a></li>
|
||||
<li><a href="#orgcfb5398">2.2.1. Get</a></li>
|
||||
<li><a href="#orga9455e8">2.2.2. Compute</a></li>
|
||||
<li><a href="#org85ef373">2.2.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org16fc7e4">2.3. Electron-electron rescaled distance gradients and laplacian with respect to electron coords</a>
|
||||
<li><a href="#org043a7ec">2.3. Electron-electron rescaled distance gradients and laplacian with respect to electron coords</a>
|
||||
<ul>
|
||||
<li><a href="#org0507432">2.3.1. Get</a></li>
|
||||
<li><a href="#org26626f9">2.3.2. Compute</a></li>
|
||||
<li><a href="#orgfce2977">2.3.3. Test</a></li>
|
||||
<li><a href="#orgc34f1a4">2.3.1. Get</a></li>
|
||||
<li><a href="#org88219d7">2.3.2. Compute</a></li>
|
||||
<li><a href="#orgff19bdd">2.3.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org07097cc">2.4. Electron-electron potential</a>
|
||||
<li><a href="#org478cbbd">2.4. Electron-electron potential</a>
|
||||
<ul>
|
||||
<li><a href="#org01ce7a9">2.4.1. Get</a></li>
|
||||
<li><a href="#org20c07c1">2.4.2. Compute</a></li>
|
||||
<li><a href="#org400c841">2.4.3. Test</a></li>
|
||||
<li><a href="#orgdee50dc">2.4.1. Get</a></li>
|
||||
<li><a href="#org9aca21f">2.4.2. Compute</a></li>
|
||||
<li><a href="#org7434c5f">2.4.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org9d34def">2.5. Electron-nucleus distances</a>
|
||||
<li><a href="#orgf622bfd">2.5. Electron-nucleus distances</a>
|
||||
<ul>
|
||||
<li><a href="#org0db349f">2.5.1. Get</a></li>
|
||||
<li><a href="#org4e8c31d">2.5.2. Compute</a></li>
|
||||
<li><a href="#orgc5b19ba">2.5.3. Test</a></li>
|
||||
<li><a href="#org2541918">2.5.1. Get</a></li>
|
||||
<li><a href="#org7b9eae7">2.5.2. Compute</a></li>
|
||||
<li><a href="#org6fe37b7">2.5.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orge4aee41">2.6. Electron-nucleus rescaled distances</a>
|
||||
<li><a href="#orgea9d2a1">2.6. Electron-nucleus rescaled distances</a>
|
||||
<ul>
|
||||
<li><a href="#org2893b6f">2.6.1. Get</a></li>
|
||||
<li><a href="#org547a1cd">2.6.2. Compute</a></li>
|
||||
<li><a href="#orgf22286e">2.6.3. Test</a></li>
|
||||
<li><a href="#org3a680c7">2.6.1. Get</a></li>
|
||||
<li><a href="#org25e97cb">2.6.2. Compute</a></li>
|
||||
<li><a href="#org6f15c8a">2.6.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org92b5486">2.7. Electron-nucleus rescaled distance gradients and laplacian with respect to electron coords</a>
|
||||
<li><a href="#org1fc947c">2.7. Electron-nucleus rescaled distance gradients and laplacian with respect to electron coords</a>
|
||||
<ul>
|
||||
<li><a href="#orgacdf4a3">2.7.1. Get</a></li>
|
||||
<li><a href="#org5366020">2.7.2. Compute</a></li>
|
||||
<li><a href="#org4251448">2.7.3. Test</a></li>
|
||||
<li><a href="#orga971b5e">2.7.1. Get</a></li>
|
||||
<li><a href="#orgb1fd155">2.7.2. Compute</a></li>
|
||||
<li><a href="#orgaea837d">2.7.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgc757cd5">2.8. Electron-nucleus potential</a>
|
||||
<li><a href="#org4d6c5f5">2.8. Electron-nucleus potential</a>
|
||||
<ul>
|
||||
<li><a href="#orgb98e42d">2.8.1. Get</a></li>
|
||||
<li><a href="#org76ed19c">2.8.2. Compute</a></li>
|
||||
<li><a href="#org81e0a93">2.8.3. Test</a></li>
|
||||
<li><a href="#org9d60544">2.8.1. Get</a></li>
|
||||
<li><a href="#org84b39a9">2.8.2. Compute</a></li>
|
||||
<li><a href="#org51b9ea4">2.8.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orge8a8fb0">2.9. Generate initial coordinates</a></li>
|
||||
<li><a href="#org07b1264">2.9. Generate initial coordinates</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org015ce43" class="outline-2">
|
||||
<h2 id="org015ce43"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-org9aabb22" class="outline-2">
|
||||
<h2 id="org9aabb22"><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:
|
||||
@ -488,13 +488,13 @@ The following data stored in the context:
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>coord_new</code></td>
|
||||
<td class="org-left"><code>double[3][walk_num][num]</code></td>
|
||||
<td class="org-left">New set of electron coordinates</td>
|
||||
<td class="org-left"><code>qmckl_matrix</code></td>
|
||||
<td class="org-left">Current set of electron coordinates. Pointer to <code>ctx->points</code></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>coord_old</code></td>
|
||||
<td class="org-left"><code>double[3][walk_num][num]</code></td>
|
||||
<td class="org-left"><code>qmckl_matrix</code></td>
|
||||
<td class="org-left">Old set of electron coordinates</td>
|
||||
</tr>
|
||||
|
||||
@ -627,38 +627,38 @@ Computed data:
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org375a22a" class="outline-3">
|
||||
<h3 id="org375a22a"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-org8434ea7" class="outline-3">
|
||||
<h3 id="org8434ea7"><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> {
|
||||
<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">num</span>;
|
||||
<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">up_num</span>;
|
||||
<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">down_num</span>;
|
||||
<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">walk_num</span>;
|
||||
<span style="color: #228b22;">double</span> <span style="color: #a0522d;">rescale_factor_kappa_ee</span>;
|
||||
<span style="color: #228b22;">double</span> <span style="color: #a0522d;">rescale_factor_kappa_en</span>;
|
||||
<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">coord_new_date</span>;
|
||||
<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">ee_distance_date</span>;
|
||||
<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">en_distance_date</span>;
|
||||
<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">ee_pot_date</span>;
|
||||
<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">en_pot_date</span>;
|
||||
<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">ee_distance_rescaled_date</span>;
|
||||
<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">ee_distance_rescaled_deriv_e_date</span>;
|
||||
<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">en_distance_rescaled_date</span>;
|
||||
<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">en_distance_rescaled_deriv_e_date</span>;
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a0522d;">coord_new</span>;
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a0522d;">coord_old</span>;
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a0522d;">ee_distance</span>;
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a0522d;">en_distance</span>;
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a0522d;">ee_pot</span>;
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a0522d;">en_pot</span>;
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a0522d;">ee_distance_rescaled</span>;
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a0522d;">ee_distance_rescaled_deriv_e</span>;
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a0522d;">en_distance_rescaled</span>;
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a0522d;">en_distance_rescaled_deriv_e</span>;
|
||||
<span style="color: #228b22;">int32_t</span> <span style="color: #a0522d;">uninitialized</span>;
|
||||
<span style="color: #228b22;">bool</span> <span style="color: #a0522d;">provided</span>;
|
||||
<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">num</span>;
|
||||
<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">up_num</span>;
|
||||
<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">down_num</span>;
|
||||
<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">walk_num</span>;
|
||||
<span style="color: #228b22;">double</span> <span style="color: #a0522d;">rescale_factor_kappa_ee</span>;
|
||||
<span style="color: #228b22;">double</span> <span style="color: #a0522d;">rescale_factor_kappa_en</span>;
|
||||
<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">coord_new_date</span>;
|
||||
<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">ee_distance_date</span>;
|
||||
<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">en_distance_date</span>;
|
||||
<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">ee_pot_date</span>;
|
||||
<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">en_pot_date</span>;
|
||||
<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">ee_distance_rescaled_date</span>;
|
||||
<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">ee_distance_rescaled_deriv_e_date</span>;
|
||||
<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">en_distance_rescaled_date</span>;
|
||||
<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">en_distance_rescaled_deriv_e_date</span>;
|
||||
<span style="color: #228b22;">qmckl_matrix</span> <span style="color: #a0522d;">coord_new</span>;
|
||||
<span style="color: #228b22;">qmckl_matrix</span> <span style="color: #a0522d;">coord_old</span>;
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a0522d;">ee_distance</span>;
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a0522d;">en_distance</span>;
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a0522d;">ee_pot</span>;
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a0522d;">en_pot</span>;
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a0522d;">ee_distance_rescaled</span>;
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a0522d;">ee_distance_rescaled_deriv_e</span>;
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a0522d;">en_distance_rescaled</span>;
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a0522d;">en_distance_rescaled_deriv_e</span>;
|
||||
<span style="color: #228b22;">int32_t</span> <span style="color: #a0522d;">uninitialized</span>;
|
||||
<span style="color: #228b22;">bool</span> <span style="color: #a0522d;">provided</span>;
|
||||
} <span style="color: #228b22;">qmckl_electron_struct</span>;
|
||||
|
||||
</pre>
|
||||
@ -707,8 +707,8 @@ this mechanism.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7d675b8" class="outline-3">
|
||||
<h3 id="org7d675b8"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-orgcd3f768" class="outline-3">
|
||||
<h3 id="orgcd3f768"><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-orgc5144cb" class="outline-4">
|
||||
<h4 id="orgc5144cb"><span class="section-number-4">1.2.1</span> Number of electrons</h4>
|
||||
<div id="outline-container-org490d4d9" class="outline-4">
|
||||
<h4 id="org490d4d9"><span class="section-number-4">1.2.1</span> Number of electrons</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2c8df9a" class="outline-4">
|
||||
<h4 id="org2c8df9a"><span class="section-number-4">1.2.2</span> Number of walkers</h4>
|
||||
<div id="outline-container-org67b18d9" class="outline-4">
|
||||
<h4 id="org67b18d9"><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,16 +734,16 @@ the wave function. <code>walk_num</code> is the number of walkers.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org00537cb" class="outline-4">
|
||||
<h4 id="org00537cb"><span class="section-number-4">1.2.3</span> Scaling factors Kappa</h4>
|
||||
<div id="outline-container-org7d6d4c9" class="outline-4">
|
||||
<h4 id="org7d6d4c9"><span class="section-number-4">1.2.3</span> Scaling factors Kappa</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org30cec01" class="outline-4">
|
||||
<h4 id="org30cec01"><span class="section-number-4">1.2.4</span> Electron coordinates</h4>
|
||||
<div id="outline-container-orgf15e3c8" class="outline-4">
|
||||
<h4 id="orgf15e3c8"><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
|
||||
to point on a memory block of size <code>size_max</code> ≥ <code>3 * elec_num * walk_num</code>.
|
||||
to point on a memory block of size <code>size_max</code> ≥ <code>3 * elec_num * walk_num</code>.
|
||||
The order of the indices is:
|
||||
</p>
|
||||
|
||||
@ -778,13 +778,19 @@ The order of the indices is:
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
<p>
|
||||
As the <code>coord_new</code> attribute is a pointer equal to <code>points</code>,
|
||||
returning the current electron coordinates is equivalent to
|
||||
returning the current points.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org816ee2b" class="outline-3">
|
||||
<h3 id="org816ee2b"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-org7adbabf" class="outline-3">
|
||||
<h3 id="org7adbabf"><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
|
||||
@ -823,9 +829,9 @@ Next we set the rescale parameter for the rescaled distance metric.
|
||||
<span style="color: #a020f0;">import</span>
|
||||
<span style="color: #a020f0;">implicit</span> <span style="color: #228b22;">none</span>
|
||||
|
||||
<span style="color: #228b22;">integer</span> (<span style="color: #008b8b;">c_int64_t</span>) , <span style="color: #a020f0;">intent</span>(in) , <span style="color: #a020f0;">value</span> ::<span style="color: #a0522d;"> context </span>
|
||||
<span style="color: #228b22;">integer</span> (<span style="color: #008b8b;">c_int64_t</span>) , <span style="color: #a020f0;">intent</span>(in) , <span style="color: #a020f0;">value</span> ::<span style="color: #a0522d;"> context</span>
|
||||
<span style="color: #228b22;">integer</span> (<span style="color: #008b8b;">c_int64_t</span>) , <span style="color: #a020f0;">intent</span>(in) , <span style="color: #a020f0;">value</span> ::<span style="color: #a0522d;"> alpha</span>
|
||||
<span style="color: #228b22;">integer</span> (<span style="color: #008b8b;">c_int64_t</span>) , <span style="color: #a020f0;">intent</span>(in) , <span style="color: #a020f0;">value</span> ::<span style="color: #a0522d;"> beta </span>
|
||||
<span style="color: #228b22;">integer</span> (<span style="color: #008b8b;">c_int64_t</span>) , <span style="color: #a020f0;">intent</span>(in) , <span style="color: #a020f0;">value</span> ::<span style="color: #a0522d;"> beta</span>
|
||||
<span style="color: #a020f0;">end function</span>
|
||||
<span style="color: #a020f0;">end interface</span>
|
||||
|
||||
@ -835,7 +841,7 @@ Next we set the rescale parameter for the rescaled distance metric.
|
||||
<span style="color: #a020f0;">import</span>
|
||||
<span style="color: #a020f0;">implicit</span> <span style="color: #228b22;">none</span>
|
||||
|
||||
<span style="color: #228b22;">integer</span> (<span style="color: #008b8b;">c_int64_t</span>) , <span style="color: #a020f0;">intent</span>(in) , <span style="color: #a020f0;">value</span> ::<span style="color: #a0522d;"> context </span>
|
||||
<span style="color: #228b22;">integer</span> (<span style="color: #008b8b;">c_int64_t</span>) , <span style="color: #a020f0;">intent</span>(in) , <span style="color: #a020f0;">value</span> ::<span style="color: #a0522d;"> context</span>
|
||||
<span style="color: #228b22;">integer</span> (<span style="color: #008b8b;">c_int64_t</span>) , <span style="color: #a020f0;">intent</span>(in) , <span style="color: #a020f0;">value</span> ::<span style="color: #a0522d;"> walk_num</span>
|
||||
<span style="color: #a020f0;">end function</span>
|
||||
<span style="color: #a020f0;">end interface</span>
|
||||
@ -850,6 +856,11 @@ overwritten. This can be done only when the data relative to
|
||||
electrons have been set.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<code>size_max</code> should be equal to <code>elec_num * walk_num * 3</code>, to be symmetric
|
||||
with <code>qmckl_get_electron_coord</code>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Important: changing the electron coordinates increments the date
|
||||
in the context.
|
||||
@ -862,8 +873,8 @@ in the context.
|
||||
<span style="color: #a020f0;">import</span>
|
||||
<span style="color: #a020f0;">implicit</span> <span style="color: #228b22;">none</span>
|
||||
|
||||
<span style="color: #228b22;">integer</span> (<span style="color: #008b8b;">c_int64_t</span>) , <span style="color: #a020f0;">intent</span>(in) , <span style="color: #a020f0;">value</span> ::<span style="color: #a0522d;"> context </span>
|
||||
<span style="color: #228b22;">character</span> , <span style="color: #a020f0;">intent</span>(in) , <span style="color: #a020f0;">value</span> ::<span style="color: #a0522d;"> transp </span>
|
||||
<span style="color: #228b22;">integer</span> (<span style="color: #008b8b;">c_int64_t</span>) , <span style="color: #a020f0;">intent</span>(in) , <span style="color: #a020f0;">value</span> ::<span style="color: #a0522d;"> context</span>
|
||||
<span style="color: #228b22;">character</span> , <span style="color: #a020f0;">intent</span>(in) , <span style="color: #a020f0;">value</span> ::<span style="color: #a0522d;"> transp</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> coord(*)</span>
|
||||
<span style="color: #228b22;">integer</span> (<span style="color: #008b8b;">c_int64_t</span>) , <span style="color: #a020f0;">intent</span>(in) , <span style="color: #a020f0;">value</span> ::<span style="color: #a0522d;"> size_max</span>
|
||||
<span style="color: #a020f0;">end function</span>
|
||||
@ -873,8 +884,8 @@ in the context.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org62d8ee6" class="outline-3">
|
||||
<h3 id="org62d8ee6"><span class="section-number-3">1.4</span> Test</h3>
|
||||
<div id="outline-container-org1cef561" class="outline-3">
|
||||
<h3 id="org1cef561"><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>*/
|
||||
@ -971,6 +982,7 @@ rc = qmckl_set_electron_coord (context, <span style="color: #8b2252;">'N'</span>
|
||||
rc = qmckl_get_electron_coord (context, <span style="color: #8b2252;">'N'</span>, elec_coord2, walk_num*3*elec_num);
|
||||
<span style="color: #0000ff;">assert</span>(rc == QMCKL_SUCCESS);
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">i</span>=0 ; i<3*elec_num*walk_num ; ++i) {
|
||||
printf(<span style="color: #8b2252;">"%f %f\n"</span>, elec_coord[i], elec_coord2[i]);
|
||||
assert( elec_coord[i] == elec_coord2[i] );
|
||||
}
|
||||
|
||||
@ -980,8 +992,8 @@ rc = qmckl_get_electron_coord (context, <span style="color: #8b2252;">'N'</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9e1d1c9" class="outline-2">
|
||||
<h2 id="org9e1d1c9"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-orgc5916ef" class="outline-2">
|
||||
<h2 id="orgc5916ef"><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
|
||||
@ -994,12 +1006,12 @@ current date is stored.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4424c4d" class="outline-3">
|
||||
<h3 id="org4424c4d"><span class="section-number-3">2.1</span> Electron-electron distances</h3>
|
||||
<div id="outline-container-org6c2ccae" class="outline-3">
|
||||
<h3 id="org6c2ccae"><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-org9adbdf8" class="outline-4">
|
||||
<h4 id="org9adbdf8"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-org7ac9456" class="outline-4">
|
||||
<h4 id="org7ac9456"><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>);
|
||||
@ -1008,10 +1020,10 @@ current date is stored.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org11d1f93" class="outline-4">
|
||||
<h4 id="org11d1f93"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div id="outline-container-org3dcb8ac" class="outline-4">
|
||||
<h4 id="org3dcb8ac"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-1-2">
|
||||
<table id="orgbf9c0b6" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org72d0079" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1116,8 +1128,8 @@ current date is stored.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4febe42" class="outline-4">
|
||||
<h4 id="org4febe42"><span class="section-number-4">2.1.3</span> Test</h4>
|
||||
<div id="outline-container-org5dae98c" class="outline-4">
|
||||
<h4 id="org5dae98c"><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>));
|
||||
@ -1151,8 +1163,8 @@ rc = qmckl_get_electron_ee_distance(context, ee_distance);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org97a7f11" class="outline-3">
|
||||
<h3 id="org97a7f11"><span class="section-number-3">2.2</span> Electron-electron rescaled distances</h3>
|
||||
<div id="outline-container-org5f62ea3" class="outline-3">
|
||||
<h3 id="org5f62ea3"><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
|
||||
@ -1170,8 +1182,8 @@ where \(C_{ij}\) is the matrix of electron-electron distances.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0f6f899" class="outline-4">
|
||||
<h4 id="org0f6f899"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div id="outline-container-orgcfb5398" class="outline-4">
|
||||
<h4 id="orgcfb5398"><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>);
|
||||
@ -1180,10 +1192,10 @@ where \(C_{ij}\) is the matrix of electron-electron distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1e6263f" class="outline-4">
|
||||
<h4 id="org1e6263f"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div id="outline-container-orga9455e8" class="outline-4">
|
||||
<h4 id="orga9455e8"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-2-2">
|
||||
<table id="org862ec27" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org4db9521" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1296,8 +1308,8 @@ where \(C_{ij}\) is the matrix of electron-electron distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9d2638f" class="outline-4">
|
||||
<h4 id="org9d2638f"><span class="section-number-4">2.2.3</span> Test</h4>
|
||||
<div id="outline-container-org85ef373" class="outline-4">
|
||||
<h4 id="org85ef373"><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>));
|
||||
@ -1331,21 +1343,21 @@ rc = qmckl_get_electron_ee_distance_rescaled(context, ee_distance_rescaled);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org16fc7e4" class="outline-3">
|
||||
<h3 id="org16fc7e4"><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-org043a7ec" class="outline-3">
|
||||
<h3 id="org043a7ec"><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\)
|
||||
The rescaled distances which is given as \(R = (1 - \exp{-\kappa r})/\kappa\)
|
||||
needs to be perturbed with respect to the electorn coordinates.
|
||||
This data is stored in the <code>ee_distance_rescaled_deriv_e</code> tensor. The
|
||||
The first three elements of this three index tensor <code>[4][num][num]</code> gives the
|
||||
This data is stored in the <code>ee_distance_rescaled_deriv_e</code> tensor. The
|
||||
The first three elements of this three index tensor <code>[4][num][num]</code> gives the
|
||||
derivatives in the x, y, and z directions \(dx, dy, dz\) and the last index
|
||||
gives the Laplacian \(\partial x^2 + \partial y^2 + \partial z^2\).
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0507432" class="outline-4">
|
||||
<h4 id="org0507432"><span class="section-number-4">2.3.1</span> Get</h4>
|
||||
<div id="outline-container-orgc34f1a4" class="outline-4">
|
||||
<h4 id="orgc34f1a4"><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>);
|
||||
@ -1354,10 +1366,10 @@ gives the Laplacian \(\partial x^2 + \partial y^2 + \partial z^2\).
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org26626f9" class="outline-4">
|
||||
<h4 id="org26626f9"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div id="outline-container-org88219d7" class="outline-4">
|
||||
<h4 id="org88219d7"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-3-2">
|
||||
<table id="org045cef8" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org57ef951" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1470,8 +1482,8 @@ gives the Laplacian \(\partial x^2 + \partial y^2 + \partial z^2\).
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgfce2977" class="outline-4">
|
||||
<h4 id="orgfce2977"><span class="section-number-4">2.3.3</span> Test</h4>
|
||||
<div id="outline-container-orgff19bdd" class="outline-4">
|
||||
<h4 id="orgff19bdd"><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>));
|
||||
@ -1506,8 +1518,8 @@ rc = qmckl_get_electron_ee_distance_rescaled_deriv_e(context, ee_distance_rescal
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org07097cc" class="outline-3">
|
||||
<h3 id="org07097cc"><span class="section-number-3">2.4</span> Electron-electron potential</h3>
|
||||
<div id="outline-container-org478cbbd" class="outline-3">
|
||||
<h3 id="org478cbbd"><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.
|
||||
@ -1525,8 +1537,8 @@ distance.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org01ce7a9" class="outline-4">
|
||||
<h4 id="org01ce7a9"><span class="section-number-4">2.4.1</span> Get</h4>
|
||||
<div id="outline-container-orgdee50dc" class="outline-4">
|
||||
<h4 id="orgdee50dc"><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>);
|
||||
@ -1535,10 +1547,10 @@ distance.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org20c07c1" class="outline-4">
|
||||
<h4 id="org20c07c1"><span class="section-number-4">2.4.2</span> Compute</h4>
|
||||
<div id="outline-container-org9aca21f" class="outline-4">
|
||||
<h4 id="org9aca21f"><span class="section-number-4">2.4.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-4-2">
|
||||
<table id="org662fe44" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org98f33a0" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1654,8 +1666,8 @@ distance.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org400c841" class="outline-4">
|
||||
<h4 id="org400c841"><span class="section-number-4">2.4.3</span> Test</h4>
|
||||
<div id="outline-container-org7434c5f" class="outline-4">
|
||||
<h4 id="org7434c5f"><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];
|
||||
@ -1667,12 +1679,12 @@ rc = qmckl_get_electron_ee_potential(context, &(ee_pot[0]));
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org9d34def" class="outline-3">
|
||||
<h3 id="org9d34def"><span class="section-number-3">2.5</span> Electron-nucleus distances</h3>
|
||||
<div id="outline-container-orgf622bfd" class="outline-3">
|
||||
<h3 id="orgf622bfd"><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-org0db349f" class="outline-4">
|
||||
<h4 id="org0db349f"><span class="section-number-4">2.5.1</span> Get</h4>
|
||||
<div id="outline-container-org2541918" class="outline-4">
|
||||
<h4 id="org2541918"><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>);
|
||||
@ -1681,10 +1693,10 @@ rc = qmckl_get_electron_ee_potential(context, &(ee_pot[0]));
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4e8c31d" class="outline-4">
|
||||
<h4 id="org4e8c31d"><span class="section-number-4">2.5.2</span> Compute</h4>
|
||||
<div id="outline-container-org7b9eae7" class="outline-4">
|
||||
<h4 id="org7b9eae7"><span class="section-number-4">2.5.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-5-2">
|
||||
<table id="org936a3ed" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgfb1a4cf" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1809,8 +1821,8 @@ rc = qmckl_get_electron_ee_potential(context, &(ee_pot[0]));
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc5b19ba" class="outline-4">
|
||||
<h4 id="orgc5b19ba"><span class="section-number-4">2.5.3</span> Test</h4>
|
||||
<div id="outline-container-org6fe37b7" class="outline-4">
|
||||
<h4 id="org6fe37b7"><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">
|
||||
@ -1858,11 +1870,11 @@ rc = qmckl_get_electron_en_distance(context, &(en_distance[0][0][0]));
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge4aee41" class="outline-3">
|
||||
<h3 id="orge4aee41"><span class="section-number-3">2.6</span> Electron-nucleus rescaled distances</h3>
|
||||
<div id="outline-container-orgea9d2a1" class="outline-3">
|
||||
<h3 id="orgea9d2a1"><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
|
||||
<code>en_distance_rescaled</code> stores the matrix of the rescaled distances between
|
||||
electrons and nuclei.
|
||||
</p>
|
||||
|
||||
@ -1877,8 +1889,8 @@ where \(C_{ij}\) is the matrix of electron-nucleus distances.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2893b6f" class="outline-4">
|
||||
<h4 id="org2893b6f"><span class="section-number-4">2.6.1</span> Get</h4>
|
||||
<div id="outline-container-org3a680c7" class="outline-4">
|
||||
<h4 id="org3a680c7"><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>);
|
||||
@ -1888,10 +1900,10 @@ where \(C_{ij}\) is the matrix of electron-nucleus distances.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org547a1cd" class="outline-4">
|
||||
<h4 id="org547a1cd"><span class="section-number-4">2.6.2</span> Compute</h4>
|
||||
<div id="outline-container-org25e97cb" class="outline-4">
|
||||
<h4 id="org25e97cb"><span class="section-number-4">2.6.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-6-2">
|
||||
<table id="org9a9ae9b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org477f166" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2031,8 +2043,8 @@ where \(C_{ij}\) is the matrix of electron-nucleus distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf22286e" class="outline-4">
|
||||
<h4 id="orgf22286e"><span class="section-number-4">2.6.3</span> Test</h4>
|
||||
<div id="outline-container-org6f15c8a" class="outline-4">
|
||||
<h4 id="org6f15c8a"><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">
|
||||
@ -2060,7 +2072,6 @@ rc = qmckl_get_electron_en_distance_rescaled(context, &(en_distance_rescaled
|
||||
<span style="color: #0000ff;">assert</span>(fabs(<span style="color: #228b22;">en_distance_rescaled</span>[0][0][0] - 0.9994721712909764) < 1.e-12);
|
||||
|
||||
// <span style="color: #b22222;">(1,2,1)</span>
|
||||
printf(<span style="color: #8b2252;">"%f\n%f\n"</span>, en_distance_rescaled[0][1][0] , 0.9998448354439821);
|
||||
<span style="color: #0000ff;">assert</span>(fabs(<span style="color: #228b22;">en_distance_rescaled</span>[0][1][0] - 0.9998448354439821) < 1.e-12);
|
||||
|
||||
// <span style="color: #b22222;">(2,1,1)</span>
|
||||
@ -2081,21 +2092,21 @@ printf(<span style="color: #8b2252;">"%f\n%f\n"</span>, en_distance_rescaled[0][
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org92b5486" class="outline-3">
|
||||
<h3 id="org92b5486"><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-org1fc947c" class="outline-3">
|
||||
<h3 id="org1fc947c"><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\)
|
||||
The rescaled distances which is given as \(R = (1 - \exp{-\kappa r})/\kappa\)
|
||||
needs to be perturbed with respect to the nuclear coordinates.
|
||||
This data is stored in the <code>en_distance_rescaled_deriv_e</code> tensor. The
|
||||
The first three elements of this three index tensor <code>[4][nucl_num][elec_num]</code> gives the
|
||||
This data is stored in the <code>en_distance_rescaled_deriv_e</code> tensor. The
|
||||
The first three elements of this three index tensor <code>[4][nucl_num][elec_num]</code> gives the
|
||||
derivatives in the x, y, and z directions \(dx, dy, dz\) and the last index
|
||||
gives the Laplacian \(\partial x^2 + \partial y^2 + \partial z^2\).
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgacdf4a3" class="outline-4">
|
||||
<h4 id="orgacdf4a3"><span class="section-number-4">2.7.1</span> Get</h4>
|
||||
<div id="outline-container-orga971b5e" class="outline-4">
|
||||
<h4 id="orga971b5e"><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>);
|
||||
@ -2104,10 +2115,10 @@ gives the Laplacian \(\partial x^2 + \partial y^2 + \partial z^2\).
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5366020" class="outline-4">
|
||||
<h4 id="org5366020"><span class="section-number-4">2.7.2</span> Compute</h4>
|
||||
<div id="outline-container-orgb1fd155" class="outline-4">
|
||||
<h4 id="orgb1fd155"><span class="section-number-4">2.7.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-7-2">
|
||||
<table id="org3fb48c7" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org23eb7a7" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2248,8 +2259,8 @@ gives the Laplacian \(\partial x^2 + \partial y^2 + \partial z^2\).
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4251448" class="outline-4">
|
||||
<h4 id="org4251448"><span class="section-number-4">2.7.3</span> Test</h4>
|
||||
<div id="outline-container-orgaea837d" class="outline-4">
|
||||
<h4 id="orgaea837d"><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">
|
||||
@ -2301,8 +2312,8 @@ rc = qmckl_get_electron_en_distance_rescaled_deriv_e(context, &(en_distance_
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc757cd5" class="outline-3">
|
||||
<h3 id="orgc757cd5"><span class="section-number-3">2.8</span> Electron-nucleus potential</h3>
|
||||
<div id="outline-container-org4d6c5f5" class="outline-3">
|
||||
<h3 id="org4d6c5f5"><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
|
||||
@ -2320,8 +2331,8 @@ distance and \[Z_A\] is the nuclear charge.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb98e42d" class="outline-4">
|
||||
<h4 id="orgb98e42d"><span class="section-number-4">2.8.1</span> Get</h4>
|
||||
<div id="outline-container-org9d60544" class="outline-4">
|
||||
<h4 id="org9d60544"><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>);
|
||||
@ -2330,10 +2341,10 @@ distance and \[Z_A\] is the nuclear charge.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org76ed19c" class="outline-4">
|
||||
<h4 id="org76ed19c"><span class="section-number-4">2.8.2</span> Compute</h4>
|
||||
<div id="outline-container-org84b39a9" class="outline-4">
|
||||
<h4 id="org84b39a9"><span class="section-number-4">2.8.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-8-2">
|
||||
<table id="org6d2994a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org6ec2655" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2467,8 +2478,8 @@ distance and \[Z_A\] is the nuclear charge.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org81e0a93" class="outline-4">
|
||||
<h4 id="org81e0a93"><span class="section-number-4">2.8.3</span> Test</h4>
|
||||
<div id="outline-container-org51b9ea4" class="outline-4">
|
||||
<h4 id="org51b9ea4"><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];
|
||||
@ -2481,14 +2492,14 @@ rc = qmckl_get_electron_en_potential(context, &(en_pot[0]));
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge8a8fb0" class="outline-3">
|
||||
<h3 id="orge8a8fb0"><span class="section-number-3">2.9</span> Generate initial coordinates</h3>
|
||||
<div id="outline-container-org07b1264" class="outline-3">
|
||||
<h3 id="org07b1264"><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-01-23 Sun 18:08</p>
|
||||
<p class="date">Created: 2022-01-26 Wed 16: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-01-23 Sun 18:08 -->
|
||||
<!-- 2022-01-26 Wed 16: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="#org8cc9cb9">1. Decoding errors</a></li>
|
||||
<li><a href="#orgeda63a0">2. Data structure in context</a></li>
|
||||
<li><a href="#orgdd3298a">3. Updating errors in the context</a></li>
|
||||
<li><a href="#orged31786">4. Get the error</a></li>
|
||||
<li><a href="#orgf87c6c5">5. Failing</a></li>
|
||||
<li><a href="#orgd883b3f">1. Decoding errors</a></li>
|
||||
<li><a href="#orgbe8da37">2. Data structure in context</a></li>
|
||||
<li><a href="#org12074d1">3. Updating errors in the context</a></li>
|
||||
<li><a href="#org0456be3">4. Get the error</a></li>
|
||||
<li><a href="#orge123855">5. Failing</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8cc9cb9" class="outline-2">
|
||||
<h2 id="org8cc9cb9"><span class="section-number-2">1</span> Decoding errors</h2>
|
||||
<div id="outline-container-orgd883b3f" class="outline-2">
|
||||
<h2 id="orgd883b3f"><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-orgeda63a0" class="outline-2">
|
||||
<h2 id="orgeda63a0"><span class="section-number-2">2</span> Data structure in context</h2>
|
||||
<div id="outline-container-orgbe8da37" class="outline-2">
|
||||
<h2 id="orgbe8da37"><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-orgdd3298a" class="outline-2">
|
||||
<h2 id="orgdd3298a"><span class="section-number-2">3</span> Updating errors in the context</h2>
|
||||
<div id="outline-container-org12074d1" class="outline-2">
|
||||
<h2 id="org12074d1"><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-orged31786" class="outline-2">
|
||||
<h2 id="orged31786"><span class="section-number-2">4</span> Get the error</h2>
|
||||
<div id="outline-container-org0456be3" class="outline-2">
|
||||
<h2 id="org0456be3"><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-orgf87c6c5" class="outline-2">
|
||||
<h2 id="orgf87c6c5"><span class="section-number-2">5</span> Failing</h2>
|
||||
<div id="outline-container-orge123855" class="outline-2">
|
||||
<h2 id="orge123855"><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-01-23 Sun 18:08</p>
|
||||
<p class="date">Created: 2022-01-26 Wed 16: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-01-23 Sun 18:09 -->
|
||||
<!-- 2022-01-26 Wed 16: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,104 +333,104 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org19da4a3">1. Context</a>
|
||||
<li><a href="#orgfea0a70">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#orge53f111">1.1. Data structure</a></li>
|
||||
<li><a href="#org1f284c8">1.2. Access functions</a></li>
|
||||
<li><a href="#org4bb929a">1.3. Initialization functions</a></li>
|
||||
<li><a href="#orgba8df0f">1.4. Test</a></li>
|
||||
<li><a href="#orgf8e73b4">1.1. Data structure</a></li>
|
||||
<li><a href="#orgaff676b">1.2. Access functions</a></li>
|
||||
<li><a href="#org4fe5072">1.3. Initialization functions</a></li>
|
||||
<li><a href="#orge02476b">1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgbf014ef">2. Computation</a>
|
||||
<li><a href="#org949d7bc">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#org7d1edd3">2.1. Asymptotic component for \(f_{ee}\)</a>
|
||||
<li><a href="#org5db599f">2.1. Asymptotic component for \(f_{ee}\)</a>
|
||||
<ul>
|
||||
<li><a href="#org1ad150f">2.1.1. Get</a></li>
|
||||
<li><a href="#orgeb9f24d">2.1.2. Compute</a></li>
|
||||
<li><a href="#orgd100587">2.1.3. Test</a></li>
|
||||
<li><a href="#org7165678">2.1.1. Get</a></li>
|
||||
<li><a href="#orgbf3b53c">2.1.2. Compute</a></li>
|
||||
<li><a href="#org43c23df">2.1.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org6e9c3a0">2.2. Electron-electron component \(f_{ee}\)</a>
|
||||
<li><a href="#orgd82d405">2.2. Electron-electron component \(f_{ee}\)</a>
|
||||
<ul>
|
||||
<li><a href="#orgea718bc">2.2.1. Get</a></li>
|
||||
<li><a href="#orgfd88c3e">2.2.2. Compute</a></li>
|
||||
<li><a href="#orgb07e5bb">2.2.3. Test</a></li>
|
||||
<li><a href="#org6592b49">2.2.1. Get</a></li>
|
||||
<li><a href="#org88e807f">2.2.2. Compute</a></li>
|
||||
<li><a href="#orgcb327b5">2.2.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org033344c">2.3. Electron-electron component derivative \(f'_{ee}\)</a>
|
||||
<li><a href="#orgb2bc441">2.3. Electron-electron component derivative \(f'_{ee}\)</a>
|
||||
<ul>
|
||||
<li><a href="#orgfdc3a2f">2.3.1. Get</a></li>
|
||||
<li><a href="#org26dc70a">2.3.2. Compute</a></li>
|
||||
<li><a href="#orgb7a7071">2.3.3. Test</a></li>
|
||||
<li><a href="#orgb923a46">2.3.1. Get</a></li>
|
||||
<li><a href="#org8f16ada">2.3.2. Compute</a></li>
|
||||
<li><a href="#org841d598">2.3.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org28c7876">2.4. Electron-nucleus component \(f_{en}\)</a>
|
||||
<li><a href="#orgd286a7b">2.4. Electron-nucleus component \(f_{en}\)</a>
|
||||
<ul>
|
||||
<li><a href="#org8cfa20f">2.4.1. Get</a></li>
|
||||
<li><a href="#org54c83f9">2.4.2. Compute</a></li>
|
||||
<li><a href="#org2e7d05b">2.4.3. Test</a></li>
|
||||
<li><a href="#orga7fba24">2.4.1. Get</a></li>
|
||||
<li><a href="#org661fff4">2.4.2. Compute</a></li>
|
||||
<li><a href="#org9fda4d9">2.4.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org9ad4fda">2.5. Electron-nucleus component derivative \(f'_{en}\)</a>
|
||||
<li><a href="#orge77186a">2.5. Electron-nucleus component derivative \(f'_{en}\)</a>
|
||||
<ul>
|
||||
<li><a href="#org130f1d0">2.5.1. Get</a></li>
|
||||
<li><a href="#orgc143776">2.5.2. Compute</a></li>
|
||||
<li><a href="#orga67e421">2.5.3. Test</a></li>
|
||||
<li><a href="#org3a9f4a2">2.5.1. Get</a></li>
|
||||
<li><a href="#org00fe88b">2.5.2. Compute</a></li>
|
||||
<li><a href="#org3b12ad5">2.5.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org46143cb">2.6. Electron-electron rescaled distances for each order</a>
|
||||
<li><a href="#orgdff120a">2.6. Electron-electron rescaled distances for each order</a>
|
||||
<ul>
|
||||
<li><a href="#org0de1768">2.6.1. Get</a></li>
|
||||
<li><a href="#orgc16266f">2.6.2. Compute</a></li>
|
||||
<li><a href="#org94e75f8">2.6.3. Test</a></li>
|
||||
<li><a href="#org10c3d72">2.6.1. Get</a></li>
|
||||
<li><a href="#orgba84194">2.6.2. Compute</a></li>
|
||||
<li><a href="#orgbed8cbd">2.6.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgc85946f">2.7. Electron-electron rescaled distances for each order and derivatives</a>
|
||||
<li><a href="#orgda1eb93">2.7. Electron-electron rescaled distances for each order and derivatives</a>
|
||||
<ul>
|
||||
<li><a href="#org90162f7">2.7.1. Get</a></li>
|
||||
<li><a href="#orgb925e8b">2.7.2. Compute</a></li>
|
||||
<li><a href="#org078a59d">2.7.3. Test</a></li>
|
||||
<li><a href="#org7b1259d">2.7.1. Get</a></li>
|
||||
<li><a href="#org4f87fe3">2.7.2. Compute</a></li>
|
||||
<li><a href="#orgc22a4e1">2.7.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orga17ad07">2.8. Electron-nucleus rescaled distances for each order</a>
|
||||
<li><a href="#org9935bb6">2.8. Electron-nucleus rescaled distances for each order</a>
|
||||
<ul>
|
||||
<li><a href="#org50e6386">2.8.1. Get</a></li>
|
||||
<li><a href="#org0fcf848">2.8.2. Compute</a></li>
|
||||
<li><a href="#org508eb4d">2.8.3. Test</a></li>
|
||||
<li><a href="#orgc9db3c6">2.8.1. Get</a></li>
|
||||
<li><a href="#orgc398347">2.8.2. Compute</a></li>
|
||||
<li><a href="#orgc6a01ed">2.8.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org0e2a6c9">2.9. Electron-nucleus rescaled distances for each order and derivatives</a>
|
||||
<li><a href="#org4d47006">2.9. Electron-nucleus rescaled distances for each order and derivatives</a>
|
||||
<ul>
|
||||
<li><a href="#orgafaf3a9">2.9.1. Get</a></li>
|
||||
<li><a href="#orgd0e553c">2.9.2. Compute</a></li>
|
||||
<li><a href="#orge6676fd">2.9.3. Test</a></li>
|
||||
<li><a href="#org13504e4">2.9.1. Get</a></li>
|
||||
<li><a href="#org4cff6fc">2.9.2. Compute</a></li>
|
||||
<li><a href="#orgd386f81">2.9.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org5702b88">2.10. Prepare for electron-electron-nucleus Jastrow \(f_{een}\)</a>
|
||||
<li><a href="#orgf9581d9">2.10. Prepare for electron-electron-nucleus Jastrow \(f_{een}\)</a>
|
||||
<ul>
|
||||
<li><a href="#orgff28a38">2.10.1. Get</a></li>
|
||||
<li><a href="#orga14d55b">2.10.2. Compute dim<sub>cord</sub><sub>vect</sub></a></li>
|
||||
<li><a href="#orgfdb2a95">2.10.3. Compute cord<sub>vect</sub><sub>full</sub></a></li>
|
||||
<li><a href="#orgcefc094">2.10.4. Compute lkpm<sub>combined</sub><sub>index</sub></a></li>
|
||||
<li><a href="#orgf6b6b5f">2.10.5. Compute tmp<sub>c</sub></a></li>
|
||||
<li><a href="#org14e546e">2.10.6. Compute dtmp<sub>c</sub></a></li>
|
||||
<li><a href="#orgf9b9605">2.10.7. Test</a></li>
|
||||
<li><a href="#org3fe9bbc">2.10.1. Get</a></li>
|
||||
<li><a href="#orga332d7a">2.10.2. Compute dim<sub>cord</sub><sub>vect</sub></a></li>
|
||||
<li><a href="#orga2a0afb">2.10.3. Compute cord<sub>vect</sub><sub>full</sub></a></li>
|
||||
<li><a href="#org81fbef1">2.10.4. Compute lkpm<sub>combined</sub><sub>index</sub></a></li>
|
||||
<li><a href="#org0c9c6a5">2.10.5. Compute tmp<sub>c</sub></a></li>
|
||||
<li><a href="#org40d5dda">2.10.6. Compute dtmp<sub>c</sub></a></li>
|
||||
<li><a href="#org1e20c61">2.10.7. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org77f58fa">2.11. Electron-electron-nucleus Jastrow \(f_{een}\)</a>
|
||||
<li><a href="#orgdacd12c">2.11. Electron-electron-nucleus Jastrow \(f_{een}\)</a>
|
||||
<ul>
|
||||
<li><a href="#orge170a94">2.11.1. Get</a></li>
|
||||
<li><a href="#orgdeb8236">2.11.2. Compute naive</a></li>
|
||||
<li><a href="#org5341211">2.11.3. Compute</a></li>
|
||||
<li><a href="#orgc4f8f0f">2.11.4. Test</a></li>
|
||||
<li><a href="#orgbe8ca2e">2.11.1. Get</a></li>
|
||||
<li><a href="#org4f72e72">2.11.2. Compute naive</a></li>
|
||||
<li><a href="#org0eb5f4b">2.11.3. Compute</a></li>
|
||||
<li><a href="#orge4f1545">2.11.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org8a4699d">2.12. Electron-electron-nucleus Jastrow \(f_{een}\) derivative</a>
|
||||
<li><a href="#org64b8377">2.12. Electron-electron-nucleus Jastrow \(f_{een}\) derivative</a>
|
||||
<ul>
|
||||
<li><a href="#orga076f74">2.12.1. Get</a></li>
|
||||
<li><a href="#orgdc1c9c4">2.12.2. Compute Naive</a></li>
|
||||
<li><a href="#orgcd0709b">2.12.3. Compute</a></li>
|
||||
<li><a href="#orgcfd80fc">2.12.4. Test</a></li>
|
||||
<li><a href="#org0a1340a">2.12.1. Get</a></li>
|
||||
<li><a href="#org8581241">2.12.2. Compute Naive</a></li>
|
||||
<li><a href="#orgf617083">2.12.3. Compute</a></li>
|
||||
<li><a href="#org34cca24">2.12.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -439,14 +439,14 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org19da4a3" class="outline-2">
|
||||
<h2 id="org19da4a3"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-orgfea0a70" class="outline-2">
|
||||
<h2 id="orgfea0a70"><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:
|
||||
</p>
|
||||
|
||||
<table id="orga7375de" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org284a2c1" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -775,7 +775,7 @@ For H2O we have the following data:
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-python" id="org3d74358"><span style="color: #a020f0;">import</span> numpy <span style="color: #a020f0;">as</span> np
|
||||
<pre class="src src-python" id="org864052a"><span style="color: #a020f0;">import</span> numpy <span style="color: #a020f0;">as</span> np
|
||||
|
||||
<span style="color: #a0522d;">elec_num</span> = 10
|
||||
<span style="color: #a0522d;">nucl_num</span> = 2
|
||||
@ -925,8 +925,8 @@ For H2O we have the following data:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge53f111" class="outline-3">
|
||||
<h3 id="orge53f111"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-orgf8e73b4" class="outline-3">
|
||||
<h3 id="orgf8e73b4"><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_jastrow_struct</span>{
|
||||
@ -1013,8 +1013,8 @@ this mechanism.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1f284c8" class="outline-3">
|
||||
<h3 id="org1f284c8"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-orgaff676b" class="outline-3">
|
||||
<h3 id="orgaff676b"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<p>
|
||||
Along with these core functions, calculation of the jastrow factor
|
||||
@ -1034,8 +1034,8 @@ function returns <code>true</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4bb929a" class="outline-3">
|
||||
<h3 id="org4bb929a"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-org4fe5072" class="outline-3">
|
||||
<h3 id="org4fe5072"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div class="outline-text-3" id="text-1-3">
|
||||
<p>
|
||||
To prepare for the Jastrow and its derivative, all the following functions need to be
|
||||
@ -1061,8 +1061,8 @@ are precontracted using BLAS LEVEL 3 operations for an optimal FLOP count.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgba8df0f" class="outline-3">
|
||||
<h3 id="orgba8df0f"><span class="section-number-3">1.4</span> Test</h3>
|
||||
<div id="outline-container-orge02476b" class="outline-3">
|
||||
<h3 id="orge02476b"><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>*/
|
||||
@ -1237,8 +1237,8 @@ rc = qmckl_get_nucleus_charge(context, nucl_charge2, nucl_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbf014ef" class="outline-2">
|
||||
<h2 id="orgbf014ef"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-org949d7bc" class="outline-2">
|
||||
<h2 id="org949d7bc"><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
|
||||
@ -1251,8 +1251,8 @@ current date is stored.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7d1edd3" class="outline-3">
|
||||
<h3 id="org7d1edd3"><span class="section-number-3">2.1</span> Asymptotic component for \(f_{ee}\)</h3>
|
||||
<div id="outline-container-org5db599f" class="outline-3">
|
||||
<h3 id="org5db599f"><span class="section-number-3">2.1</span> Asymptotic component for \(f_{ee}\)</h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
<p>
|
||||
Calculate the asymptotic component <code>asymp_jasb</code> to be substracted from the final
|
||||
@ -1267,8 +1267,8 @@ via the <code>bord_vector</code> and the electron-electron rescale factor <code>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1ad150f" class="outline-4">
|
||||
<h4 id="org1ad150f"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-org7165678" class="outline-4">
|
||||
<h4 id="org7165678"><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_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>);
|
||||
@ -1277,10 +1277,10 @@ via the <code>bord_vector</code> and the electron-electron rescale factor <code>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgeb9f24d" class="outline-4">
|
||||
<h4 id="orgeb9f24d"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div id="outline-container-orgbf3b53c" class="outline-4">
|
||||
<h4 id="orgbf3b53c"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-1-2">
|
||||
<table id="orgb3c53c7" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgdf8497c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1393,8 +1393,8 @@ via the <code>bord_vector</code> and the electron-electron rescale factor <code>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgd100587" class="outline-4">
|
||||
<h4 id="orgd100587"><span class="section-number-4">2.1.3</span> Test</h4>
|
||||
<div id="outline-container-org43c23df" class="outline-4">
|
||||
<h4 id="org43c23df"><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>));
|
||||
@ -1446,8 +1446,8 @@ rc = qmckl_get_jastrow_asymp_jasb(context, asymp_jasb);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6e9c3a0" class="outline-3">
|
||||
<h3 id="org6e9c3a0"><span class="section-number-3">2.2</span> Electron-electron component \(f_{ee}\)</h3>
|
||||
<div id="outline-container-orgd82d405" class="outline-3">
|
||||
<h3 id="orgd82d405"><span class="section-number-3">2.2</span> Electron-electron component \(f_{ee}\)</h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
<p>
|
||||
Calculate the electron-electron jastrow component <code>factor_ee</code> using the <code>asymp_jasb</code>
|
||||
@ -1462,8 +1462,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-orgea718bc" class="outline-4">
|
||||
<h4 id="orgea718bc"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div id="outline-container-org6592b49" class="outline-4">
|
||||
<h4 id="org6592b49"><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_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>);
|
||||
@ -1472,10 +1472,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-orgfd88c3e" class="outline-4">
|
||||
<h4 id="orgfd88c3e"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div id="outline-container-org88e807f" class="outline-4">
|
||||
<h4 id="org88e807f"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-2-2">
|
||||
<table id="orgabb8946" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org82450bb" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1650,8 +1650,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-orgb07e5bb" class="outline-4">
|
||||
<h4 id="orgb07e5bb"><span class="section-number-4">2.2.3</span> Test</h4>
|
||||
<div id="outline-container-orgcb327b5" class="outline-4">
|
||||
<h4 id="orgcb327b5"><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;">Check if Jastrow is properly initialized </span>*/
|
||||
@ -1669,8 +1669,8 @@ rc = qmckl_get_jastrow_factor_ee(context, factor_ee);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org033344c" class="outline-3">
|
||||
<h3 id="org033344c"><span class="section-number-3">2.3</span> Electron-electron component derivative \(f'_{ee}\)</h3>
|
||||
<div id="outline-container-orgb2bc441" class="outline-3">
|
||||
<h3 id="orgb2bc441"><span class="section-number-3">2.3</span> Electron-electron component derivative \(f'_{ee}\)</h3>
|
||||
<div class="outline-text-3" id="text-2-3">
|
||||
<p>
|
||||
Calculate the derivative of the <code>factor_ee</code> using the <code>ee_distance_rescaled</code> and
|
||||
@ -1685,8 +1685,8 @@ TODO: Add equation
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgfdc3a2f" class="outline-4">
|
||||
<h4 id="orgfdc3a2f"><span class="section-number-4">2.3.1</span> Get</h4>
|
||||
<div id="outline-container-orgb923a46" class="outline-4">
|
||||
<h4 id="orgb923a46"><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_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>);
|
||||
@ -1695,10 +1695,10 @@ TODO: Add equation
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org26dc70a" class="outline-4">
|
||||
<h4 id="org26dc70a"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div id="outline-container-org8f16ada" class="outline-4">
|
||||
<h4 id="org8f16ada"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-3-2">
|
||||
<table id="org2a8b8bc" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org2f827dd" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1913,8 +1913,8 @@ TODO: Add equation
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgb7a7071" class="outline-4">
|
||||
<h4 id="orgb7a7071"><span class="section-number-4">2.3.3</span> Test</h4>
|
||||
<div id="outline-container-org841d598" class="outline-4">
|
||||
<h4 id="org841d598"><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;">Check if Jastrow is properly initialized </span>*/
|
||||
@ -1936,8 +1936,8 @@ rc = qmckl_get_jastrow_factor_ee_deriv_e(context, &(factor_ee_deriv_e[0][0][
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org28c7876" class="outline-3">
|
||||
<h3 id="org28c7876"><span class="section-number-3">2.4</span> Electron-nucleus component \(f_{en}\)</h3>
|
||||
<div id="outline-container-orgd286a7b" class="outline-3">
|
||||
<h3 id="orgd286a7b"><span class="section-number-3">2.4</span> Electron-nucleus component \(f_{en}\)</h3>
|
||||
<div class="outline-text-3" id="text-2-4">
|
||||
<p>
|
||||
Calculate the electron-electron jastrow component <code>factor_en</code> using the <code>aord_vector</code>
|
||||
@ -1952,8 +1952,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-org8cfa20f" class="outline-4">
|
||||
<h4 id="org8cfa20f"><span class="section-number-4">2.4.1</span> Get</h4>
|
||||
<div id="outline-container-orga7fba24" class="outline-4">
|
||||
<h4 id="orga7fba24"><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_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>);
|
||||
@ -1962,10 +1962,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-org54c83f9" class="outline-4">
|
||||
<h4 id="org54c83f9"><span class="section-number-4">2.4.2</span> Compute</h4>
|
||||
<div id="outline-container-org661fff4" class="outline-4">
|
||||
<h4 id="org661fff4"><span class="section-number-4">2.4.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-4-2">
|
||||
<table id="org79867b6" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org0038a20" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2147,8 +2147,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-org2e7d05b" class="outline-4">
|
||||
<h4 id="org2e7d05b"><span class="section-number-4">2.4.3</span> Test</h4>
|
||||
<div id="outline-container-org9fda4d9" class="outline-4">
|
||||
<h4 id="org9fda4d9"><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: #b22222;">Check if Jastrow is properly initialized </span>*/
|
||||
@ -2166,8 +2166,8 @@ rc = qmckl_get_jastrow_factor_en(context, factor_en);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9ad4fda" class="outline-3">
|
||||
<h3 id="org9ad4fda"><span class="section-number-3">2.5</span> Electron-nucleus component derivative \(f'_{en}\)</h3>
|
||||
<div id="outline-container-orge77186a" class="outline-3">
|
||||
<h3 id="orge77186a"><span class="section-number-3">2.5</span> Electron-nucleus component derivative \(f'_{en}\)</h3>
|
||||
<div class="outline-text-3" id="text-2-5">
|
||||
<p>
|
||||
Calculate the electron-electron jastrow component <code>factor_en_deriv_e</code> derivative
|
||||
@ -2180,8 +2180,8 @@ TODO: write equations.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org130f1d0" class="outline-4">
|
||||
<h4 id="org130f1d0"><span class="section-number-4">2.5.1</span> Get</h4>
|
||||
<div id="outline-container-org3a9f4a2" class="outline-4">
|
||||
<h4 id="org3a9f4a2"><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_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>);
|
||||
@ -2190,10 +2190,10 @@ TODO: write equations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc143776" class="outline-4">
|
||||
<h4 id="orgc143776"><span class="section-number-4">2.5.2</span> Compute</h4>
|
||||
<div id="outline-container-org00fe88b" class="outline-4">
|
||||
<h4 id="org00fe88b"><span class="section-number-4">2.5.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-5-2">
|
||||
<table id="orgfe9d971" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgb9dfb29" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2414,8 +2414,8 @@ TODO: write equations.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orga67e421" class="outline-4">
|
||||
<h4 id="orga67e421"><span class="section-number-4">2.5.3</span> Test</h4>
|
||||
<div id="outline-container-org3b12ad5" class="outline-4">
|
||||
<h4 id="org3b12ad5"><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">/* <span style="color: #b22222;">Check if Jastrow is properly initialized </span>*/
|
||||
@ -2437,8 +2437,8 @@ rc = qmckl_get_jastrow_factor_en_deriv_e(context, &(factor_en_deriv_e[0][0][
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org46143cb" class="outline-3">
|
||||
<h3 id="org46143cb"><span class="section-number-3">2.6</span> Electron-electron rescaled distances for each order</h3>
|
||||
<div id="outline-container-orgdff120a" class="outline-3">
|
||||
<h3 id="orgdff120a"><span class="section-number-3">2.6</span> Electron-electron rescaled distances for each order</h3>
|
||||
<div class="outline-text-3" id="text-2-6">
|
||||
<p>
|
||||
<code>een_rescaled_e</code> stores the table of the rescaled distances between all
|
||||
@ -2456,8 +2456,8 @@ where \(C_{ij}\) is the matrix of electron-electron distances.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0de1768" class="outline-4">
|
||||
<h4 id="org0de1768"><span class="section-number-4">2.6.1</span> Get</h4>
|
||||
<div id="outline-container-org10c3d72" class="outline-4">
|
||||
<h4 id="org10c3d72"><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_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>);
|
||||
@ -2466,10 +2466,10 @@ where \(C_{ij}\) is the matrix of electron-electron distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc16266f" class="outline-4">
|
||||
<h4 id="orgc16266f"><span class="section-number-4">2.6.2</span> Compute</h4>
|
||||
<div id="outline-container-orgba84194" class="outline-4">
|
||||
<h4 id="orgba84194"><span class="section-number-4">2.6.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-6-2">
|
||||
<table id="orgd001271" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org73a00e9" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2643,8 +2643,8 @@ where \(C_{ij}\) is the matrix of electron-electron distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org94e75f8" class="outline-4">
|
||||
<h4 id="org94e75f8"><span class="section-number-4">2.6.3</span> Test</h4>
|
||||
<div id="outline-container-orgbed8cbd" class="outline-4">
|
||||
<h4 id="orgbed8cbd"><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"><span style="color: #0000ff;">assert</span>(<span style="color: #228b22;">qmckl_electron_provided</span>(<span style="color: #a0522d;">context</span>));
|
||||
@ -2667,8 +2667,8 @@ rc = qmckl_get_jastrow_een_rescaled_e(context, &(een_rescaled_e[0][0][0][0])
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc85946f" class="outline-3">
|
||||
<h3 id="orgc85946f"><span class="section-number-3">2.7</span> Electron-electron rescaled distances for each order and derivatives</h3>
|
||||
<div id="outline-container-orgda1eb93" class="outline-3">
|
||||
<h3 id="orgda1eb93"><span class="section-number-3">2.7</span> Electron-electron rescaled distances for each order and derivatives</h3>
|
||||
<div class="outline-text-3" id="text-2-7">
|
||||
<p>
|
||||
<code>een_rescaled_e_deriv_e</code> stores the table of the derivatives of the
|
||||
@ -2683,8 +2683,8 @@ TODO: write formulae
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org90162f7" class="outline-4">
|
||||
<h4 id="org90162f7"><span class="section-number-4">2.7.1</span> Get</h4>
|
||||
<div id="outline-container-org7b1259d" class="outline-4">
|
||||
<h4 id="org7b1259d"><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_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>);
|
||||
@ -2693,10 +2693,10 @@ TODO: write formulae
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb925e8b" class="outline-4">
|
||||
<h4 id="orgb925e8b"><span class="section-number-4">2.7.2</span> Compute</h4>
|
||||
<div id="outline-container-org4f87fe3" class="outline-4">
|
||||
<h4 id="org4f87fe3"><span class="section-number-4">2.7.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-7-2">
|
||||
<table id="orga1c88c5" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org69ec739" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2883,8 +2883,8 @@ TODO: write formulae
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org078a59d" class="outline-4">
|
||||
<h4 id="org078a59d"><span class="section-number-4">2.7.3</span> Test</h4>
|
||||
<div id="outline-container-orgc22a4e1" class="outline-4">
|
||||
<h4 id="orgc22a4e1"><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">//<span style="color: #b22222;">assert(qmckl_electron_provided(context));</span>
|
||||
@ -2904,8 +2904,8 @@ rc = qmckl_get_jastrow_een_rescaled_e_deriv_e(context, &(een_rescaled_e_deri
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga17ad07" class="outline-3">
|
||||
<h3 id="orga17ad07"><span class="section-number-3">2.8</span> Electron-nucleus rescaled distances for each order</h3>
|
||||
<div id="outline-container-org9935bb6" class="outline-3">
|
||||
<h3 id="org9935bb6"><span class="section-number-3">2.8</span> Electron-nucleus rescaled distances for each order</h3>
|
||||
<div class="outline-text-3" id="text-2-8">
|
||||
<p>
|
||||
<code>een_rescaled_n</code> stores the table of the rescaled distances between
|
||||
@ -2923,8 +2923,8 @@ where \(C_{ia}\) is the matrix of electron-nucleus distances.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org50e6386" class="outline-4">
|
||||
<h4 id="org50e6386"><span class="section-number-4">2.8.1</span> Get</h4>
|
||||
<div id="outline-container-orgc9db3c6" class="outline-4">
|
||||
<h4 id="orgc9db3c6"><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_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>);
|
||||
@ -2933,10 +2933,10 @@ where \(C_{ia}\) is the matrix of electron-nucleus distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0fcf848" class="outline-4">
|
||||
<h4 id="org0fcf848"><span class="section-number-4">2.8.2</span> Compute</h4>
|
||||
<div id="outline-container-orgc398347" class="outline-4">
|
||||
<h4 id="orgc398347"><span class="section-number-4">2.8.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-8-2">
|
||||
<table id="org76d3706" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgc77551b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3100,8 +3100,8 @@ where \(C_{ia}\) is the matrix of electron-nucleus distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org508eb4d" class="outline-4">
|
||||
<h4 id="org508eb4d"><span class="section-number-4">2.8.3</span> Test</h4>
|
||||
<div id="outline-container-orgc6a01ed" class="outline-4">
|
||||
<h4 id="orgc6a01ed"><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: #0000ff;">assert</span>(<span style="color: #228b22;">qmckl_electron_provided</span>(<span style="color: #a0522d;">context</span>));
|
||||
@ -3123,8 +3123,8 @@ rc = qmckl_get_jastrow_een_rescaled_n(context, &(een_rescaled_n[0][0][0][0])
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0e2a6c9" class="outline-3">
|
||||
<h3 id="org0e2a6c9"><span class="section-number-3">2.9</span> Electron-nucleus rescaled distances for each order and derivatives</h3>
|
||||
<div id="outline-container-org4d47006" class="outline-3">
|
||||
<h3 id="org4d47006"><span class="section-number-3">2.9</span> Electron-nucleus rescaled distances for each order and derivatives</h3>
|
||||
<div class="outline-text-3" id="text-2-9">
|
||||
<p>
|
||||
<code>een_rescaled_n_deriv_e</code> stores the table of the rescaled distances between
|
||||
@ -3133,8 +3133,8 @@ electrons and nucleii raised to the power \(p\) defined by <code>cord_num</code>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgafaf3a9" class="outline-4">
|
||||
<h4 id="orgafaf3a9"><span class="section-number-4">2.9.1</span> Get</h4>
|
||||
<div id="outline-container-org13504e4" class="outline-4">
|
||||
<h4 id="org13504e4"><span class="section-number-4">2.9.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-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>);
|
||||
@ -3143,10 +3143,10 @@ electrons and nucleii raised to the power \(p\) defined by <code>cord_num</code>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd0e553c" class="outline-4">
|
||||
<h4 id="orgd0e553c"><span class="section-number-4">2.9.2</span> Compute</h4>
|
||||
<div id="outline-container-org4cff6fc" class="outline-4">
|
||||
<h4 id="org4cff6fc"><span class="section-number-4">2.9.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-9-2">
|
||||
<table id="org5bfb64a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orga622a9e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3356,8 +3356,8 @@ electrons and nucleii raised to the power \(p\) defined by <code>cord_num</code>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge6676fd" class="outline-4">
|
||||
<h4 id="orge6676fd"><span class="section-number-4">2.9.3</span> Test</h4>
|
||||
<div id="outline-container-orgd386f81" class="outline-4">
|
||||
<h4 id="orgd386f81"><span class="section-number-4">2.9.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-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>));
|
||||
@ -3379,8 +3379,8 @@ rc = qmckl_get_jastrow_een_rescaled_n_deriv_e(context, &(een_rescaled_n_deri
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5702b88" class="outline-3">
|
||||
<h3 id="org5702b88"><span class="section-number-3">2.10</span> Prepare for electron-electron-nucleus Jastrow \(f_{een}\)</h3>
|
||||
<div id="outline-container-orgf9581d9" class="outline-3">
|
||||
<h3 id="orgf9581d9"><span class="section-number-3">2.10</span> Prepare for electron-electron-nucleus Jastrow \(f_{een}\)</h3>
|
||||
<div class="outline-text-3" id="text-2-10">
|
||||
<p>
|
||||
Prepare <code>cord_vect_full</code> and <code>lkpm_combined_index</code> tables required for the
|
||||
@ -3389,8 +3389,8 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgff28a38" class="outline-4">
|
||||
<h4 id="orgff28a38"><span class="section-number-4">2.10.1</span> Get</h4>
|
||||
<div id="outline-container-org3fe9bbc" class="outline-4">
|
||||
<h4 id="org3fe9bbc"><span class="section-number-4">2.10.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-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>);
|
||||
@ -3403,10 +3403,10 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga14d55b" class="outline-4">
|
||||
<h4 id="orga14d55b"><span class="section-number-4">2.10.2</span> Compute dim<sub>cord</sub><sub>vect</sub></h4>
|
||||
<div id="outline-container-orga332d7a" class="outline-4">
|
||||
<h4 id="orga332d7a"><span class="section-number-4">2.10.2</span> Compute dim<sub>cord</sub><sub>vect</sub></h4>
|
||||
<div class="outline-text-4" id="text-2-10-2">
|
||||
<table id="org333f1b5" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgdb7cdd8" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3504,10 +3504,10 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgfdb2a95" class="outline-4">
|
||||
<h4 id="orgfdb2a95"><span class="section-number-4">2.10.3</span> Compute cord<sub>vect</sub><sub>full</sub></h4>
|
||||
<div id="outline-container-orga2a0afb" class="outline-4">
|
||||
<h4 id="orga2a0afb"><span class="section-number-4">2.10.3</span> Compute cord<sub>vect</sub><sub>full</sub></h4>
|
||||
<div class="outline-text-4" id="text-2-10-3">
|
||||
<table id="orge6c1bb9" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orge35743f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3641,10 +3641,10 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgcefc094" class="outline-4">
|
||||
<h4 id="orgcefc094"><span class="section-number-4">2.10.4</span> Compute lkpm<sub>combined</sub><sub>index</sub></h4>
|
||||
<div id="outline-container-org81fbef1" class="outline-4">
|
||||
<h4 id="org81fbef1"><span class="section-number-4">2.10.4</span> Compute lkpm<sub>combined</sub><sub>index</sub></h4>
|
||||
<div class="outline-text-4" id="text-2-10-4">
|
||||
<table id="orgf28a25b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgbe88b31" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3762,10 +3762,10 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgf6b6b5f" class="outline-4">
|
||||
<h4 id="orgf6b6b5f"><span class="section-number-4">2.10.5</span> Compute tmp<sub>c</sub></h4>
|
||||
<div id="outline-container-org0c9c6a5" class="outline-4">
|
||||
<h4 id="org0c9c6a5"><span class="section-number-4">2.10.5</span> Compute tmp<sub>c</sub></h4>
|
||||
<div class="outline-text-4" id="text-2-10-5">
|
||||
<table id="org36fea68" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgbecc668" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3960,10 +3960,10 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org14e546e" class="outline-4">
|
||||
<h4 id="org14e546e"><span class="section-number-4">2.10.6</span> Compute dtmp<sub>c</sub></h4>
|
||||
<div id="outline-container-org40d5dda" class="outline-4">
|
||||
<h4 id="org40d5dda"><span class="section-number-4">2.10.6</span> Compute dtmp<sub>c</sub></h4>
|
||||
<div class="outline-text-4" id="text-2-10-6">
|
||||
<table id="org2644d1c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org3a68a67" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -4151,8 +4151,8 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgf9b9605" class="outline-4">
|
||||
<h4 id="orgf9b9605"><span class="section-number-4">2.10.7</span> Test</h4>
|
||||
<div id="outline-container-org1e20c61" class="outline-4">
|
||||
<h4 id="org1e20c61"><span class="section-number-4">2.10.7</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-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>));
|
||||
@ -4172,8 +4172,8 @@ rc = qmckl_get_jastrow_dtmp_c(context, &(dtmp_c[0][0][0][0][0][0]));
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org77f58fa" class="outline-3">
|
||||
<h3 id="org77f58fa"><span class="section-number-3">2.11</span> Electron-electron-nucleus Jastrow \(f_{een}\)</h3>
|
||||
<div id="outline-container-orgdacd12c" class="outline-3">
|
||||
<h3 id="orgdacd12c"><span class="section-number-3">2.11</span> Electron-electron-nucleus Jastrow \(f_{een}\)</h3>
|
||||
<div class="outline-text-3" id="text-2-11">
|
||||
<p>
|
||||
Calculate the electron-electron-nuclear three-body jastrow component <code>factor_een</code>
|
||||
@ -4185,8 +4185,8 @@ TODO: write equations.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge170a94" class="outline-4">
|
||||
<h4 id="orge170a94"><span class="section-number-4">2.11.1</span> Get</h4>
|
||||
<div id="outline-container-orgbe8ca2e" class="outline-4">
|
||||
<h4 id="orgbe8ca2e"><span class="section-number-4">2.11.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-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>);
|
||||
@ -4195,10 +4195,10 @@ TODO: write equations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgdeb8236" class="outline-4">
|
||||
<h4 id="orgdeb8236"><span class="section-number-4">2.11.2</span> Compute naive</h4>
|
||||
<div id="outline-container-org4f72e72" class="outline-4">
|
||||
<h4 id="org4f72e72"><span class="section-number-4">2.11.2</span> Compute naive</h4>
|
||||
<div class="outline-text-4" id="text-2-11-2">
|
||||
<table id="org5cda784" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org0332f0d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -4394,10 +4394,10 @@ TODO: write equations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5341211" class="outline-4">
|
||||
<h4 id="org5341211"><span class="section-number-4">2.11.3</span> Compute</h4>
|
||||
<div id="outline-container-org0eb5f4b" class="outline-4">
|
||||
<h4 id="org0eb5f4b"><span class="section-number-4">2.11.3</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-11-3">
|
||||
<table id="orgeb51589" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org6a0859e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -4586,8 +4586,8 @@ TODO: write equations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc4f8f0f" class="outline-4">
|
||||
<h4 id="orgc4f8f0f"><span class="section-number-4">2.11.4</span> Test</h4>
|
||||
<div id="outline-container-orge4f1545" class="outline-4">
|
||||
<h4 id="orge4f1545"><span class="section-number-4">2.11.4</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-11-4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Check if Jastrow is properly initialized </span>*/
|
||||
@ -4603,8 +4603,8 @@ rc = qmckl_get_jastrow_factor_een(context, &(factor_een[0]));
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8a4699d" class="outline-3">
|
||||
<h3 id="org8a4699d"><span class="section-number-3">2.12</span> Electron-electron-nucleus Jastrow \(f_{een}\) derivative</h3>
|
||||
<div id="outline-container-org64b8377" class="outline-3">
|
||||
<h3 id="org64b8377"><span class="section-number-3">2.12</span> Electron-electron-nucleus Jastrow \(f_{een}\) derivative</h3>
|
||||
<div class="outline-text-3" id="text-2-12">
|
||||
<p>
|
||||
Calculate the electron-electron-nuclear three-body jastrow component <code>factor_een_deriv_e</code>
|
||||
@ -4616,8 +4616,8 @@ TODO: write equations.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga076f74" class="outline-4">
|
||||
<h4 id="orga076f74"><span class="section-number-4">2.12.1</span> Get</h4>
|
||||
<div id="outline-container-org0a1340a" class="outline-4">
|
||||
<h4 id="org0a1340a"><span class="section-number-4">2.12.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-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>);
|
||||
@ -4626,10 +4626,10 @@ TODO: write equations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgdc1c9c4" class="outline-4">
|
||||
<h4 id="orgdc1c9c4"><span class="section-number-4">2.12.2</span> Compute Naive</h4>
|
||||
<div id="outline-container-org8581241" class="outline-4">
|
||||
<h4 id="org8581241"><span class="section-number-4">2.12.2</span> Compute Naive</h4>
|
||||
<div class="outline-text-4" id="text-2-12-2">
|
||||
<table id="orgda4a760" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orga17f794" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -4862,10 +4862,10 @@ TODO: write equations.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgcd0709b" class="outline-4">
|
||||
<h4 id="orgcd0709b"><span class="section-number-4">2.12.3</span> Compute</h4>
|
||||
<div id="outline-container-orgf617083" class="outline-4">
|
||||
<h4 id="orgf617083"><span class="section-number-4">2.12.3</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-12-3">
|
||||
<table id="org667e03f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org463babe" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -5091,8 +5091,8 @@ TODO: write equations.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgcfd80fc" class="outline-4">
|
||||
<h4 id="orgcfd80fc"><span class="section-number-4">2.12.4</span> Test</h4>
|
||||
<div id="outline-container-org34cca24" class="outline-4">
|
||||
<h4 id="org34cca24"><span class="section-number-4">2.12.4</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-12-4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Check if Jastrow is properly initialized </span>*/
|
||||
@ -5111,7 +5111,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-01-23 Sun 18:09</p>
|
||||
<p class="date">Created: 2022-01-26 Wed 16: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-01-23 Sun 18:08 -->
|
||||
<!-- 2022-01-26 Wed 16: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="#orgcf3eb5f">1. Context</a>
|
||||
<li><a href="#orgfd1d1a2">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org17afa1a">1.1. Data structure</a></li>
|
||||
<li><a href="#orgb023396">1.1. Data structure</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org8ca21e9">2. Computation</a>
|
||||
<li><a href="#org5938409">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#orgf50f1e3">2.1. Kinetic energy</a>
|
||||
<li><a href="#org6d3eb65">2.1. Kinetic energy</a>
|
||||
<ul>
|
||||
<li><a href="#org58f326e">2.1.1. Get</a></li>
|
||||
<li><a href="#org0c0a41d">2.1.2. Provide</a></li>
|
||||
<li><a href="#org726d28d">2.1.3. Compute kinetic enregy</a></li>
|
||||
<li><a href="#orgf0955a3">2.1.4. Test</a></li>
|
||||
<li><a href="#orgb48df2d">2.1.1. Get</a></li>
|
||||
<li><a href="#org360ead8">2.1.2. Provide</a></li>
|
||||
<li><a href="#org17cda6f">2.1.3. Compute kinetic enregy</a></li>
|
||||
<li><a href="#org5333a83">2.1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgb705a05">2.2. Potential energy</a>
|
||||
<li><a href="#org2697843">2.2. Potential energy</a>
|
||||
<ul>
|
||||
<li><a href="#orgd487e5f">2.2.1. Get</a></li>
|
||||
<li><a href="#org0141936">2.2.2. Provide</a></li>
|
||||
<li><a href="#orgb81555e">2.2.3. Compute potential enregy</a></li>
|
||||
<li><a href="#org31e6352">2.2.4. Test</a></li>
|
||||
<li><a href="#org02073bc">2.2.1. Get</a></li>
|
||||
<li><a href="#org84f6f95">2.2.2. Provide</a></li>
|
||||
<li><a href="#orgfb9ec4f">2.2.3. Compute potential enregy</a></li>
|
||||
<li><a href="#orgcba4d0b">2.2.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgf00ce84">2.3. Local energy</a>
|
||||
<li><a href="#orgd55171d">2.3. Local energy</a>
|
||||
<ul>
|
||||
<li><a href="#orga712e13">2.3.1. Get</a></li>
|
||||
<li><a href="#org41c3f76">2.3.2. Provide</a></li>
|
||||
<li><a href="#org99278e6">2.3.3. Compute local enregy</a></li>
|
||||
<li><a href="#orgb8f2775">2.3.4. Test</a></li>
|
||||
<li><a href="#org69e45e1">2.3.1. Get</a></li>
|
||||
<li><a href="#orgd16ab01">2.3.2. Provide</a></li>
|
||||
<li><a href="#org7a72646">2.3.3. Compute local enregy</a></li>
|
||||
<li><a href="#orgf80d7a9">2.3.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgba0a775">2.4. Drift vector</a>
|
||||
<li><a href="#orgb38e4e9">2.4. Drift vector</a>
|
||||
<ul>
|
||||
<li><a href="#org4aa1b6f">2.4.1. Get</a></li>
|
||||
<li><a href="#org43a0f62">2.4.2. Provide</a></li>
|
||||
<li><a href="#org6eb7a78">2.4.3. Compute drift vector</a></li>
|
||||
<li><a href="#org133fa5b">2.4.4. Test</a></li>
|
||||
<li><a href="#org8d19daf">2.4.1. Get</a></li>
|
||||
<li><a href="#orga5ba957">2.4.2. Provide</a></li>
|
||||
<li><a href="#org01319f6">2.4.3. Compute drift vector</a></li>
|
||||
<li><a href="#org325bb18">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-orgcf3eb5f" class="outline-2">
|
||||
<h2 id="orgcf3eb5f"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-orgfd1d1a2" class="outline-2">
|
||||
<h2 id="orgfd1d1a2"><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-org17afa1a" class="outline-3">
|
||||
<h3 id="org17afa1a"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-orgb023396" class="outline-3">
|
||||
<h3 id="orgb023396"><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-org8ca21e9" class="outline-2">
|
||||
<h2 id="org8ca21e9"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-org5938409" class="outline-2">
|
||||
<h2 id="org5938409"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-orgf50f1e3" class="outline-3">
|
||||
<h3 id="orgf50f1e3"><span class="section-number-3">2.1</span> Kinetic energy</h3>
|
||||
<div id="outline-container-org6d3eb65" class="outline-3">
|
||||
<h3 id="org6d3eb65"><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-org58f326e" class="outline-4">
|
||||
<h4 id="org58f326e"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-orgb48df2d" class="outline-4">
|
||||
<h4 id="orgb48df2d"><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-org0c0a41d" class="outline-4">
|
||||
<h4 id="org0c0a41d"><span class="section-number-4">2.1.2</span> Provide</h4>
|
||||
<div id="outline-container-org360ead8" class="outline-4">
|
||||
<h4 id="org360ead8"><span class="section-number-4">2.1.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org726d28d" class="outline-4">
|
||||
<h4 id="org726d28d"><span class="section-number-4">2.1.3</span> Compute kinetic enregy</h4>
|
||||
<div id="outline-container-org17cda6f" class="outline-4">
|
||||
<h4 id="org17cda6f"><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="org7bd6908" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org6408675" 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-orgf0955a3" class="outline-4">
|
||||
<h4 id="orgf0955a3"><span class="section-number-4">2.1.4</span> Test</h4>
|
||||
<div id="outline-container-org5333a83" class="outline-4">
|
||||
<h4 id="org5333a83"><span class="section-number-4">2.1.4</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgb705a05" class="outline-3">
|
||||
<h3 id="orgb705a05"><span class="section-number-3">2.2</span> Potential energy</h3>
|
||||
<div id="outline-container-org2697843" class="outline-3">
|
||||
<h3 id="org2697843"><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-orgd487e5f" class="outline-4">
|
||||
<h4 id="orgd487e5f"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div id="outline-container-org02073bc" class="outline-4">
|
||||
<h4 id="org02073bc"><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-org0141936" class="outline-4">
|
||||
<h4 id="org0141936"><span class="section-number-4">2.2.2</span> Provide</h4>
|
||||
<div id="outline-container-org84f6f95" class="outline-4">
|
||||
<h4 id="org84f6f95"><span class="section-number-4">2.2.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb81555e" class="outline-4">
|
||||
<h4 id="orgb81555e"><span class="section-number-4">2.2.3</span> Compute potential enregy</h4>
|
||||
<div id="outline-container-orgfb9ec4f" class="outline-4">
|
||||
<h4 id="orgfb9ec4f"><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="org22adfae" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org9c8c090" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -949,12 +949,12 @@ contributions.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org31e6352" class="outline-4">
|
||||
<h4 id="org31e6352"><span class="section-number-4">2.2.4</span> Test</h4>
|
||||
<div id="outline-container-orgcba4d0b" class="outline-4">
|
||||
<h4 id="orgcba4d0b"><span class="section-number-4">2.2.4</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgf00ce84" class="outline-3">
|
||||
<h3 id="orgf00ce84"><span class="section-number-3">2.3</span> Local energy</h3>
|
||||
<div id="outline-container-orgd55171d" class="outline-3">
|
||||
<h3 id="orgd55171d"><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-orga712e13" class="outline-4">
|
||||
<h4 id="orga712e13"><span class="section-number-4">2.3.1</span> Get</h4>
|
||||
<div id="outline-container-org69e45e1" class="outline-4">
|
||||
<h4 id="org69e45e1"><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-org41c3f76" class="outline-4">
|
||||
<h4 id="org41c3f76"><span class="section-number-4">2.3.2</span> Provide</h4>
|
||||
<div id="outline-container-orgd16ab01" class="outline-4">
|
||||
<h4 id="orgd16ab01"><span class="section-number-4">2.3.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org99278e6" class="outline-4">
|
||||
<h4 id="org99278e6"><span class="section-number-4">2.3.3</span> Compute local enregy</h4>
|
||||
<div id="outline-container-org7a72646" class="outline-4">
|
||||
<h4 id="org7a72646"><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="org92a7181" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org24e6b82" 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-orgb8f2775" class="outline-4">
|
||||
<h4 id="orgb8f2775"><span class="section-number-4">2.3.4</span> Test</h4>
|
||||
<div id="outline-container-orgf80d7a9" class="outline-4">
|
||||
<h4 id="orgf80d7a9"><span class="section-number-4">2.3.4</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgba0a775" class="outline-3">
|
||||
<h3 id="orgba0a775"><span class="section-number-3">2.4</span> Drift vector</h3>
|
||||
<div id="outline-container-orgb38e4e9" class="outline-3">
|
||||
<h3 id="orgb38e4e9"><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-org4aa1b6f" class="outline-4">
|
||||
<h4 id="org4aa1b6f"><span class="section-number-4">2.4.1</span> Get</h4>
|
||||
<div id="outline-container-org8d19daf" class="outline-4">
|
||||
<h4 id="org8d19daf"><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-org43a0f62" class="outline-4">
|
||||
<h4 id="org43a0f62"><span class="section-number-4">2.4.2</span> Provide</h4>
|
||||
<div id="outline-container-orga5ba957" class="outline-4">
|
||||
<h4 id="orga5ba957"><span class="section-number-4">2.4.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6eb7a78" class="outline-4">
|
||||
<h4 id="org6eb7a78"><span class="section-number-4">2.4.3</span> Compute drift vector</h4>
|
||||
<div id="outline-container-org01319f6" class="outline-4">
|
||||
<h4 id="org01319f6"><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="org067b598" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgd5cc466" 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-org133fa5b" class="outline-4">
|
||||
<h4 id="org133fa5b"><span class="section-number-4">2.4.4</span> Test</h4>
|
||||
<div id="outline-container-org325bb18" class="outline-4">
|
||||
<h4 id="org325bb18"><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-01-23 Sun 18:08</p>
|
||||
<p class="date">Created: 2022-01-26 Wed 16: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-01-23 Sun 18:08 -->
|
||||
<!-- 2022-01-26 Wed 16:09 -->
|
||||
<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="#org955968f">1. Memory data structure for the context</a></li>
|
||||
<li><a href="#org13214fa">2. Passing info to allocation routines</a></li>
|
||||
<li><a href="#org13844c1">3. Allocation/deallocation functions</a></li>
|
||||
<li><a href="#org7671f04">1. Memory data structure for the context</a></li>
|
||||
<li><a href="#org57b156c">2. Passing info to allocation routines</a></li>
|
||||
<li><a href="#org7f7a831">3. Allocation/deallocation functions</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org955968f" class="outline-2">
|
||||
<h2 id="org955968f"><span class="section-number-2">1</span> Memory data structure for the context</h2>
|
||||
<div id="outline-container-org7671f04" class="outline-2">
|
||||
<h2 id="org7671f04"><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-org13214fa" class="outline-2">
|
||||
<h2 id="org13214fa"><span class="section-number-2">2</span> Passing info to allocation routines</h2>
|
||||
<div id="outline-container-org57b156c" class="outline-2">
|
||||
<h2 id="org57b156c"><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-org13844c1" class="outline-2">
|
||||
<h2 id="org13844c1"><span class="section-number-2">3</span> Allocation/deallocation functions</h2>
|
||||
<div id="outline-container-org7f7a831" class="outline-2">
|
||||
<h2 id="org7f7a831"><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-01-23 Sun 18:08</p>
|
||||
<p class="date">Created: 2022-01-26 Wed 16: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-01-23 Sun 18:08 -->
|
||||
<!-- 2022-01-26 Wed 16:09 -->
|
||||
<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="#orgcb3232c">1. Context</a>
|
||||
<li><a href="#org69bb5cd">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#orgb10f2a0">1.1. Data structure</a></li>
|
||||
<li><a href="#orgda732d8">1.2. Access functions</a></li>
|
||||
<li><a href="#org0c31611">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org1921716">1.1. Data structure</a></li>
|
||||
<li><a href="#orgc9a405b">1.2. Access functions</a></li>
|
||||
<li><a href="#org1ff64be">1.3. Initialization functions</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org2c4e9a8">2. Computation</a>
|
||||
<li><a href="#org58998ad">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#org10585aa">2.1. Computation of MOs</a>
|
||||
<li><a href="#orgf47e076">2.1. Computation of MOs</a>
|
||||
<ul>
|
||||
<li><a href="#org1287989">2.1.1. Get</a></li>
|
||||
<li><a href="#org4055f3b">2.1.2. Provide</a></li>
|
||||
<li><a href="#org004b809">2.1.3. Compute</a></li>
|
||||
<li><a href="#orgeffb259">2.1.4. Test</a></li>
|
||||
<li><a href="#org52f82b0">2.1.1. Get</a></li>
|
||||
<li><a href="#orge0f4774">2.1.2. Provide</a></li>
|
||||
<li><a href="#orgb3e8380">2.1.3. Compute</a></li>
|
||||
<li><a href="#org3ab41a7">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-orgcb3232c" class="outline-2">
|
||||
<h2 id="orgcb3232c"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-org69bb5cd" class="outline-2">
|
||||
<h2 id="org69bb5cd"><span class="section-number-2">1</span> Context</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
The following arrays are stored in the context:
|
||||
@ -397,8 +397,8 @@ Computed data:
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb10f2a0" class="outline-3">
|
||||
<h3 id="orgb10f2a0"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-org1921716" class="outline-3">
|
||||
<h3 id="org1921716"><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-orgda732d8" class="outline-3">
|
||||
<h3 id="orgda732d8"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-orgc9a405b" class="outline-3">
|
||||
<h3 id="orgc9a405b"><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-org0c31611" class="outline-3">
|
||||
<h3 id="org0c31611"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-org1ff64be" class="outline-3">
|
||||
<h3 id="org1ff64be"><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-org2c4e9a8" class="outline-2">
|
||||
<h2 id="org2c4e9a8"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-org58998ad" class="outline-2">
|
||||
<h2 id="org58998ad"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-org10585aa" class="outline-3">
|
||||
<h3 id="org10585aa"><span class="section-number-3">2.1</span> Computation of MOs</h3>
|
||||
<div id="outline-container-orgf47e076" class="outline-3">
|
||||
<h3 id="orgf47e076"><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-org1287989" class="outline-4">
|
||||
<h4 id="org1287989"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-org52f82b0" class="outline-4">
|
||||
<h4 id="org52f82b0"><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-org4055f3b" class="outline-4">
|
||||
<h4 id="org4055f3b"><span class="section-number-4">2.1.2</span> Provide</h4>
|
||||
<div id="outline-container-orge0f4774" class="outline-4">
|
||||
<h4 id="orge0f4774"><span class="section-number-4">2.1.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org004b809" class="outline-4">
|
||||
<h4 id="org004b809"><span class="section-number-4">2.1.3</span> Compute</h4>
|
||||
<div id="outline-container-orgb3e8380" class="outline-4">
|
||||
<h4 id="orgb3e8380"><span class="section-number-4">2.1.3</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-1-3">
|
||||
<table id="org6cb8f10" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org2e2b7b7" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -667,15 +667,15 @@ computed to accelerate the calculations.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgeffb259" class="outline-4">
|
||||
<h4 id="orgeffb259"><span class="section-number-4">2.1.4</span> Test</h4>
|
||||
<div id="outline-container-org3ab41a7" class="outline-4">
|
||||
<h4 id="org3ab41a7"><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-01-23 Sun 18:08</p>
|
||||
<p class="date">Created: 2022-01-26 Wed 16: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-01-23 Sun 18:09 -->
|
||||
<!-- 2022-01-26 Wed 16: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="#orgf997c24">1. Context</a>
|
||||
<li><a href="#org24116ba">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org0c4eaf4">1.1. Data structure</a></li>
|
||||
<li><a href="#orgdc3b6d6">1.2. Access functions</a></li>
|
||||
<li><a href="#org806994a">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org7994866">1.4. Test</a></li>
|
||||
<li><a href="#org892ba40">1.1. Data structure</a></li>
|
||||
<li><a href="#orga358f7d">1.2. Access functions</a></li>
|
||||
<li><a href="#orgdbb7155">1.3. Initialization functions</a></li>
|
||||
<li><a href="#orgf34ef6c">1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org8d81564">2. Computation</a>
|
||||
<li><a href="#org94bcf6f">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#org57c3d58">2.1. Nucleus-nucleus distances</a>
|
||||
<li><a href="#org257d052">2.1. Nucleus-nucleus distances</a>
|
||||
<ul>
|
||||
<li><a href="#orgd9d262f">2.1.1. Get</a></li>
|
||||
<li><a href="#org92800e9">2.1.2. Compute</a></li>
|
||||
<li><a href="#orgfbb5491">2.1.3. Test</a></li>
|
||||
<li><a href="#orgf72e1da">2.1.1. Get</a></li>
|
||||
<li><a href="#org14b64a5">2.1.2. Compute</a></li>
|
||||
<li><a href="#orgdf5382d">2.1.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org2d9b785">2.2. Nucleus-nucleus rescaled distances</a>
|
||||
<li><a href="#org50cfe5b">2.2. Nucleus-nucleus rescaled distances</a>
|
||||
<ul>
|
||||
<li><a href="#org7129fbc">2.2.1. Get</a></li>
|
||||
<li><a href="#orgbdfa490">2.2.2. Compute</a></li>
|
||||
<li><a href="#org82b203e">2.2.3. Test</a></li>
|
||||
<li><a href="#orga5d4148">2.2.1. Get</a></li>
|
||||
<li><a href="#org063d9a3">2.2.2. Compute</a></li>
|
||||
<li><a href="#org2eb079a">2.2.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org29e7616">2.3. Nuclear repulsion energy</a>
|
||||
<li><a href="#org8dc79a4">2.3. Nuclear repulsion energy</a>
|
||||
<ul>
|
||||
<li><a href="#org906c5ee">2.3.1. Get</a></li>
|
||||
<li><a href="#org3ceb39c">2.3.2. Compute</a></li>
|
||||
<li><a href="#org5434330">2.3.3. Test</a></li>
|
||||
<li><a href="#org08303c4">2.3.1. Get</a></li>
|
||||
<li><a href="#org708f0cc">2.3.2. Compute</a></li>
|
||||
<li><a href="#orga3208ee">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-orgf997c24" class="outline-2">
|
||||
<h2 id="orgf997c24"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-org24116ba" class="outline-2">
|
||||
<h2 id="org24116ba"><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-org0c4eaf4" class="outline-3">
|
||||
<h3 id="org0c4eaf4"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-org892ba40" class="outline-3">
|
||||
<h3 id="org892ba40"><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-orgdc3b6d6" class="outline-3">
|
||||
<h3 id="orgdc3b6d6"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-orga358f7d" class="outline-3">
|
||||
<h3 id="orga358f7d"><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-org806994a" class="outline-3">
|
||||
<h3 id="org806994a"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-orgdbb7155" class="outline-3">
|
||||
<h3 id="orgdbb7155"><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-org7994866" class="outline-3">
|
||||
<h3 id="org7994866"><span class="section-number-3">1.4</span> Test</h3>
|
||||
<div id="outline-container-orgf34ef6c" class="outline-3">
|
||||
<h3 id="orgf34ef6c"><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-org8d81564" class="outline-2">
|
||||
<h2 id="org8d81564"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-org94bcf6f" class="outline-2">
|
||||
<h2 id="org94bcf6f"><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-org57c3d58" class="outline-3">
|
||||
<h3 id="org57c3d58"><span class="section-number-3">2.1</span> Nucleus-nucleus distances</h3>
|
||||
<div id="outline-container-org257d052" class="outline-3">
|
||||
<h3 id="org257d052"><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-orgd9d262f" class="outline-4">
|
||||
<h4 id="orgd9d262f"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-orgf72e1da" class="outline-4">
|
||||
<h4 id="orgf72e1da"><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-org92800e9" class="outline-4">
|
||||
<h4 id="org92800e9"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div id="outline-container-org14b64a5" class="outline-4">
|
||||
<h4 id="org14b64a5"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-1-2">
|
||||
<table id="orgf96f282" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org796b1fc" 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-orgfbb5491" class="outline-4">
|
||||
<h4 id="orgfbb5491"><span class="section-number-4">2.1.3</span> Test</h4>
|
||||
<div id="outline-container-orgdf5382d" class="outline-4">
|
||||
<h4 id="orgdf5382d"><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-org2d9b785" class="outline-3">
|
||||
<h3 id="org2d9b785"><span class="section-number-3">2.2</span> Nucleus-nucleus rescaled distances</h3>
|
||||
<div id="outline-container-org50cfe5b" class="outline-3">
|
||||
<h3 id="org50cfe5b"><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-org7129fbc" class="outline-4">
|
||||
<h4 id="org7129fbc"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div id="outline-container-orga5d4148" class="outline-4">
|
||||
<h4 id="orga5d4148"><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-orgbdfa490" class="outline-4">
|
||||
<h4 id="orgbdfa490"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div id="outline-container-org063d9a3" class="outline-4">
|
||||
<h4 id="org063d9a3"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-2-2">
|
||||
<table id="org7b6f7a0" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orga8490b3" 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-org82b203e" class="outline-4">
|
||||
<h4 id="org82b203e"><span class="section-number-4">2.2.3</span> Test</h4>
|
||||
<div id="outline-container-org2eb079a" class="outline-4">
|
||||
<h4 id="org2eb079a"><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-org29e7616" class="outline-3">
|
||||
<h3 id="org29e7616"><span class="section-number-3">2.3</span> Nuclear repulsion energy</h3>
|
||||
<div id="outline-container-org8dc79a4" class="outline-3">
|
||||
<h3 id="org8dc79a4"><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-org906c5ee" class="outline-4">
|
||||
<h4 id="org906c5ee"><span class="section-number-4">2.3.1</span> Get</h4>
|
||||
<div id="outline-container-org08303c4" class="outline-4">
|
||||
<h4 id="org08303c4"><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-org3ceb39c" class="outline-4">
|
||||
<h4 id="org3ceb39c"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div id="outline-container-org708f0cc" class="outline-4">
|
||||
<h4 id="org708f0cc"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-3-2">
|
||||
<table id="org094b161" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org5e542a3" 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-org5434330" class="outline-4">
|
||||
<h4 id="org5434330"><span class="section-number-4">2.3.3</span> Test</h4>
|
||||
<div id="outline-container-orga3208ee" class="outline-4">
|
||||
<h4 id="orga3208ee"><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-01-23 Sun 18:09</p>
|
||||
<p class="date">Created: 2022-01-26 Wed 16: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-01-23 Sun 18:08 -->
|
||||
<!-- 2022-01-26 Wed 16: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="#org1843543">1. Control of the numerical precision</a></li>
|
||||
<li><a href="#orgdfe808c">2. Precision</a></li>
|
||||
<li><a href="#orgab76075">3. Range</a></li>
|
||||
<li><a href="#orgb4dfedb">4. Helper functions</a></li>
|
||||
<li><a href="#orgd556754">1. Control of the numerical precision</a></li>
|
||||
<li><a href="#orgb88b9f2">2. Precision</a></li>
|
||||
<li><a href="#org3136bd3">3. Range</a></li>
|
||||
<li><a href="#org3deb1f9">4. Helper functions</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1843543" class="outline-2">
|
||||
<h2 id="org1843543"><span class="section-number-2">1</span> Control of the numerical precision</h2>
|
||||
<div id="outline-container-orgd556754" class="outline-2">
|
||||
<h2 id="orgd556754"><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="orgc86e7bd" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org159c1a1" 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-orgdfe808c" class="outline-2">
|
||||
<h2 id="orgdfe808c"><span class="section-number-2">2</span> Precision</h2>
|
||||
<div id="outline-container-orgb88b9f2" class="outline-2">
|
||||
<h2 id="orgb88b9f2"><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-orgab76075" class="outline-2">
|
||||
<h2 id="orgab76075"><span class="section-number-2">3</span> Range</h2>
|
||||
<div id="outline-container-org3136bd3" class="outline-2">
|
||||
<h2 id="org3136bd3"><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-orgb4dfedb" class="outline-2">
|
||||
<h2 id="orgb4dfedb"><span class="section-number-2">4</span> Helper functions</h2>
|
||||
<div id="outline-container-org3deb1f9" class="outline-2">
|
||||
<h2 id="org3deb1f9"><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-01-23 Sun 18:08</p>
|
||||
<p class="date">Created: 2022-01-26 Wed 16:09</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
123
qmckl_point.html
123
qmckl_point.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-01-23 Sun 18:08 -->
|
||||
<!-- 2022-01-26 Wed 16: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>
|
||||
@ -299,6 +299,28 @@ for the JavaScript code in this tag.
|
||||
}
|
||||
/*]]>*///-->
|
||||
</script>
|
||||
<script type="text/x-mathjax-config">
|
||||
MathJax.Hub.Config({
|
||||
displayAlign: "center",
|
||||
displayIndent: "0em",
|
||||
|
||||
"HTML-CSS": { scale: 100,
|
||||
linebreaks: { automatic: "false" },
|
||||
webFont: "TeX"
|
||||
},
|
||||
SVG: {scale: 100,
|
||||
linebreaks: { automatic: "false" },
|
||||
font: "TeX"},
|
||||
NativeMML: {scale: 100},
|
||||
TeX: { equationNumbers: {autoNumber: "AMS"},
|
||||
MultLineWidth: "85%",
|
||||
TagSide: "right",
|
||||
TagIndent: ".8em"
|
||||
}
|
||||
});
|
||||
</script>
|
||||
<script type="text/javascript"
|
||||
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS_HTML"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="org-div-home-and-up">
|
||||
@ -311,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="#org2aebd9e">1. Context</a>
|
||||
<li><a href="#org92a371e">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org6ab2f9f">1.1. Data structure</a></li>
|
||||
<li><a href="#org67bfabc">1.2. Access functions</a>
|
||||
<li><a href="#org82070ff">1.1. Data structure</a></li>
|
||||
<li><a href="#org3d64a8f">1.2. Access functions</a>
|
||||
<ul>
|
||||
<li><a href="#org322bea8">1.2.1. Number of points</a></li>
|
||||
<li><a href="#org961d818">1.2.2. Point coordinates</a></li>
|
||||
<li><a href="#org7b233b9">1.2.1. Number of points</a></li>
|
||||
<li><a href="#orge6bed3a">1.2.2. Point coordinates</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org3fda1b3">1.3. Initialization functions</a></li>
|
||||
<li><a href="#orge982be6">1.4. Test</a></li>
|
||||
<li><a href="#org5d40b9b">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org87063fc">1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2aebd9e" class="outline-2">
|
||||
<h2 id="org2aebd9e"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-org92a371e" class="outline-2">
|
||||
<h2 id="org92a371e"><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:
|
||||
@ -359,6 +381,12 @@ The following data stored in the context:
|
||||
<td class="org-left">Total number of points</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>date</code></td>
|
||||
<td class="org-left"><code>uint64_t</code></td>
|
||||
<td class="org-left">Last modification date of the coordinates</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>coord</code></td>
|
||||
<td class="org-left"><code>qmckl_matrix</code></td>
|
||||
@ -373,12 +401,13 @@ corresponds to the 3 × <code>num</code> matrix.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6ab2f9f" class="outline-3">
|
||||
<h3 id="org6ab2f9f"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-org82070ff" class="outline-3">
|
||||
<h3 id="org82070ff"><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> {
|
||||
<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">num</span>;
|
||||
<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">date</span>;
|
||||
<span style="color: #228b22;">qmckl_matrix</span> <span style="color: #a0522d;">coord</span>;
|
||||
} <span style="color: #228b22;">qmckl_point_struct</span>;
|
||||
|
||||
@ -400,16 +429,7 @@ corresponds to the 3 × <code>num</code> matrix.
|
||||
<span style="color: #228b22;">qmckl_context_struct</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">ctx</span> = (<span style="color: #228b22;">qmckl_context_struct</span>* <span style="color: #a020f0;">const</span>) context;
|
||||
assert (ctx != <span style="color: #008b8b;">NULL</span>);
|
||||
|
||||
<span style="color: #228b22;">qmckl_memory_info_struct</span> <span style="color: #a0522d;">mem_info</span> = qmckl_memory_info_struct_zero;
|
||||
mem_info.size = <span style="color: #a020f0;">sizeof</span>(qmckl_point_struct);
|
||||
ctx->point = (<span style="color: #228b22;">qmckl_point_struct</span>*) qmckl_malloc(context, mem_info);
|
||||
<span style="color: #a020f0;">if</span> (ctx->point == <span style="color: #008b8b;">NULL</span>) {
|
||||
<span style="color: #a020f0;">return</span> qmckl_failwith( context,
|
||||
QMCKL_ALLOCATION_FAILED,
|
||||
<span style="color: #8b2252;">"qmckl_init_point"</span>,
|
||||
<span style="color: #008b8b;">NULL</span>);
|
||||
}
|
||||
memset(ctx->point, 0, <span style="color: #a020f0;">sizeof</span>(qmckl_point_struct));
|
||||
memset(&(ctx->point), 0, <span style="color: #a020f0;">sizeof</span>(qmckl_point_struct));
|
||||
|
||||
<span style="color: #a020f0;">return</span> QMCKL_SUCCESS;
|
||||
}
|
||||
@ -418,8 +438,8 @@ corresponds to the 3 × <code>num</code> matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org67bfabc" class="outline-3">
|
||||
<h3 id="org67bfabc"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-org3d64a8f" class="outline-3">
|
||||
<h3 id="org3d64a8f"><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
|
||||
@ -430,8 +450,8 @@ contains the requested data. Otherwise, this variable is untouched.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org322bea8" class="outline-4">
|
||||
<h4 id="org322bea8"><span class="section-number-4">1.2.1</span> Number of points</h4>
|
||||
<div id="outline-container-org7b233b9" class="outline-4">
|
||||
<h4 id="org7b233b9"><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.
|
||||
@ -444,8 +464,8 @@ Returns the number of points stored in the context.
|
||||
<span style="color: #a020f0;">import</span>
|
||||
<span style="color: #a020f0;">implicit</span> <span style="color: #228b22;">none</span>
|
||||
|
||||
<span style="color: #228b22;">integer</span> (<span style="color: #008b8b;">c_int64_t</span>) , <span style="color: #a020f0;">intent</span>(in) , <span style="color: #a020f0;">value</span> ::<span style="color: #a0522d;"> context </span>
|
||||
<span style="color: #228b22;">integer</span> (<span style="color: #008b8b;">c_int64_t</span>) , <span style="color: #a020f0;">intent</span>(out) ::<span style="color: #a0522d;"> num </span>
|
||||
<span style="color: #228b22;">integer</span> (<span style="color: #008b8b;">c_int64_t</span>) , <span style="color: #a020f0;">intent</span>(in) , <span style="color: #a020f0;">value</span> ::<span style="color: #a0522d;"> context</span>
|
||||
<span style="color: #228b22;">integer</span> (<span style="color: #008b8b;">c_int64_t</span>) , <span style="color: #a020f0;">intent</span>(out) ::<span style="color: #a0522d;"> num</span>
|
||||
<span style="color: #a020f0;">end function</span>
|
||||
<span style="color: #a020f0;">end interface</span>
|
||||
</pre>
|
||||
@ -453,8 +473,8 @@ Returns the number of points stored in the context.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org961d818" class="outline-4">
|
||||
<h4 id="org961d818"><span class="section-number-4">1.2.2</span> Point coordinates</h4>
|
||||
<div id="outline-container-orge6bed3a" class="outline-4">
|
||||
<h4 id="orge6bed3a"><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).
|
||||
@ -482,8 +502,8 @@ The pointer is assumed to point on a memory block of size
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org3fda1b3" class="outline-3">
|
||||
<h3 id="org3fda1b3"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-org5d40b9b" class="outline-3">
|
||||
<h3 id="org5d40b9b"><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
|
||||
@ -492,19 +512,19 @@ enough, we overwrite the data contained in them.
|
||||
|
||||
<p>
|
||||
To set the data relative to the points in the context, one of the
|
||||
following functions need to be called.
|
||||
following functions need to be called.
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_set_point</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;">transp</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">coord</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">size_max</span>);
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">num</span>);
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
Copy a sequence of (x,y,z) into the context.
|
||||
Copy a sequence of <code>num</code> points \((x,y,z)\) into the context.
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
@ -535,18 +555,17 @@ Copy a sequence of (x,y,z) into the context.
|
||||
|
||||
<span style="color: #228b22;">qmckl_context_struct</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">ctx</span> = (<span style="color: #228b22;">qmckl_context_struct</span>* <span style="color: #a020f0;">const</span>) context;
|
||||
assert (ctx != <span style="color: #008b8b;">NULL</span>);
|
||||
assert (ctx->point != <span style="color: #008b8b;">NULL</span>);
|
||||
|
||||
<span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #a0522d;">rc</span>;
|
||||
<span style="color: #a020f0;">if</span> (ctx->point->num < num) {
|
||||
<span style="color: #a020f0;">if</span> (ctx->point.num < num) {
|
||||
|
||||
<span style="color: #a020f0;">if</span> (ctx->point->coord.data != <span style="color: #008b8b;">NULL</span>) {
|
||||
rc = qmckl_matrix_free(context, ctx->point->coord);
|
||||
<span style="color: #a020f0;">return</span> rc;
|
||||
<span style="color: #a020f0;">if</span> (ctx->point.coord.data != <span style="color: #008b8b;">NULL</span>) {
|
||||
rc = qmckl_matrix_free(context, ctx->point.coord);
|
||||
assert (rc == QMCKL_SUCCESS);
|
||||
}
|
||||
|
||||
ctx->point->coord = qmckl_matrix_alloc(context, num, 3);
|
||||
<span style="color: #a020f0;">if</span> (ctx->point->coord.data == <span style="color: #008b8b;">NULL</span>) {
|
||||
ctx->point.coord = qmckl_matrix_alloc(context, num, 3);
|
||||
<span style="color: #a020f0;">if</span> (ctx->point.coord.data == <span style="color: #008b8b;">NULL</span>) {
|
||||
<span style="color: #a020f0;">return</span> qmckl_failwith( context,
|
||||
QMCKL_ALLOCATION_FAILED,
|
||||
<span style="color: #8b2252;">"qmckl_set_point"</span>,
|
||||
@ -555,18 +574,22 @@ Copy a sequence of (x,y,z) into the context.
|
||||
|
||||
};
|
||||
|
||||
ctx->point->num = num;
|
||||
ctx->point.num = num;
|
||||
|
||||
<span style="color: #a020f0;">if</span> (transp == <span style="color: #8b2252;">'T'</span>) {
|
||||
memcpy(ctx->point->coord.data, coord, 3*num*<span style="color: #a020f0;">sizeof</span>(<span style="color: #228b22;">double</span>));
|
||||
memcpy(ctx->point.coord.data, coord, 3*num*<span style="color: #a020f0;">sizeof</span>(<span style="color: #228b22;">double</span>));
|
||||
} <span style="color: #a020f0;">else</span> {
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">i</span>=0 ; i<num ; ++i) {
|
||||
qmckl_mat(ctx->point->coord, i, 0) = coord[3*i ];
|
||||
qmckl_mat(ctx->point->coord, i, 1) = coord[3*i+1];
|
||||
qmckl_mat(ctx->point->coord, i, 2) = coord[3*i+2];
|
||||
qmckl_mat(ctx->point.coord, i, 0) = coord[3*i ];
|
||||
qmckl_mat(ctx->point.coord, i, 1) = coord[3*i+1];
|
||||
qmckl_mat(ctx->point.coord, i, 2) = coord[3*i+2];
|
||||
}
|
||||
}
|
||||
|
||||
/* <span style="color: #b22222;">Increment the date of the context </span>*/
|
||||
ctx->date += 1UL;
|
||||
ctx->point.date = ctx->date;
|
||||
|
||||
<span style="color: #a020f0;">return</span> QMCKL_SUCCESS;
|
||||
|
||||
}
|
||||
@ -593,8 +616,8 @@ Copy a sequence of (x,y,z) into the context.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orge982be6" class="outline-3">
|
||||
<h3 id="orge982be6"><span class="section-number-3">1.4</span> Test</h3>
|
||||
<div id="outline-container-org87063fc" class="outline-3">
|
||||
<h3 id="org87063fc"><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>*/
|
||||
@ -653,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-01-23 Sun 18:08</p>
|
||||
<p class="date">Created: 2022-01-26 Wed 16: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-01-23 Sun 18:09 -->
|
||||
<!-- 2022-01-26 Wed 16: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="#org92a46e8">1. Headers</a></li>
|
||||
<li><a href="#org0832817">2. Naïve Sherman-Morrison</a>
|
||||
<li><a href="#org67491ee">1. Headers</a></li>
|
||||
<li><a href="#orgc227231">2. Naïve Sherman-Morrison</a>
|
||||
<ul>
|
||||
<li><a href="#orgac18e44">2.1. <code>qmckl_sherman_morrison</code></a>
|
||||
<li><a href="#org521d1df">2.1. <code>qmckl_sherman_morrison</code></a>
|
||||
<ul>
|
||||
<li><a href="#org467c190">2.1.1. Requirements</a></li>
|
||||
<li><a href="#org1580ddb">2.1.2. C header</a></li>
|
||||
<li><a href="#orgbe79177">2.1.3. C source</a></li>
|
||||
<li><a href="#orgc5988cd">2.1.4. Performance</a></li>
|
||||
<li><a href="#orgcf57bba">2.1.1. Requirements</a></li>
|
||||
<li><a href="#orgb848f19">2.1.2. C header</a></li>
|
||||
<li><a href="#orgbd4d48b">2.1.3. C source</a></li>
|
||||
<li><a href="#org5fe64db">2.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org4149035">3. Woodbury 2x2</a>
|
||||
<li><a href="#orgc093681">3. Woodbury 2x2</a>
|
||||
<ul>
|
||||
<li><a href="#org84340a7">3.1. <code>qmckl_woodbury_2</code></a>
|
||||
<li><a href="#orgcf030c3">3.1. <code>qmckl_woodbury_2</code></a>
|
||||
<ul>
|
||||
<li><a href="#org85c3265">3.1.1. Requirements</a></li>
|
||||
<li><a href="#org97012e0">3.1.2. C header</a></li>
|
||||
<li><a href="#orge58d675">3.1.3. C source</a></li>
|
||||
<li><a href="#org2e18d13">3.1.4. Performance</a></li>
|
||||
<li><a href="#org7f928a6">3.1.1. Requirements</a></li>
|
||||
<li><a href="#org4305efd">3.1.2. C header</a></li>
|
||||
<li><a href="#org1c7b16c">3.1.3. C source</a></li>
|
||||
<li><a href="#orgd44dc67">3.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgc849234">4. Woodbury 3x3</a>
|
||||
<li><a href="#org42a3115">4. Woodbury 3x3</a>
|
||||
<ul>
|
||||
<li><a href="#orgc73adc7">4.1. <code>qmckl_woodbury_3</code></a>
|
||||
<li><a href="#org0b5b3ee">4.1. <code>qmckl_woodbury_3</code></a>
|
||||
<ul>
|
||||
<li><a href="#orgd4a113c">4.1.1. Requirements</a></li>
|
||||
<li><a href="#orgc7cc26a">4.1.2. C header</a></li>
|
||||
<li><a href="#org40cc527">4.1.3. C source</a></li>
|
||||
<li><a href="#orga4839da">4.1.4. Performance…</a></li>
|
||||
<li><a href="#org13fd9b8">4.1.1. Requirements</a></li>
|
||||
<li><a href="#orga8585d4">4.1.2. C header</a></li>
|
||||
<li><a href="#org9c715a5">4.1.3. C source</a></li>
|
||||
<li><a href="#orge00e41d">4.1.4. Performance…</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org0c84c42">5. Sherman-Morrison with update splitting</a>
|
||||
<li><a href="#orgb6357ce">5. Sherman-Morrison with update splitting</a>
|
||||
<ul>
|
||||
<li><a href="#org3aa02b6">5.1. <code>qmckl_sherman_morrison_splitting</code></a>
|
||||
<li><a href="#org17fb2b3">5.1. <code>qmckl_sherman_morrison_splitting</code></a>
|
||||
<ul>
|
||||
<li><a href="#org484b451">5.1.1. Requirements</a></li>
|
||||
<li><a href="#orgfc9c84a">5.1.2. C header</a></li>
|
||||
<li><a href="#org97627b3">5.1.3. C source</a></li>
|
||||
<li><a href="#orgac3bf0e">5.1.4. Performance…</a></li>
|
||||
<li><a href="#orgecda119">5.1.1. Requirements</a></li>
|
||||
<li><a href="#org9f86147">5.1.2. C header</a></li>
|
||||
<li><a href="#org132403d">5.1.3. C source</a></li>
|
||||
<li><a href="#org10c7270">5.1.4. Performance…</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org6fcf314">6. Woodbury 3x3 and 2x2 with Sherman-Morrison and update splitting</a>
|
||||
<li><a href="#org4b2c559">6. Woodbury 3x3 and 2x2 with Sherman-Morrison and update splitting</a>
|
||||
<ul>
|
||||
<li><a href="#orgb5a6b54">6.1. <code>qmckl_sherman_morrison_smw32s</code></a>
|
||||
<li><a href="#orgb268362">6.1. <code>qmckl_sherman_morrison_smw32s</code></a>
|
||||
<ul>
|
||||
<li><a href="#org5abb3e5">6.1.1. Requirements</a></li>
|
||||
<li><a href="#org106e693">6.1.2. C header</a></li>
|
||||
<li><a href="#orge4b8fb5">6.1.3. C source</a></li>
|
||||
<li><a href="#org75fd3cd">6.1.4. Performance…</a></li>
|
||||
<li><a href="#org4510ad8">6.1.1. Requirements</a></li>
|
||||
<li><a href="#org9e70772">6.1.2. C header</a></li>
|
||||
<li><a href="#org365bc1e">6.1.3. C source</a></li>
|
||||
<li><a href="#orgfc48266">6.1.4. Performance…</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org7fe9e44">7. Helper Functions</a>
|
||||
<li><a href="#org9a03f58">7. Helper Functions</a>
|
||||
<ul>
|
||||
<li><a href="#org6f53a9e">7.1. <code>qmckl_slagel_splitting</code></a>
|
||||
<li><a href="#orgac3a326">7.1. <code>qmckl_slagel_splitting</code></a>
|
||||
<ul>
|
||||
<li><a href="#org8c68573">7.1.1. Requirements</a></li>
|
||||
<li><a href="#org51f8bc1">7.1.2. C header</a></li>
|
||||
<li><a href="#orgaabba6f">7.1.3. C source</a></li>
|
||||
<li><a href="#org8e0fa31">7.1.4. Performance</a></li>
|
||||
<li><a href="#org2abd51f">7.1.1. Requirements</a></li>
|
||||
<li><a href="#org820d540">7.1.2. C header</a></li>
|
||||
<li><a href="#org8cd588d">7.1.3. C source</a></li>
|
||||
<li><a href="#org2c83994">7.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgbc1a134">8. End of files</a></li>
|
||||
<li><a href="#org874a10f">8. End of files</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org92a46e8" class="outline-2">
|
||||
<h2 id="org92a46e8"><span class="section-number-2">1</span> Headers</h2>
|
||||
<div id="outline-container-org67491ee" class="outline-2">
|
||||
<h2 id="org67491ee"><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-org0832817" class="outline-2">
|
||||
<h2 id="org0832817"><span class="section-number-2">2</span> Naïve Sherman-Morrison</h2>
|
||||
<div id="outline-container-orgc227231" class="outline-2">
|
||||
<h2 id="orgc227231"><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-orgac18e44" class="outline-3">
|
||||
<h3 id="orgac18e44"><span class="section-number-3">2.1</span> <code>qmckl_sherman_morrison</code></h3>
|
||||
<div id="outline-container-org521d1df" class="outline-3">
|
||||
<h3 id="org521d1df"><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="org4b2248a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org91867cd" 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-org467c190" class="outline-4">
|
||||
<h4 id="org467c190"><span class="section-number-4">2.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-orgcf57bba" class="outline-4">
|
||||
<h4 id="orgcf57bba"><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-org1580ddb" class="outline-4">
|
||||
<h4 id="org1580ddb"><span class="section-number-4">2.1.2</span> C header</h4>
|
||||
<div id="outline-container-orgb848f19" class="outline-4">
|
||||
<h4 id="orgb848f19"><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-orgbe79177" class="outline-4">
|
||||
<h4 id="orgbe79177"><span class="section-number-4">2.1.3</span> C source</h4>
|
||||
<div id="outline-container-orgbd4d48b" class="outline-4">
|
||||
<h4 id="orgbd4d48b"><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-orgc5988cd" class="outline-4">
|
||||
<h4 id="orgc5988cd"><span class="section-number-4">2.1.4</span> Performance</h4>
|
||||
<div id="outline-container-org5fe64db" class="outline-4">
|
||||
<h4 id="org5fe64db"><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-org4149035" class="outline-2">
|
||||
<h2 id="org4149035"><span class="section-number-2">3</span> Woodbury 2x2</h2>
|
||||
<div id="outline-container-orgc093681" class="outline-2">
|
||||
<h2 id="orgc093681"><span class="section-number-2">3</span> Woodbury 2x2</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
</div>
|
||||
<div id="outline-container-org84340a7" class="outline-3">
|
||||
<h3 id="org84340a7"><span class="section-number-3">3.1</span> <code>qmckl_woodbury_2</code></h3>
|
||||
<div id="outline-container-orgcf030c3" class="outline-3">
|
||||
<h3 id="orgcf030c3"><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="org159b24b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgc9d589e" 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-org85c3265" class="outline-4">
|
||||
<h4 id="org85c3265"><span class="section-number-4">3.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org7f928a6" class="outline-4">
|
||||
<h4 id="org7f928a6"><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-org97012e0" class="outline-4">
|
||||
<h4 id="org97012e0"><span class="section-number-4">3.1.2</span> C header</h4>
|
||||
<div id="outline-container-org4305efd" class="outline-4">
|
||||
<h4 id="org4305efd"><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-orge58d675" class="outline-4">
|
||||
<h4 id="orge58d675"><span class="section-number-4">3.1.3</span> C source</h4>
|
||||
<div id="outline-container-org1c7b16c" class="outline-4">
|
||||
<h4 id="org1c7b16c"><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-org2e18d13" class="outline-4">
|
||||
<h4 id="org2e18d13"><span class="section-number-4">3.1.4</span> Performance</h4>
|
||||
<div id="outline-container-orgd44dc67" class="outline-4">
|
||||
<h4 id="orgd44dc67"><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-orgc849234" class="outline-2">
|
||||
<h2 id="orgc849234"><span class="section-number-2">4</span> Woodbury 3x3</h2>
|
||||
<div id="outline-container-org42a3115" class="outline-2">
|
||||
<h2 id="org42a3115"><span class="section-number-2">4</span> Woodbury 3x3</h2>
|
||||
<div class="outline-text-2" id="text-4">
|
||||
</div>
|
||||
<div id="outline-container-orgc73adc7" class="outline-3">
|
||||
<h3 id="orgc73adc7"><span class="section-number-3">4.1</span> <code>qmckl_woodbury_3</code></h3>
|
||||
<div id="outline-container-org0b5b3ee" class="outline-3">
|
||||
<h3 id="org0b5b3ee"><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="org6e9cd55" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgee6f533" 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-orgd4a113c" class="outline-4">
|
||||
<h4 id="orgd4a113c"><span class="section-number-4">4.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org13fd9b8" class="outline-4">
|
||||
<h4 id="org13fd9b8"><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-orgc7cc26a" class="outline-4">
|
||||
<h4 id="orgc7cc26a"><span class="section-number-4">4.1.2</span> C header</h4>
|
||||
<div id="outline-container-orga8585d4" class="outline-4">
|
||||
<h4 id="orga8585d4"><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-org40cc527" class="outline-4">
|
||||
<h4 id="org40cc527"><span class="section-number-4">4.1.3</span> C source</h4>
|
||||
<div id="outline-container-org9c715a5" class="outline-4">
|
||||
<h4 id="org9c715a5"><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-orga4839da" class="outline-4">
|
||||
<h4 id="orga4839da"><span class="section-number-4">4.1.4</span> Performance…</h4>
|
||||
<div id="outline-container-orge00e41d" class="outline-4">
|
||||
<h4 id="orge00e41d"><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-org0c84c42" class="outline-2">
|
||||
<h2 id="org0c84c42"><span class="section-number-2">5</span> Sherman-Morrison with update splitting</h2>
|
||||
<div id="outline-container-orgb6357ce" class="outline-2">
|
||||
<h2 id="orgb6357ce"><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-org3aa02b6" class="outline-3">
|
||||
<h3 id="org3aa02b6"><span class="section-number-3">5.1</span> <code>qmckl_sherman_morrison_splitting</code></h3>
|
||||
<div id="outline-container-org17fb2b3" class="outline-3">
|
||||
<h3 id="org17fb2b3"><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="org56f74c9" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgc560385" 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-org484b451" class="outline-4">
|
||||
<h4 id="org484b451"><span class="section-number-4">5.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-orgecda119" class="outline-4">
|
||||
<h4 id="orgecda119"><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-orgfc9c84a" class="outline-4">
|
||||
<h4 id="orgfc9c84a"><span class="section-number-4">5.1.2</span> C header</h4>
|
||||
<div id="outline-container-org9f86147" class="outline-4">
|
||||
<h4 id="org9f86147"><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-org97627b3" class="outline-4">
|
||||
<h4 id="org97627b3"><span class="section-number-4">5.1.3</span> C source</h4>
|
||||
<div id="outline-container-org132403d" class="outline-4">
|
||||
<h4 id="org132403d"><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-orgac3bf0e" class="outline-4">
|
||||
<h4 id="orgac3bf0e"><span class="section-number-4">5.1.4</span> Performance…</h4>
|
||||
<div id="outline-container-org10c7270" class="outline-4">
|
||||
<h4 id="org10c7270"><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-org6fcf314" class="outline-2">
|
||||
<h2 id="org6fcf314"><span class="section-number-2">6</span> Woodbury 3x3 and 2x2 with Sherman-Morrison and update splitting</h2>
|
||||
<div id="outline-container-org4b2c559" class="outline-2">
|
||||
<h2 id="org4b2c559"><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-orgb5a6b54" class="outline-3">
|
||||
<h3 id="orgb5a6b54"><span class="section-number-3">6.1</span> <code>qmckl_sherman_morrison_smw32s</code></h3>
|
||||
<div id="outline-container-orgb268362" class="outline-3">
|
||||
<h3 id="orgb268362"><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="org94c3196" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgab03ae0" 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-org5abb3e5" class="outline-4">
|
||||
<h4 id="org5abb3e5"><span class="section-number-4">6.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org4510ad8" class="outline-4">
|
||||
<h4 id="org4510ad8"><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-org106e693" class="outline-4">
|
||||
<h4 id="org106e693"><span class="section-number-4">6.1.2</span> C header</h4>
|
||||
<div id="outline-container-org9e70772" class="outline-4">
|
||||
<h4 id="org9e70772"><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-orge4b8fb5" class="outline-4">
|
||||
<h4 id="orge4b8fb5"><span class="section-number-4">6.1.3</span> C source</h4>
|
||||
<div id="outline-container-org365bc1e" class="outline-4">
|
||||
<h4 id="org365bc1e"><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-org75fd3cd" class="outline-4">
|
||||
<h4 id="org75fd3cd"><span class="section-number-4">6.1.4</span> Performance…</h4>
|
||||
<div id="outline-container-orgfc48266" class="outline-4">
|
||||
<h4 id="orgfc48266"><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-org7fe9e44" class="outline-2">
|
||||
<h2 id="org7fe9e44"><span class="section-number-2">7</span> Helper Functions</h2>
|
||||
<div id="outline-container-org9a03f58" class="outline-2">
|
||||
<h2 id="org9a03f58"><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-org6f53a9e" class="outline-3">
|
||||
<h3 id="org6f53a9e"><span class="section-number-3">7.1</span> <code>qmckl_slagel_splitting</code></h3>
|
||||
<div id="outline-container-orgac3a326" class="outline-3">
|
||||
<h3 id="orgac3a326"><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="orge8ce4b4" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org31eaee2" 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-org8c68573" class="outline-4">
|
||||
<h4 id="org8c68573"><span class="section-number-4">7.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org2abd51f" class="outline-4">
|
||||
<h4 id="org2abd51f"><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-org51f8bc1" class="outline-4">
|
||||
<h4 id="org51f8bc1"><span class="section-number-4">7.1.2</span> C header</h4>
|
||||
<div id="outline-container-org820d540" class="outline-4">
|
||||
<h4 id="org820d540"><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-orgaabba6f" class="outline-4">
|
||||
<h4 id="orgaabba6f"><span class="section-number-4">7.1.3</span> C source</h4>
|
||||
<div id="outline-container-org8cd588d" class="outline-4">
|
||||
<h4 id="org8cd588d"><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-org8e0fa31" class="outline-4">
|
||||
<h4 id="org8e0fa31"><span class="section-number-4">7.1.4</span> Performance</h4>
|
||||
<div id="outline-container-org2c83994" class="outline-4">
|
||||
<h4 id="org2c83994"><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-orgbc1a134" class="outline-2">
|
||||
<h2 id="orgbc1a134"><span class="section-number-2">8</span> End of files</h2>
|
||||
<div id="outline-container-org874a10f" class="outline-2">
|
||||
<h2 id="org874a10f"><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-01-23 Sun 18:09</p>
|
||||
<p class="date">Created: 2022-01-26 Wed 16: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-01-23 Sun 18:09 -->
|
||||
<!-- 2022-01-26 Wed 16: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="#org6bf88b8">1. CHBrClF</a>
|
||||
<li><a href="#org105e593">1. CHBrClF</a>
|
||||
<ul>
|
||||
<li><a href="#org52c0988">1.1. XYZ coordinates</a></li>
|
||||
<li><a href="#orgac1cf04">1.2. Atomic basis set</a></li>
|
||||
<li><a href="#org89f5754">1.3. Molecular orbitals</a></li>
|
||||
<li><a href="#orgdee187f">1.4. Electron coordinates</a></li>
|
||||
<li><a href="#org8017153">1.1. XYZ coordinates</a></li>
|
||||
<li><a href="#org70886a4">1.2. Atomic basis set</a></li>
|
||||
<li><a href="#org2358624">1.3. Molecular orbitals</a></li>
|
||||
<li><a href="#orgdd44a1d">1.4. Electron coordinates</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org25e8dff">2. N2</a>
|
||||
<li><a href="#orgd27f8c2">2. N2</a>
|
||||
<ul>
|
||||
<li><a href="#orgee48f66">2.1. XYZ coordinates</a></li>
|
||||
<li><a href="#org0af100a">2.2. Electron coordinates</a></li>
|
||||
<li><a href="#org4dfdd2c">2.3. Jastrow related data</a></li>
|
||||
<li><a href="#orgcab5f44">2.1. XYZ coordinates</a></li>
|
||||
<li><a href="#org5361be3">2.2. Electron coordinates</a></li>
|
||||
<li><a href="#org686ce1d">2.3. Jastrow related data</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6bf88b8" class="outline-2">
|
||||
<h2 id="org6bf88b8"><span class="section-number-2">1</span> CHBrClF</h2>
|
||||
<div id="outline-container-org105e593" class="outline-2">
|
||||
<h2 id="org105e593"><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-org52c0988" class="outline-3">
|
||||
<h3 id="org52c0988"><span class="section-number-3">1.1</span> XYZ coordinates</h3>
|
||||
<div id="outline-container-org8017153" class="outline-3">
|
||||
<h3 id="org8017153"><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-orgac1cf04" class="outline-3">
|
||||
<h3 id="orgac1cf04"><span class="section-number-3">1.2</span> Atomic basis set</h3>
|
||||
<div id="outline-container-org70886a4" class="outline-3">
|
||||
<h3 id="org70886a4"><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-org89f5754" class="outline-3">
|
||||
<h3 id="org89f5754"><span class="section-number-3">1.3</span> Molecular orbitals</h3>
|
||||
<div id="outline-container-org2358624" class="outline-3">
|
||||
<h3 id="org2358624"><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-orgdee187f" class="outline-3">
|
||||
<h3 id="orgdee187f"><span class="section-number-3">1.4</span> Electron coordinates</h3>
|
||||
<div id="outline-container-orgdd44a1d" class="outline-3">
|
||||
<h3 id="orgdd44a1d"><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-org25e8dff" class="outline-2">
|
||||
<h2 id="org25e8dff"><span class="section-number-2">2</span> N2</h2>
|
||||
<div id="outline-container-orgd27f8c2" class="outline-2">
|
||||
<h2 id="orgd27f8c2"><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-orgee48f66" class="outline-3">
|
||||
<h3 id="orgee48f66"><span class="section-number-3">2.1</span> XYZ coordinates</h3>
|
||||
<div id="outline-container-orgcab5f44" class="outline-3">
|
||||
<h3 id="orgcab5f44"><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-org0af100a" class="outline-3">
|
||||
<h3 id="org0af100a"><span class="section-number-3">2.2</span> Electron coordinates</h3>
|
||||
<div id="outline-container-org5361be3" class="outline-3">
|
||||
<h3 id="org5361be3"><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-org4dfdd2c" class="outline-3">
|
||||
<h3 id="org4dfdd2c"><span class="section-number-3">2.3</span> Jastrow related data</h3>
|
||||
<div id="outline-container-org686ce1d" class="outline-3">
|
||||
<h3 id="org686ce1d"><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-01-23 Sun 18:09</p>
|
||||
<p class="date">Created: 2022-01-26 Wed 16: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-01-23 Sun 18:08 -->
|
||||
<!-- 2022-01-26 Wed 16:09 -->
|
||||
<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="#orga7ccac9">1. Local functions</a>
|
||||
<li><a href="#orgbf0cd8c">1. Local functions</a>
|
||||
<ul>
|
||||
<li><a href="#orge57f37f">1.1. Open file</a></li>
|
||||
<li><a href="#org9fc9cd2">1.2. Electron</a></li>
|
||||
<li><a href="#org301ad50">1.3. Nucleus</a>
|
||||
<li><a href="#orgd2d9696">1.1. Open file</a></li>
|
||||
<li><a href="#orgee561ca">1.2. Electron</a></li>
|
||||
<li><a href="#org703536b">1.3. Nucleus</a>
|
||||
<ul>
|
||||
<li><a href="#org2bbdf27">1.3.1. Number of nuclei</a></li>
|
||||
<li><a href="#orgc60f951">1.3.2. Nuclear charges</a></li>
|
||||
<li><a href="#org8f5cb15">1.3.3. Nuclear coordinates</a></li>
|
||||
<li><a href="#org89d6102">1.3.1. Number of nuclei</a></li>
|
||||
<li><a href="#org6eeefbf">1.3.2. Nuclear charges</a></li>
|
||||
<li><a href="#org342059a">1.3.3. Nuclear coordinates</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org48cb60a">1.4. Basis set and AOs</a>
|
||||
<li><a href="#org56be444">1.4. Basis set and AOs</a>
|
||||
<ul>
|
||||
<li><a href="#org23d8c52">1.4.1. Basis set type</a></li>
|
||||
<li><a href="#orgf0f0299">1.4.2. Number of shells</a></li>
|
||||
<li><a href="#orgc0e0678">1.4.3. Number of primitives</a></li>
|
||||
<li><a href="#org98a2990">1.4.4. Number of atomic orbitals</a></li>
|
||||
<li><a href="#org37735ae">1.4.5. Nucleus<sub>index</sub> array</a></li>
|
||||
<li><a href="#orgbc9dea6">1.4.6. Number of shells per nucleus</a></li>
|
||||
<li><a href="#org58e6523">1.4.7. Angular momentum</a></li>
|
||||
<li><a href="#org3892767">1.4.8. Number of primitives per shell</a></li>
|
||||
<li><a href="#org8ed309e">1.4.9. Indices of the primitives</a></li>
|
||||
<li><a href="#org0ab2904">1.4.10. Normalization of the shells</a></li>
|
||||
<li><a href="#org0248204">1.4.11. Exponents</a></li>
|
||||
<li><a href="#orgd90c714">1.4.12. Coefficients</a></li>
|
||||
<li><a href="#orgb165bb4">1.4.13. Normalization of the primitivies</a></li>
|
||||
<li><a href="#org91d7529">1.4.14. AO Normalization</a></li>
|
||||
<li><a href="#org04a9dfb">1.4.1. Basis set type</a></li>
|
||||
<li><a href="#org72d8865">1.4.2. Number of shells</a></li>
|
||||
<li><a href="#orgf5b8d50">1.4.3. Number of primitives</a></li>
|
||||
<li><a href="#org93bd6a3">1.4.4. Number of atomic orbitals</a></li>
|
||||
<li><a href="#org636d422">1.4.5. Nucleus<sub>index</sub> array</a></li>
|
||||
<li><a href="#org6083ccc">1.4.6. Number of shells per nucleus</a></li>
|
||||
<li><a href="#orgbbde38b">1.4.7. Angular momentum</a></li>
|
||||
<li><a href="#org3f92e0a">1.4.8. Number of primitives per shell</a></li>
|
||||
<li><a href="#org7b14b82">1.4.9. Indices of the primitives</a></li>
|
||||
<li><a href="#orge112fcd">1.4.10. Normalization of the shells</a></li>
|
||||
<li><a href="#org1fa73bc">1.4.11. Exponents</a></li>
|
||||
<li><a href="#orga8ee8fa">1.4.12. Coefficients</a></li>
|
||||
<li><a href="#org7be6127">1.4.13. Normalization of the primitivies</a></li>
|
||||
<li><a href="#orgc582d90">1.4.14. AO Normalization</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgd25b902">1.5. Molecular orbitals</a>
|
||||
<li><a href="#org5e07b40">1.5. Molecular orbitals</a>
|
||||
<ul>
|
||||
<li><a href="#org4b3f977">1.5.1. Number of MOs</a></li>
|
||||
<li><a href="#orgc3e11ce">1.5.2. MO coefficients</a></li>
|
||||
<li><a href="#orgf26f8db">1.5.1. Number of MOs</a></li>
|
||||
<li><a href="#org89cd385">1.5.2. MO coefficients</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org23deae5">1.6. <span class="todo TODO">TODO</span> ECP</a></li>
|
||||
<li><a href="#org363fe3e">1.6. <span class="todo TODO">TODO</span> ECP</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgc9ad893">2. Read everything</a></li>
|
||||
<li><a href="#orge3f632b">3. Test</a>
|
||||
<li><a href="#orgde8a928">2. Read everything</a></li>
|
||||
<li><a href="#orgfd0bb3c">3. Test</a>
|
||||
<ul>
|
||||
<li>
|
||||
<ul>
|
||||
<li><a href="#orgbf3decf">3.0.1. Electrons</a></li>
|
||||
<li><a href="#org1c8d7ea">3.0.2. Nuclei</a></li>
|
||||
<li><a href="#org7a4e88c">3.0.3. Atomic basis</a></li>
|
||||
<li><a href="#org8a5a499">3.0.4. MO Basis</a></li>
|
||||
<li><a href="#org862c7b8">3.0.1. Electrons</a></li>
|
||||
<li><a href="#orgd4c89cc">3.0.2. Nuclei</a></li>
|
||||
<li><a href="#orgff16896">3.0.3. Atomic basis</a></li>
|
||||
<li><a href="#org4499e84">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-orga7ccac9" class="outline-2">
|
||||
<h2 id="orga7ccac9"><span class="section-number-2">1</span> Local functions</h2>
|
||||
<div id="outline-container-orgbf0cd8c" class="outline-2">
|
||||
<h2 id="orgbf0cd8c"><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-orge57f37f" class="outline-3">
|
||||
<h3 id="orge57f37f"><span class="section-number-3">1.1</span> Open file</h3>
|
||||
<div id="outline-container-orgd2d9696" class="outline-3">
|
||||
<h3 id="orgd2d9696"><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-org9fc9cd2" class="outline-3">
|
||||
<h3 id="org9fc9cd2"><span class="section-number-3">1.2</span> Electron</h3>
|
||||
<div id="outline-container-orgee561ca" class="outline-3">
|
||||
<h3 id="orgee561ca"><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-org301ad50" class="outline-3">
|
||||
<h3 id="org301ad50"><span class="section-number-3">1.3</span> Nucleus</h3>
|
||||
<div id="outline-container-org703536b" class="outline-3">
|
||||
<h3 id="org703536b"><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-org2bbdf27" class="outline-4">
|
||||
<h4 id="org2bbdf27"><span class="section-number-4">1.3.1</span> Number of nuclei</h4>
|
||||
<div id="outline-container-org89d6102" class="outline-4">
|
||||
<h4 id="org89d6102"><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-orgc60f951" class="outline-4">
|
||||
<h4 id="orgc60f951"><span class="section-number-4">1.3.2</span> Nuclear charges</h4>
|
||||
<div id="outline-container-org6eeefbf" class="outline-4">
|
||||
<h4 id="org6eeefbf"><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-org8f5cb15" class="outline-4">
|
||||
<h4 id="org8f5cb15"><span class="section-number-4">1.3.3</span> Nuclear coordinates</h4>
|
||||
<div id="outline-container-org342059a" class="outline-4">
|
||||
<h4 id="org342059a"><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-org48cb60a" class="outline-3">
|
||||
<h3 id="org48cb60a"><span class="section-number-3">1.4</span> Basis set and AOs</h3>
|
||||
<div id="outline-container-org56be444" class="outline-3">
|
||||
<h3 id="org56be444"><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-org23d8c52" class="outline-4">
|
||||
<h4 id="org23d8c52"><span class="section-number-4">1.4.1</span> Basis set type</h4>
|
||||
<div id="outline-container-org04a9dfb" class="outline-4">
|
||||
<h4 id="org04a9dfb"><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-orgf0f0299" class="outline-4">
|
||||
<h4 id="orgf0f0299"><span class="section-number-4">1.4.2</span> Number of shells</h4>
|
||||
<div id="outline-container-org72d8865" class="outline-4">
|
||||
<h4 id="org72d8865"><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-orgc0e0678" class="outline-4">
|
||||
<h4 id="orgc0e0678"><span class="section-number-4">1.4.3</span> Number of primitives</h4>
|
||||
<div id="outline-container-orgf5b8d50" class="outline-4">
|
||||
<h4 id="orgf5b8d50"><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-org98a2990" class="outline-4">
|
||||
<h4 id="org98a2990"><span class="section-number-4">1.4.4</span> Number of atomic orbitals</h4>
|
||||
<div id="outline-container-org93bd6a3" class="outline-4">
|
||||
<h4 id="org93bd6a3"><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-org37735ae" class="outline-4">
|
||||
<h4 id="org37735ae"><span class="section-number-4">1.4.5</span> Nucleus<sub>index</sub> array</h4>
|
||||
<div id="outline-container-org636d422" class="outline-4">
|
||||
<h4 id="org636d422"><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-orgbc9dea6" class="outline-4">
|
||||
<h4 id="orgbc9dea6"><span class="section-number-4">1.4.6</span> Number of shells per nucleus</h4>
|
||||
<div id="outline-container-org6083ccc" class="outline-4">
|
||||
<h4 id="org6083ccc"><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-org58e6523" class="outline-4">
|
||||
<h4 id="org58e6523"><span class="section-number-4">1.4.7</span> Angular momentum</h4>
|
||||
<div id="outline-container-orgbbde38b" class="outline-4">
|
||||
<h4 id="orgbbde38b"><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-org3892767" class="outline-4">
|
||||
<h4 id="org3892767"><span class="section-number-4">1.4.8</span> Number of primitives per shell</h4>
|
||||
<div id="outline-container-org3f92e0a" class="outline-4">
|
||||
<h4 id="org3f92e0a"><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-org8ed309e" class="outline-4">
|
||||
<h4 id="org8ed309e"><span class="section-number-4">1.4.9</span> Indices of the primitives</h4>
|
||||
<div id="outline-container-org7b14b82" class="outline-4">
|
||||
<h4 id="org7b14b82"><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-org0ab2904" class="outline-4">
|
||||
<h4 id="org0ab2904"><span class="section-number-4">1.4.10</span> Normalization of the shells</h4>
|
||||
<div id="outline-container-orge112fcd" class="outline-4">
|
||||
<h4 id="orge112fcd"><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-org0248204" class="outline-4">
|
||||
<h4 id="org0248204"><span class="section-number-4">1.4.11</span> Exponents</h4>
|
||||
<div id="outline-container-org1fa73bc" class="outline-4">
|
||||
<h4 id="org1fa73bc"><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-orgd90c714" class="outline-4">
|
||||
<h4 id="orgd90c714"><span class="section-number-4">1.4.12</span> Coefficients</h4>
|
||||
<div id="outline-container-orga8ee8fa" class="outline-4">
|
||||
<h4 id="orga8ee8fa"><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-orgb165bb4" class="outline-4">
|
||||
<h4 id="orgb165bb4"><span class="section-number-4">1.4.13</span> Normalization of the primitivies</h4>
|
||||
<div id="outline-container-org7be6127" class="outline-4">
|
||||
<h4 id="org7be6127"><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-org91d7529" class="outline-4">
|
||||
<h4 id="org91d7529"><span class="section-number-4">1.4.14</span> AO Normalization</h4>
|
||||
<div id="outline-container-orgc582d90" class="outline-4">
|
||||
<h4 id="orgc582d90"><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-orgd25b902" class="outline-3">
|
||||
<h3 id="orgd25b902"><span class="section-number-3">1.5</span> Molecular orbitals</h3>
|
||||
<div id="outline-container-org5e07b40" class="outline-3">
|
||||
<h3 id="org5e07b40"><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-org4b3f977" class="outline-4">
|
||||
<h4 id="org4b3f977"><span class="section-number-4">1.5.1</span> Number of MOs</h4>
|
||||
<div id="outline-container-orgf26f8db" class="outline-4">
|
||||
<h4 id="orgf26f8db"><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-orgc3e11ce" class="outline-4">
|
||||
<h4 id="orgc3e11ce"><span class="section-number-4">1.5.2</span> MO coefficients</h4>
|
||||
<div id="outline-container-org89cd385" class="outline-4">
|
||||
<h4 id="org89cd385"><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-org23deae5" class="outline-3">
|
||||
<h3 id="org23deae5"><span class="section-number-3">1.6</span> <span class="todo TODO">TODO</span> ECP</h3>
|
||||
<div id="outline-container-org363fe3e" class="outline-3">
|
||||
<h3 id="org363fe3e"><span class="section-number-3">1.6</span> <span class="todo TODO">TODO</span> ECP</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgc9ad893" class="outline-2">
|
||||
<h2 id="orgc9ad893"><span class="section-number-2">2</span> Read everything</h2>
|
||||
<div id="outline-container-orgde8a928" class="outline-2">
|
||||
<h2 id="orgde8a928"><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-orge3f632b" class="outline-2">
|
||||
<h2 id="orge3f632b"><span class="section-number-2">3</span> Test</h2>
|
||||
<div id="outline-container-orgfd0bb3c" class="outline-2">
|
||||
<h2 id="orgfd0bb3c"><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-orgbf3decf" class="outline-4">
|
||||
<h4 id="orgbf3decf"><span class="section-number-4">3.0.1</span> Electrons</h4>
|
||||
<div id="outline-container-org862c7b8" class="outline-4">
|
||||
<h4 id="org862c7b8"><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-org1c8d7ea" class="outline-4">
|
||||
<h4 id="org1c8d7ea"><span class="section-number-4">3.0.2</span> Nuclei</h4>
|
||||
<div id="outline-container-orgd4c89cc" class="outline-4">
|
||||
<h4 id="orgd4c89cc"><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-org7a4e88c" class="outline-4">
|
||||
<h4 id="org7a4e88c"><span class="section-number-4">3.0.3</span> Atomic basis</h4>
|
||||
<div id="outline-container-orgff16896" class="outline-4">
|
||||
<h4 id="orgff16896"><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-org8a5a499" class="outline-4">
|
||||
<h4 id="org8a5a499"><span class="section-number-4">3.0.4</span> MO Basis</h4>
|
||||
<div id="outline-container-org4499e84" class="outline-4">
|
||||
<h4 id="org4499e84"><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-01-23 Sun 18:08</p>
|
||||
<p class="date">Created: 2022-01-26 Wed 16: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-01-23 Sun 18:08 -->
|
||||
<!-- 2022-01-26 Wed 16: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="#org5076b6e">1. Verificarlo probes</a>
|
||||
<li><a href="#org7216a99">1. Verificarlo probes</a>
|
||||
<ul>
|
||||
<li><a href="#orgbc66e7d">1.1. Automatically initialize the <code>vfc_probe</code> object if <code>VFC_CI</code> is defined</a></li>
|
||||
<li><a href="#org4308c6f">1.2. Standard probe, without check</a></li>
|
||||
<li><a href="#org1334729">1.3. Probe with absolute check</a></li>
|
||||
<li><a href="#org1061b04">1.4. Probe with relative check</a></li>
|
||||
<li><a href="#org3aaa333">1.5. Automatically delete and dump the vfc<sub>probe</sub> object if <code>VFC_CI</code> is defined</a></li>
|
||||
<li><a href="#org586b275">1.1. Automatically initialize the <code>vfc_probe</code> object if <code>VFC_CI</code> is defined</a></li>
|
||||
<li><a href="#orgbb026dc">1.2. Standard probe, without check</a></li>
|
||||
<li><a href="#org21ff4fd">1.3. Probe with absolute check</a></li>
|
||||
<li><a href="#org0f37dd0">1.4. Probe with relative check</a></li>
|
||||
<li><a href="#org7f707df">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="#org42c34d6">2. Fortran wrappers</a></li>
|
||||
<li><a href="#org18b13d6">2. Fortran wrappers</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5076b6e" class="outline-2">
|
||||
<h2 id="org5076b6e"><span class="section-number-2">1</span> Verificarlo probes</h2>
|
||||
<div id="outline-container-org7216a99" class="outline-2">
|
||||
<h2 id="org7216a99"><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-orgbc66e7d" class="outline-3">
|
||||
<h3 id="orgbc66e7d"><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-org586b275" class="outline-3">
|
||||
<h3 id="org586b275"><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-org4308c6f" class="outline-3">
|
||||
<h3 id="org4308c6f"><span class="section-number-3">1.2</span> Standard probe, without check</h3>
|
||||
<div id="outline-container-orgbb026dc" class="outline-3">
|
||||
<h3 id="orgbb026dc"><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-org1334729" class="outline-3">
|
||||
<h3 id="org1334729"><span class="section-number-3">1.3</span> Probe with absolute check</h3>
|
||||
<div id="outline-container-org21ff4fd" class="outline-3">
|
||||
<h3 id="org21ff4fd"><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-org1061b04" class="outline-3">
|
||||
<h3 id="org1061b04"><span class="section-number-3">1.4</span> Probe with relative check</h3>
|
||||
<div id="outline-container-org0f37dd0" class="outline-3">
|
||||
<h3 id="org0f37dd0"><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-org3aaa333" class="outline-3">
|
||||
<h3 id="org3aaa333"><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-org7f707df" class="outline-3">
|
||||
<h3 id="org7f707df"><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-org42c34d6" class="outline-2">
|
||||
<h2 id="org42c34d6"><span class="section-number-2">2</span> Fortran wrappers</h2>
|
||||
<div id="outline-container-org18b13d6" class="outline-2">
|
||||
<h2 id="org18b13d6"><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-01-23 Sun 18:08</p>
|
||||
<p class="date">Created: 2022-01-26 Wed 16:09</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
Loading…
x
Reference in New Issue
Block a user