mirror of
https://github.com/TREX-CoE/qmckl.git
synced 2025-01-08 20:33:40 +01:00
Deploying to gh-pages from @ TREX-CoE/qmckl@685b7201fc 🚀
This commit is contained in:
parent
383388c8d9
commit
15b658d59f
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2022-02-14 Mon 09:30 -->
|
||||
<!-- 2022-02-14 Mon 23:46 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>QMCkl source code documentation</title>
|
||||
@ -361,7 +361,7 @@ and bug reports should be submitted at
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-02-14 Mon 09:30</p>
|
||||
<p class="date">Created: 2022-02-14 Mon 23:46</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
118
qmckl.html
118
qmckl.html
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2022-02-14 Mon 09:30 -->
|
||||
<!-- 2022-02-14 Mon 23:46 -->
|
||||
<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="#org1c9d143">1. Installing QMCkl</a>
|
||||
<li><a href="#org509b7fa">1. Installing QMCkl</a>
|
||||
<ul>
|
||||
<li><a href="#orgcb14c0f">1.1. Installing from the released tarball (for end users)</a></li>
|
||||
<li><a href="#org84fe596">1.2. Installing from the source repository (for developers)</a></li>
|
||||
<li><a href="#orgb520c27">1.1. Installing from the released tarball (for end users)</a></li>
|
||||
<li><a href="#org901f10a">1.2. Installing from the source repository (for developers)</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orga191d27">2. Using QMCkl</a></li>
|
||||
<li><a href="#org22dc281">3. Developing in QMCkl</a>
|
||||
<li><a href="#org382af53">2. Using QMCkl</a></li>
|
||||
<li><a href="#orgcb509b3">3. Developing in QMCkl</a>
|
||||
<ul>
|
||||
<li><a href="#org2fa90a9">3.1. Literate programming</a></li>
|
||||
<li><a href="#orgfee54bd">3.2. Source code editing</a></li>
|
||||
<li><a href="#org6f59cd0">3.3. Choice of the programming language</a></li>
|
||||
<li><a href="#orgf59fb61">3.4. Coding rules</a></li>
|
||||
<li><a href="#org5e6c748">3.5. Design of the library</a></li>
|
||||
<li><a href="#org78a0acf">3.6. Naming conventions</a></li>
|
||||
<li><a href="#org86bfdd3">3.7. Application programming interface</a></li>
|
||||
<li><a href="#org778fdde">3.8. Global state</a></li>
|
||||
<li><a href="#orga74a2ee">3.9. Headers</a></li>
|
||||
<li><a href="#orgf7bf97f">3.10. Low-level functions</a></li>
|
||||
<li><a href="#orgd5a6778">3.11. High-level functions</a></li>
|
||||
<li><a href="#org723e3ae">3.12. Numerical precision</a></li>
|
||||
<li><a href="#orgf07beca">3.13. Algorithms</a></li>
|
||||
<li><a href="#orga018b17">3.1. Literate programming</a></li>
|
||||
<li><a href="#org541a2cc">3.2. Source code editing</a></li>
|
||||
<li><a href="#orgcac879b">3.3. Choice of the programming language</a></li>
|
||||
<li><a href="#org5bb41b8">3.4. Coding rules</a></li>
|
||||
<li><a href="#orgdf797b2">3.5. Design of the library</a></li>
|
||||
<li><a href="#org309531d">3.6. Naming conventions</a></li>
|
||||
<li><a href="#org31dfeef">3.7. Application programming interface</a></li>
|
||||
<li><a href="#org47e4b35">3.8. Global state</a></li>
|
||||
<li><a href="#org22e14fd">3.9. Headers</a></li>
|
||||
<li><a href="#org5383398">3.10. Low-level functions</a></li>
|
||||
<li><a href="#org5fa94fd">3.11. High-level functions</a></li>
|
||||
<li><a href="#org0ae834c">3.12. Numerical precision</a></li>
|
||||
<li><a href="#org98925d2">3.13. Algorithms</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1c9d143" class="outline-2">
|
||||
<h2 id="org1c9d143"><span class="section-number-2">1</span> Installing QMCkl</h2>
|
||||
<div id="outline-container-org509b7fa" class="outline-2">
|
||||
<h2 id="org509b7fa"><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-orgcb14c0f" class="outline-3">
|
||||
<h3 id="orgcb14c0f"><span class="section-number-3">1.1</span> Installing from the released tarball (for end users)</h3>
|
||||
<div id="outline-container-orgb520c27" class="outline-3">
|
||||
<h3 id="orgb520c27"><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-org84fe596" class="outline-3">
|
||||
<h3 id="org84fe596"><span class="section-number-3">1.2</span> Installing from the source repository (for developers)</h3>
|
||||
<div id="outline-container-org901f10a" class="outline-3">
|
||||
<h3 id="org901f10a"><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-orga191d27" class="outline-2">
|
||||
<h2 id="orga191d27"><span class="section-number-2">2</span> Using QMCkl</h2>
|
||||
<div id="outline-container-org382af53" class="outline-2">
|
||||
<h2 id="org382af53"><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-org22dc281" class="outline-2">
|
||||
<h2 id="org22dc281"><span class="section-number-2">3</span> Developing in QMCkl</h2>
|
||||
<div id="outline-container-orgcb509b3" class="outline-2">
|
||||
<h2 id="orgcb509b3"><span class="section-number-2">3</span> Developing in QMCkl</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
</div>
|
||||
<div id="outline-container-org2fa90a9" class="outline-3">
|
||||
<h3 id="org2fa90a9"><span class="section-number-3">3.1</span> Literate programming</h3>
|
||||
<div id="outline-container-orga018b17" class="outline-3">
|
||||
<h3 id="orga018b17"><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-orgfee54bd" class="outline-3">
|
||||
<h3 id="orgfee54bd"><span class="section-number-3">3.2</span> Source code editing</h3>
|
||||
<div id="outline-container-org541a2cc" class="outline-3">
|
||||
<h3 id="org541a2cc"><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-org6f59cd0" class="outline-3">
|
||||
<h3 id="org6f59cd0"><span class="section-number-3">3.3</span> Choice of the programming language</h3>
|
||||
<div id="outline-container-orgcac879b" class="outline-3">
|
||||
<h3 id="orgcac879b"><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-orgf59fb61" class="outline-3">
|
||||
<h3 id="orgf59fb61"><span class="section-number-3">3.4</span> Coding rules</h3>
|
||||
<div id="outline-container-org5bb41b8" class="outline-3">
|
||||
<h3 id="org5bb41b8"><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-org5e6c748" class="outline-3">
|
||||
<h3 id="org5e6c748"><span class="section-number-3">3.5</span> Design of the library</h3>
|
||||
<div id="outline-container-orgdf797b2" class="outline-3">
|
||||
<h3 id="orgdf797b2"><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-org78a0acf" class="outline-3">
|
||||
<h3 id="org78a0acf"><span class="section-number-3">3.6</span> Naming conventions</h3>
|
||||
<div id="outline-container-org309531d" class="outline-3">
|
||||
<h3 id="org309531d"><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-org86bfdd3" class="outline-3">
|
||||
<h3 id="org86bfdd3"><span class="section-number-3">3.7</span> Application programming interface</h3>
|
||||
<div id="outline-container-org31dfeef" class="outline-3">
|
||||
<h3 id="org31dfeef"><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-org778fdde" class="outline-3">
|
||||
<h3 id="org778fdde"><span class="section-number-3">3.8</span> Global state</h3>
|
||||
<div id="outline-container-org47e4b35" class="outline-3">
|
||||
<h3 id="org47e4b35"><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="orgc770517">=context=</a> contains the global
|
||||
<code>qmckl_context_create</code> function. The <a id="org3898b3b">=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-orga74a2ee" class="outline-3">
|
||||
<h3 id="orga74a2ee"><span class="section-number-3">3.9</span> Headers</h3>
|
||||
<div id="outline-container-org22e14fd" class="outline-3">
|
||||
<h3 id="org22e14fd"><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-orgf7bf97f" class="outline-3">
|
||||
<h3 id="orgf7bf97f"><span class="section-number-3">3.10</span> Low-level functions</h3>
|
||||
<div id="outline-container-org5383398" class="outline-3">
|
||||
<h3 id="org5383398"><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="#orgc770517"><code>context</code></a>. They are not allowed to allocate/deallocate memory, and
|
||||
<a href="#org3898b3b"><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-orgd5a6778" class="outline-3">
|
||||
<h3 id="orgd5a6778"><span class="section-number-3">3.11</span> High-level functions</h3>
|
||||
<div id="outline-container-org5fa94fd" class="outline-3">
|
||||
<h3 id="org5fa94fd"><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-org723e3ae" class="outline-3">
|
||||
<h3 id="org723e3ae"><span class="section-number-3">3.12</span> Numerical precision</h3>
|
||||
<div id="outline-container-org0ae834c" class="outline-3">
|
||||
<h3 id="org0ae834c"><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="#orgc770517"><code>context</code></a> variable.
|
||||
specified in the <a href="#org3898b3b"><code>context</code></a> variable.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
@ -896,8 +896,8 @@ following points :
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf07beca" class="outline-3">
|
||||
<h3 id="orgf07beca"><span class="section-number-3">3.13</span> Algorithms</h3>
|
||||
<div id="outline-container-org98925d2" class="outline-3">
|
||||
<h3 id="org98925d2"><span class="section-number-3">3.13</span> Algorithms</h3>
|
||||
<div class="outline-text-3" id="text-3-13">
|
||||
<p>
|
||||
Reducing the scaling of an algorithm usually implies also reducing
|
||||
@ -913,7 +913,7 @@ implemented adapted to different problem sizes.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-02-14 Mon 09:30</p>
|
||||
<p class="date">Created: 2022-02-14 Mon 23:46</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
566
qmckl_ao.html
566
qmckl_ao.html
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2022-02-14 Mon 09:30 -->
|
||||
<!-- 2022-02-14 Mon 23:46 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Atomic Orbitals</title>
|
||||
@ -333,59 +333,59 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org578a54b">1. Introduction</a></li>
|
||||
<li><a href="#org256ea63">2. Context</a>
|
||||
<li><a href="#org9aeb487">1. Introduction</a></li>
|
||||
<li><a href="#org2159e08">2. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org69d89f5">2.1. Constant data</a>
|
||||
<li><a href="#org6379823">2.1. Constant data</a>
|
||||
<ul>
|
||||
<li><a href="#org5d71eaa">2.1.1. Initialization functions</a>
|
||||
<li><a href="#orgbeb6f34">2.1.1. Initialization functions</a>
|
||||
<ul>
|
||||
<li><a href="#orgea8409a">2.1.1.1. C interface</a></li>
|
||||
<li><a href="#org06d00da">2.1.1.2. Fortran interface</a></li>
|
||||
<li><a href="#org4723b89">2.1.1.1. C interface</a></li>
|
||||
<li><a href="#orgc149bfe">2.1.1.2. Fortran interface</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgef24c9e">2.1.2. Access functions</a>
|
||||
<li><a href="#org76836ca">2.1.2. Access functions</a>
|
||||
<ul>
|
||||
<li><a href="#org2f47bd3">2.1.2.1. C interface</a></li>
|
||||
<li><a href="#org3719dba">2.1.2.2. Fortran interface</a></li>
|
||||
<li><a href="#org711006a">2.1.2.1. C interface</a></li>
|
||||
<li><a href="#org6f6924c">2.1.2.2. Fortran interface</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org9b0365d">2.2. Computed data</a>
|
||||
<li><a href="#orga133e75">2.2. Computed data</a>
|
||||
<ul>
|
||||
<li><a href="#orgcb8edc2">2.2.1. After initialization</a></li>
|
||||
<li><a href="#org3218458">2.2.2. Access functions</a></li>
|
||||
<li><a href="#org9b4b065">2.2.1. After initialization</a></li>
|
||||
<li><a href="#orgc3eedd2">2.2.2. Access functions</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgd27d732">3. Radial part</a>
|
||||
<li><a href="#orgcd4696b">3. Radial part</a>
|
||||
<ul>
|
||||
<li><a href="#org72235f6">3.1. General functions for Gaussian basis functions</a></li>
|
||||
<li><a href="#org316ebf4">3.2. Computation of primitives</a></li>
|
||||
<li><a href="#org4e4514b">3.3. Computation of shells</a></li>
|
||||
<li><a href="#org390200c">3.1. General functions for Gaussian basis functions</a></li>
|
||||
<li><a href="#orgb829bad">3.2. Computation of primitives</a></li>
|
||||
<li><a href="#org62a9922">3.3. Computation of shells</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org4253715">4. Polynomial part</a>
|
||||
<li><a href="#orgfe6f126">4. Polynomial part</a>
|
||||
<ul>
|
||||
<li><a href="#org412a1a3">4.1. General functions for Powers of \(x-X_i\)</a></li>
|
||||
<li><a href="#orgabd7ae6">4.2. General functions for Value, Gradient and Laplacian of a polynomial</a></li>
|
||||
<li><a href="#orge794a40">4.1. General functions for Powers of \(x-X_i\)</a></li>
|
||||
<li><a href="#orgcd3d192">4.2. General functions for Value, Gradient and Laplacian of a polynomial</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org8f08aa6">5. Combining radial and polynomial parts</a>
|
||||
<li><a href="#org07be2dc">5. Combining radial and polynomial parts</a>
|
||||
<ul>
|
||||
<li><a href="#org219ee24">5.1. Unoptimized version</a></li>
|
||||
<li><a href="#org9b5a19a">5.2. HPC version</a></li>
|
||||
<li><a href="#orgedcf5f3">5.3. Interfaces</a></li>
|
||||
<li><a href="#org2231718">5.1. Unoptimized version</a></li>
|
||||
<li><a href="#org4e81cce">5.2. HPC version</a></li>
|
||||
<li><a href="#org6805bbb">5.3. Interfaces</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org578a54b" class="outline-2">
|
||||
<h2 id="org578a54b"><span class="section-number-2">1</span> Introduction</h2>
|
||||
<div id="outline-container-org9aeb487" class="outline-2">
|
||||
<h2 id="org9aeb487"><span class="section-number-2">1</span> Introduction</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
The atomic basis set is defined as a list of shells. Each shell \(s\) is
|
||||
@ -438,19 +438,19 @@ gradients and Laplacian of the atomic basis functions.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org256ea63" class="outline-2">
|
||||
<h2 id="org256ea63"><span class="section-number-2">2</span> Context</h2>
|
||||
<div id="outline-container-org2159e08" class="outline-2">
|
||||
<h2 id="org2159e08"><span class="section-number-2">2</span> Context</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-org69d89f5" class="outline-3">
|
||||
<h3 id="org69d89f5"><span class="section-number-3">2.1</span> Constant data</h3>
|
||||
<div id="outline-container-org6379823" class="outline-3">
|
||||
<h3 id="org6379823"><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="org148e0f7" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgca33bd0" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -624,7 +624,7 @@ calling the functions:
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-C" id="orgf6b5f89"><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="orgf9d2eee"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_set_ao_basis_$V$</span> ( <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #a020f0;">const</span> $type_of_V$ $V$);
|
||||
|
||||
<span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_ao_basis_$V$</span> ( <span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
@ -661,7 +661,7 @@ For array variables, use the rule:
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-C" id="org451ccc4"><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="orga7210e3"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_set_ao_basis_$V$</span> ( <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #a020f0;">const</span> $type_of_V$ $V$,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">size_max</span>);
|
||||
|
||||
@ -699,17 +699,17 @@ For array variables, use the rule:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5d71eaa" class="outline-4">
|
||||
<h4 id="org5d71eaa"><span class="section-number-4">2.1.1</span> Initialization functions</h4>
|
||||
<div id="outline-container-orgbeb6f34" class="outline-4">
|
||||
<h4 id="orgbeb6f34"><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="#org256ea63">2</a>.
|
||||
equal of larger than the value given in the table of section <a href="#org2159e08">2</a>.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgea8409a" class="outline-5">
|
||||
<h5 id="orgea8409a"><span class="section-number-5">2.1.1.1</span> C interface</h5>
|
||||
<div id="outline-container-org4723b89" class="outline-5">
|
||||
<h5 id="org4723b89"><span class="section-number-5">2.1.1.1</span> C interface</h5>
|
||||
<div class="outline-text-5" id="text-2-1-1-1">
|
||||
<p>
|
||||
To set the basis set, all the following functions need to be
|
||||
@ -833,8 +833,8 @@ called.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org06d00da" class="outline-5">
|
||||
<h5 id="org06d00da"><span class="section-number-5">2.1.1.2</span> Fortran interface</h5>
|
||||
<div id="outline-container-orgc149bfe" class="outline-5">
|
||||
<h5 id="orgc149bfe"><span class="section-number-5">2.1.1.2</span> Fortran interface</h5>
|
||||
<div class="outline-text-5" id="text-2-1-1-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #a020f0;">interface</span>
|
||||
@ -1017,17 +1017,17 @@ called.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgef24c9e" class="outline-4">
|
||||
<h4 id="orgef24c9e"><span class="section-number-4">2.1.2</span> Access functions</h4>
|
||||
<div id="outline-container-org76836ca" class="outline-4">
|
||||
<h4 id="org76836ca"><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="#org256ea63">2</a>.
|
||||
equal of larger than the value given in the table of section <a href="#org2159e08">2</a>.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2f47bd3" class="outline-5">
|
||||
<h5 id="org2f47bd3"><span class="section-number-5">2.1.2.1</span> C interface</h5>
|
||||
<div id="outline-container-org711006a" class="outline-5">
|
||||
<h5 id="org711006a"><span class="section-number-5">2.1.2.1</span> C interface</h5>
|
||||
<div class="outline-text-5" id="text-2-1-2-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
|
||||
@ -1149,8 +1149,8 @@ function returns <code>true</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3719dba" class="outline-5">
|
||||
<h5 id="org3719dba"><span class="section-number-5">2.1.2.2</span> Fortran interface</h5>
|
||||
<div id="outline-container-org6f6924c" class="outline-5">
|
||||
<h5 id="org6f6924c"><span class="section-number-5">2.1.2.2</span> Fortran interface</h5>
|
||||
<div class="outline-text-5" id="text-2-1-2-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #a020f0;">interface</span>
|
||||
@ -1334,8 +1334,8 @@ function returns <code>true</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9b0365d" class="outline-3">
|
||||
<h3 id="org9b0365d"><span class="section-number-3">2.2</span> Computed data</h3>
|
||||
<div id="outline-container-orga133e75" class="outline-3">
|
||||
<h3 id="orga133e75"><span class="section-number-3">2.2</span> Computed data</h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
<p>
|
||||
The following data is computed as described in the next sections:
|
||||
@ -1399,8 +1399,8 @@ The following data is computed as described in the next sections:
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgcb8edc2" class="outline-4">
|
||||
<h4 id="orgcb8edc2"><span class="section-number-4">2.2.1</span> After initialization</h4>
|
||||
<div id="outline-container-org9b4b065" class="outline-4">
|
||||
<h4 id="org9b4b065"><span class="section-number-4">2.2.1</span> After initialization</h4>
|
||||
<div class="outline-text-4" id="text-2-2-1">
|
||||
<p>
|
||||
When the basis set is completely entered, extra data structures may be
|
||||
@ -1414,8 +1414,8 @@ the context.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3218458" class="outline-4">
|
||||
<h4 id="org3218458"><span class="section-number-4">2.2.2</span> Access functions</h4>
|
||||
<div id="outline-container-orgc3eedd2" class="outline-4">
|
||||
<h4 id="orgc3eedd2"><span class="section-number-4">2.2.2</span> Access functions</h4>
|
||||
<div class="outline-text-4" id="text-2-2-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
|
||||
@ -1428,7 +1428,7 @@ the context.
|
||||
<p>
|
||||
Returns the array of values, gradients an Laplacian of primitive
|
||||
basis functions evaluated at the current coordinates.
|
||||
See section <a href="#org316ebf4">3.2</a>.
|
||||
See section <a href="#orgb829bad">3.2</a>.
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
@ -1441,7 +1441,7 @@ See section <a href="#org316ebf4">3.2</a>.
|
||||
|
||||
<p>
|
||||
Returns the array of values, gradients an Laplacian of contracted shells
|
||||
evaluated at the current coordinates. See section <a href="#org4e4514b">3.3</a>.
|
||||
evaluated at the current coordinates. See section <a href="#org62a9922">3.3</a>.
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
@ -1455,19 +1455,19 @@ evaluated at the current coordinates. See section <a href="#org4e4514b">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="#org8f08aa6">5</a>.
|
||||
See section <a href="#org07be2dc">5</a>.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd27d732" class="outline-2">
|
||||
<h2 id="orgd27d732"><span class="section-number-2">3</span> Radial part</h2>
|
||||
<div id="outline-container-orgcd4696b" class="outline-2">
|
||||
<h2 id="orgcd4696b"><span class="section-number-2">3</span> Radial part</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
</div>
|
||||
<div id="outline-container-org72235f6" class="outline-3">
|
||||
<h3 id="org72235f6"><span class="section-number-3">3.1</span> General functions for Gaussian basis functions</h3>
|
||||
<div id="outline-container-org390200c" class="outline-3">
|
||||
<h3 id="org390200c"><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
|
||||
@ -1638,10 +1638,10 @@ Requirements:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org316ebf4" class="outline-3">
|
||||
<h3 id="org316ebf4"><span class="section-number-3">3.2</span> Computation of primitives</h3>
|
||||
<div id="outline-container-orgb829bad" class="outline-3">
|
||||
<h3 id="orgb829bad"><span class="section-number-3">3.2</span> Computation of primitives</h3>
|
||||
<div class="outline-text-3" id="text-3-2">
|
||||
<table id="org0e8d23e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgda5243a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1800,10 +1800,10 @@ Requirements:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4e4514b" class="outline-3">
|
||||
<h3 id="org4e4514b"><span class="section-number-3">3.3</span> Computation of shells</h3>
|
||||
<div id="outline-container-org62a9922" class="outline-3">
|
||||
<h3 id="org62a9922"><span class="section-number-3">3.3</span> Computation of shells</h3>
|
||||
<div class="outline-text-3" id="text-3-3">
|
||||
<table id="org4121c83" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgd785eb6" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1873,6 +1873,13 @@ Requirements:
|
||||
<td class="org-left">Index of the 1st shell of each nucleus</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>nucleus_range</code></td>
|
||||
<td class="org-left"><code>double[nucl_num]</code></td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Range of the nucleus</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>shell_prim_index</code></td>
|
||||
<td class="org-left"><code>int64_t[shell_num]</code></td>
|
||||
@ -1933,6 +1940,7 @@ Requirements:
|
||||
<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;">double</span>* <span style="color: #a0522d;">nucleus_range</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;">coord</span>,
|
||||
@ -1946,9 +1954,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, 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, coord, nucl_coord, expo, <span style="color: #a020f0;">&</span>
|
||||
coef_normalized, shell_vgl) <span style="color: #a020f0;">&</span>
|
||||
nucleus_shell_num, nucleus_index, nucleus_range, <span style="color: #a020f0;">&</span>
|
||||
shell_prim_index, shell_prim_num, coord, nucl_coord, <span style="color: #a020f0;">&</span>
|
||||
expo, 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>
|
||||
<span style="color: #a020f0;">implicit</span> <span style="color: #228b22;">none</span>
|
||||
@ -1959,6 +1967,7 @@ Requirements:
|
||||
<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;">double precision</span> , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> nucleus_range(nucl_num)</span>
|
||||
<span style="color: #228b22;">integer</span>*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;"> coord(point_num,3)</span>
|
||||
@ -1978,13 +1987,9 @@ Requirements:
|
||||
! <span style="color: #b22222;">TODO : Use numerical precision here</span>
|
||||
cutoff = -dlog(1.d-12)
|
||||
|
||||
<span style="color: #a020f0;">do</span> inucl=1,nucl_num
|
||||
<span style="color: #a020f0;">do</span> ipoint = 1, point_num
|
||||
|
||||
! <span style="color: #b22222;">C is zero-based, so shift bounds by one</span>
|
||||
ishell_start = nucleus_index(inucl) + 1
|
||||
ishell_end = nucleus_index(inucl) + nucleus_shell_num(inucl)
|
||||
|
||||
<span style="color: #a020f0;">do</span> ipoint = 1, point_num
|
||||
<span style="color: #a020f0;">do</span> inucl=1,nucl_num
|
||||
|
||||
x = coord(ipoint,1) - nucl_coord(inucl,1)
|
||||
y = coord(ipoint,2) - nucl_coord(inucl,2)
|
||||
@ -1992,6 +1997,14 @@ Requirements:
|
||||
|
||||
r2 = x*x + y*y + z*z
|
||||
|
||||
<span style="color: #a020f0;">if</span> (r2 > cutoff*nucleus_range(inucl)) <span style="color: #a020f0;">then</span>
|
||||
<span style="color: #a020f0;">cycle</span>
|
||||
<span style="color: #a020f0;">end if</span>
|
||||
|
||||
! <span style="color: #b22222;">C is zero-based, so shift bounds by one</span>
|
||||
ishell_start = nucleus_index(inucl) + 1
|
||||
ishell_end = nucleus_index(inucl) + nucleus_shell_num(inucl)
|
||||
|
||||
<span style="color: #a020f0;">do</span> ishell=ishell_start, ishell_end
|
||||
|
||||
shell_vgl(ishell, 1, ipoint) = 0.d0
|
||||
@ -2042,8 +2055,8 @@ Requirements:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4253715" class="outline-2">
|
||||
<h2 id="org4253715"><span class="section-number-2">4</span> Polynomial part</h2>
|
||||
<div id="outline-container-orgfe6f126" class="outline-2">
|
||||
<h2 id="orgfe6f126"><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
|
||||
@ -2063,8 +2076,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-org412a1a3" class="outline-3">
|
||||
<h3 id="org412a1a3"><span class="section-number-3">4.1</span> General functions for Powers of \(x-X_i\)</h3>
|
||||
<div id="outline-container-orge794a40" class="outline-3">
|
||||
<h3 id="orge794a40"><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>
|
||||
@ -2076,7 +2089,7 @@ the \(n\) points:
|
||||
\[ P_{ik} = X_i^k \]
|
||||
</p>
|
||||
|
||||
<table id="org266b934" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org66c9fe9" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2214,8 +2227,8 @@ Requirements:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgabd7ae6" class="outline-3">
|
||||
<h3 id="orgabd7ae6"><span class="section-number-3">4.2</span> General functions for Value, Gradient and Laplacian of a polynomial</h3>
|
||||
<div id="outline-container-orgcd3d192" class="outline-3">
|
||||
<h3 id="orgcd3d192"><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\)
|
||||
@ -2260,7 +2273,7 @@ Laplacians at a given point in space, of all polynomials with an
|
||||
angular momentum up to <code>lmax</code>.
|
||||
</p>
|
||||
|
||||
<table id="org1b0beb9" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org8cdff2d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2548,7 +2561,7 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
<span style="color: #228b22;">integer</span> ::<span style="color: #a0522d;"> a,b,c,d</span>
|
||||
<span style="color: #228b22;">real</span>*8 ::<span style="color: #a0522d;"> Y(3)</span>
|
||||
<span style="color: #228b22;">integer</span> ::<span style="color: #a0522d;"> lmax_array(3)</span>
|
||||
<span style="color: #228b22;">real</span>*8 ::<span style="color: #a0522d;"> pows(-2:lmax,3)</span>
|
||||
<span style="color: #228b22;">real</span>*8 ::<span style="color: #a0522d;"> pows(-2:21,3) </span>! <span style="color: #b22222;">lmax < 22</span>
|
||||
<span style="color: #228b22;">double precision</span> ::<span style="color: #a0522d;"> xy, yz, xz</span>
|
||||
<span style="color: #228b22;">double precision</span> ::<span style="color: #a0522d;"> da, db, dc, dd</span>
|
||||
|
||||
@ -2575,17 +2588,12 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
<span style="color: #a020f0;">endif</span>
|
||||
|
||||
|
||||
<span style="color: #a020f0;">do</span> i=1,3
|
||||
Y(i) = X(i) - R(i)
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
|
||||
lmax_array(1:3) = lmax
|
||||
<span style="color: #a020f0;">if</span> (lmax == 0) <span style="color: #a020f0;">then</span>
|
||||
VGL(1,1) = 1.d0
|
||||
VGL(1,2:5) = 0.d0
|
||||
l(1:3,1) = 0
|
||||
n=1
|
||||
<span style="color: #a020f0;">else if</span> (lmax > 0) <span style="color: #a020f0;">then</span>
|
||||
<span style="color: #a020f0;">if</span> (lmax > 0) <span style="color: #a020f0;">then</span>
|
||||
|
||||
<span style="color: #a020f0;">do</span> i=1,3
|
||||
Y(i) = X(i) - R(i)
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
pows(-2:0,1:3) = 1.d0
|
||||
<span style="color: #a020f0;">do</span> i=1,lmax
|
||||
pows(i,1) = pows(i-1,1) * Y(1)
|
||||
@ -2612,6 +2620,12 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
VGL(4,4) = 1.d0
|
||||
|
||||
n=4
|
||||
<span style="color: #a020f0;">else</span>
|
||||
VGL(1,1) = 1.d0
|
||||
VGL(1,2:5) = 0.d0
|
||||
l(1:3,1) = 0
|
||||
n=1
|
||||
<span style="color: #a020f0;">return</span>
|
||||
<span style="color: #a020f0;">endif</span>
|
||||
|
||||
! <span style="color: #b22222;">l>=2</span>
|
||||
@ -2664,10 +2678,15 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8f08aa6" class="outline-2">
|
||||
<h2 id="org8f08aa6"><span class="section-number-2">5</span> Combining radial and polynomial parts</h2>
|
||||
<div id="outline-container-org07be2dc" class="outline-2">
|
||||
<h2 id="org07be2dc"><span class="section-number-2">5</span> Combining radial and polynomial parts</h2>
|
||||
<div class="outline-text-2" id="text-5">
|
||||
<table id="orgf0f0ff3" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2231718" class="outline-3">
|
||||
<h3 id="org2231718"><span class="section-number-3">5.1</span> Unoptimized version</h3>
|
||||
<div class="outline-text-3" id="text-5-1">
|
||||
<table id="org784ffb2" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2794,11 +2813,7 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org219ee24" class="outline-3">
|
||||
<h3 id="org219ee24"><span class="section-number-3">5.1</span> Unoptimized version</h3>
|
||||
<div class="outline-text-3" id="text-5-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer</span><span style="color: #a0522d;"> function qmckl_compute_ao_vgl_doc_f(context, </span><span style="color: #a020f0;">&</span>
|
||||
ao_num, shell_num, point_num, nucl_num, <span style="color: #a020f0;">&</span>
|
||||
@ -2835,15 +2850,25 @@ 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;">external</span> ::<span style="color: #a0522d;"> qmckl_ao_polynomial_vgl_f</span>
|
||||
|
||||
<span style="color: #228b22;">double precision</span>, <span style="color: #a020f0;">allocatable</span> ::<span style="color: #a0522d;"> poly_vgl(:,:)</span>
|
||||
<span style="color: #228b22;">integer</span> , <span style="color: #a020f0;">allocatable</span> ::<span style="color: #a0522d;"> powers(:,:)</span>
|
||||
<span style="color: #228b22;">integer</span> , <span style="color: #a020f0;">allocatable</span> ::<span style="color: #a0522d;"> powers(:,:), ao_index(:)</span>
|
||||
|
||||
<span style="color: #a020f0;">allocate</span>(poly_vgl(5,ao_num), powers(3,ao_num))
|
||||
<span style="color: #a020f0;">allocate</span>(poly_vgl(5,ao_num), powers(3,ao_num), ao_index(ao_num))
|
||||
|
||||
! <span style="color: #b22222;">Pre-computed data</span>
|
||||
<span style="color: #a020f0;">do</span> l=0,20
|
||||
lstart(l) = l*(l+1)*(l+2)/6 +1
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
|
||||
k=1
|
||||
<span style="color: #a020f0;">do</span> inucl=1,nucl_num
|
||||
ishell_start = nucleus_index(inucl) + 1
|
||||
ishell_end = nucleus_index(inucl) + nucleus_shell_num(inucl)
|
||||
<span style="color: #a020f0;">do</span> ishell = ishell_start, ishell_end
|
||||
l = shell_ang_mom(ishell)
|
||||
ao_index(ishell) = k
|
||||
k = k + lstart(l+1) - lstart(l)
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
info = QMCKL_SUCCESS
|
||||
|
||||
! <span style="color: #b22222;">Don't compute polynomials when the radial part is zero.</span>
|
||||
@ -2853,7 +2878,6 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
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)
|
||||
@ -2864,7 +2888,7 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
y = e_coord(2) - n_coord(2)
|
||||
z = e_coord(3) - n_coord(3)
|
||||
|
||||
r2 = x*x + z*z + z*z
|
||||
r2 = x*x + y*y + z*z
|
||||
|
||||
<span style="color: #a020f0;">if</span> (r2 > cutoff*nucleus_range(inucl)) <span style="color: #a020f0;">then</span>
|
||||
<span style="color: #a020f0;">cycle</span>
|
||||
@ -2879,6 +2903,7 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
ishell_start = nucleus_index(inucl) + 1
|
||||
ishell_end = nucleus_index(inucl) + nucleus_shell_num(inucl)
|
||||
<span style="color: #a020f0;">do</span> ishell = ishell_start, ishell_end
|
||||
k = ao_index(ishell)
|
||||
l = shell_ang_mom(ishell)
|
||||
<span style="color: #a020f0;">do</span> il = lstart(l), lstart(l+1)-1
|
||||
! <span style="color: #b22222;">Value</span>
|
||||
@ -2926,21 +2951,179 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9b5a19a" class="outline-3">
|
||||
<h3 id="org9b5a19a"><span class="section-number-3">5.2</span> HPC version</h3>
|
||||
<div id="outline-container-org4e81cce" class="outline-3">
|
||||
<h3 id="org4e81cce"><span class="section-number-3">5.2</span> HPC version</h3>
|
||||
<div class="outline-text-3" id="text-5-2">
|
||||
<table id="orga668e3b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
<col class="org-left" />
|
||||
|
||||
<col class="org-left" />
|
||||
|
||||
<col class="org-left" />
|
||||
|
||||
<col class="org-left" />
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col" class="org-left">Variable</th>
|
||||
<th scope="col" class="org-left">Type</th>
|
||||
<th scope="col" class="org-left">In/Out</th>
|
||||
<th scope="col" class="org-left">Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="org-left"><code>context</code></td>
|
||||
<td class="org-left"><code>qmckl_context</code></td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Global state</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>ao_num</code></td>
|
||||
<td class="org-left"><code>int64_t</code></td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Number of AOs</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>shell_num</code></td>
|
||||
<td class="org-left"><code>int64_t</code></td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Number of shells</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>prim_num</code></td>
|
||||
<td class="org-left"><code>int64_t</code></td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Number of primitives</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>point_num</code></td>
|
||||
<td class="org-left"><code>int64_t</code></td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Number of points</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>nucl_num</code></td>
|
||||
<td class="org-left"><code>int64_t</code></td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Number of nuclei</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<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">Coordinates</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>nucl_coord</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>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>nucleus_index</code></td>
|
||||
<td class="org-left"><code>int64_t[nucl_num]</code></td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Index of the 1st shell of each nucleus</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>nucleus_shell_num</code></td>
|
||||
<td class="org-left"><code>int64_t[nucl_num]</code></td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Number of shells per nucleus</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>nucleus_range</code></td>
|
||||
<td class="org-left"><code>double[nucl_num]</code></td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Range beyond which all is zero</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>nucleus_max_ang_mom</code></td>
|
||||
<td class="org-left"><code>int32_t[nucl_num]</code></td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Maximum angular momentum per nucleus</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>shell_ang_mom</code></td>
|
||||
<td class="org-left"><code>int32_t[shell_num]</code></td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Angular momentum of each shell</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>shell_prim_index</code></td>
|
||||
<td class="org-left"><code>int64_t[shell_num]</code></td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Index of the 1st primitive of each shell</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>shell_prim_num</code></td>
|
||||
<td class="org-left"><code>int64_t[shell_num]</code></td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Number of primitives per shell</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>ao_factor</code></td>
|
||||
<td class="org-left"><code>double[ao_num]</code></td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Normalization factor of the AOs</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>ao_expo</code></td>
|
||||
<td class="org-left"><code>double[prim_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>coef_normalized</code></td>
|
||||
<td class="org-left"><code>double[prim_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[point_num][5][ao_num]</code></td>
|
||||
<td class="org-left">out</td>
|
||||
<td class="org-left">Value, gradients and Laplacian of the AOs</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer</span><span style="color: #a0522d;"> function qmckl_compute_ao_vgl_hpc_f(context, </span><span style="color: #a020f0;">&</span>
|
||||
ao_num, shell_num, point_num, nucl_num, <span style="color: #a020f0;">&</span>
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer</span><span style="color: #a0522d;"> function qmckl_compute_ao_vgl_hpc_f(context, </span><span style="color: #a020f0;">&</span>
|
||||
ao_num, shell_num, prim_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>
|
||||
nucleus_range, nucleus_max_ang_mom, shell_ang_mom, <span style="color: #a020f0;">&</span>
|
||||
shell_prim_index, shell_prim_num, ao_factor, expo, <span style="color: #a020f0;">&</span>
|
||||
coef_normalized, ao_vgl) <span style="color: #a020f0;">&</span>
|
||||
<span style="color: #a020f0;">result</span>(info)
|
||||
<span style="color: #a020f0;">use</span> <span style="color: #0000ff;">qmckl</span>
|
||||
<span style="color: #a020f0;">implicit</span> <span style="color: #228b22;">none</span>
|
||||
<span style="color: #228b22;">integer</span>(qmckl_context), <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> context</span>
|
||||
<span style="color: #228b22;">integer</span>*8 , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> ao_num</span>
|
||||
<span style="color: #228b22;">integer</span>*8 , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> shell_num</span>
|
||||
<span style="color: #228b22;">integer</span>*8 , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> prim_num</span>
|
||||
<span style="color: #228b22;">integer</span>*8 , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> point_num</span>
|
||||
<span style="color: #228b22;">integer</span>*8 , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> nucl_num</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> coord(point_num,3)</span>
|
||||
@ -2950,8 +3133,11 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> nucleus_range(nucl_num)</span>
|
||||
<span style="color: #228b22;">integer</span> , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> nucleus_max_ang_mom(nucl_num)</span>
|
||||
<span style="color: #228b22;">integer</span> , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> shell_ang_mom(shell_num)</span>
|
||||
<span style="color: #228b22;">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;"> ao_factor(ao_num)</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> shell_vgl(shell_num,5,point_num)</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(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;"> ao_vgl(ao_num,5,point_num)</span>
|
||||
|
||||
<span style="color: #228b22;">double precision</span> ::<span style="color: #a0522d;"> e_coord(3), n_coord(3)</span>
|
||||
@ -2959,21 +3145,37 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
<span style="color: #228b22;">integer</span> ::<span style="color: #a0522d;"> l, il, k</span>
|
||||
<span style="color: #228b22;">integer</span>*8 ::<span style="color: #a0522d;"> ipoint, inucl, ishell</span>
|
||||
<span style="color: #228b22;">integer</span>*8 ::<span style="color: #a0522d;"> ishell_start, ishell_end</span>
|
||||
<span style="color: #228b22;">integer</span> ::<span style="color: #a0522d;"> lstart(0:20)</span>
|
||||
<span style="color: #228b22;">double precision</span> ::<span style="color: #a0522d;"> x, y, z, r2</span>
|
||||
<span style="color: #228b22;">double precision</span> ::<span style="color: #a0522d;"> cutoff</span>
|
||||
<span style="color: #228b22;">integer</span> ::<span style="color: #a0522d;"> lstart(0:20) </span>
|
||||
<span style="color: #228b22;">double precision</span> ::<span style="color: #a0522d;"> x, y, z, r2, s1, s2, s3, s4, s5, s6</span>
|
||||
<span style="color: #228b22;">double precision</span> ::<span style="color: #a0522d;"> cutoff, v, two_a</span>
|
||||
<span style="color: #228b22;">integer</span>*8 ::<span style="color: #a0522d;"> iprim_start , iprim_end, iprim</span>
|
||||
<span style="color: #228b22;">integer</span>, <span style="color: #a020f0;">external</span> ::<span style="color: #a0522d;"> qmckl_ao_polynomial_transp_vgl_f</span>
|
||||
|
||||
<span style="color: #228b22;">double precision</span>, <span style="color: #a020f0;">allocatable</span> ::<span style="color: #a0522d;"> poly_vgl(:,:)</span>
|
||||
<span style="color: #228b22;">integer</span> , <span style="color: #a020f0;">allocatable</span> ::<span style="color: #a0522d;"> powers(:,:)</span>
|
||||
<span style="color: #228b22;">integer</span> , <span style="color: #a020f0;">allocatable</span> ::<span style="color: #a0522d;"> powers(:,:), ao_index(:)</span>
|
||||
|
||||
<span style="color: #a020f0;">allocate</span>(poly_vgl(ao_num,5), powers(3,ao_num))
|
||||
<span style="color: #228b22;">integer</span> ::<span style="color: #a0522d;"> nidx, idx, n</span>
|
||||
<span style="color: #228b22;">double precision</span>, <span style="color: #a020f0;">allocatable</span> ::<span style="color: #a0522d;"> ar2(:), expo_(:), c_(:)</span>
|
||||
|
||||
<span style="color: #a020f0;">allocate</span>(poly_vgl(ao_num,5), powers(3,ao_num), ao_index(ao_num))
|
||||
<span style="color: #a020f0;">allocate</span>(c_(prim_num), expo_(prim_num), ar2(prim_num))
|
||||
|
||||
! <span style="color: #b22222;">Pre-computed data</span>
|
||||
<span style="color: #a020f0;">do</span> l=0,20
|
||||
lstart(l) = l*(l+1)*(l+2)/6 +1
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
|
||||
k=1
|
||||
<span style="color: #a020f0;">do</span> inucl=1,nucl_num
|
||||
ishell_start = nucleus_index(inucl) + 1
|
||||
ishell_end = nucleus_index(inucl) + nucleus_shell_num(inucl)
|
||||
<span style="color: #a020f0;">do</span> ishell = ishell_start, ishell_end
|
||||
l = shell_ang_mom(ishell)
|
||||
ao_index(ishell) = k
|
||||
k = k + lstart(l+1) - lstart(l)
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
|
||||
info = QMCKL_SUCCESS
|
||||
|
||||
! <span style="color: #b22222;">Don't compute polynomials when the radial part is zero.</span>
|
||||
@ -2983,7 +3185,6 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
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)
|
||||
@ -2994,7 +3195,7 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
y = e_coord(2) - n_coord(2)
|
||||
z = e_coord(3) - n_coord(3)
|
||||
|
||||
r2 = x*x + z*z + z*z
|
||||
r2 = x*x + y*y + z*z
|
||||
|
||||
<span style="color: #a020f0;">if</span> (r2 > cutoff*nucleus_range(inucl)) <span style="color: #a020f0;">then</span>
|
||||
<span style="color: #a020f0;">cycle</span>
|
||||
@ -3008,53 +3209,65 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
! <span style="color: #b22222;">Loop over shells</span>
|
||||
ishell_start = nucleus_index(inucl) + 1
|
||||
ishell_end = nucleus_index(inucl) + nucleus_shell_num(inucl)
|
||||
|
||||
<span style="color: #a020f0;">do</span> ishell = ishell_start, ishell_end
|
||||
iprim_start = shell_prim_index(ishell) + 1
|
||||
iprim_end = shell_prim_index(ishell) + shell_prim_num(ishell)
|
||||
|
||||
! <span style="color: #b22222;">/!\ Gaussian fuctions</span>
|
||||
nidx = 0
|
||||
<span style="color: #a020f0;">do</span> iprim = iprim_start, iprim_end
|
||||
v = expo(iprim)*r2
|
||||
<span style="color: #a020f0;">if</span> (v > cutoff) <span style="color: #a020f0;">then</span>
|
||||
<span style="color: #a020f0;">cycle</span>
|
||||
<span style="color: #a020f0;">end if</span>
|
||||
nidx = nidx+1
|
||||
ar2(nidx) = v
|
||||
c_(nidx) = coef_normalized(iprim)
|
||||
expo_(nidx) = expo(iprim)
|
||||
<span style="color: #a020f0;">enddo</span>
|
||||
|
||||
s1 = 0.d0
|
||||
s5 = 0.d0
|
||||
s6 = 0.d0
|
||||
<span style="color: #a020f0;">do</span> idx = 1, nidx
|
||||
v = c_(idx) * dexp(-ar2(idx))
|
||||
s1 = s1 + v
|
||||
s6 = s6 - expo_(idx) * v
|
||||
s5 = s5 + ar2(idx)
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
s6 = s6 +s6
|
||||
s5 = 2.d0*s5 + s6*3.d0
|
||||
s2 = s6 * x
|
||||
s3 = s6 * y
|
||||
s4 = s6 * z
|
||||
|
||||
l = shell_ang_mom(ishell)
|
||||
<span style="color: #a020f0;">if</span> (shell_vgl(ishell,1,ipoint) /= 0.d0) <span style="color: #a020f0;">then</span>
|
||||
<span style="color: #a020f0;">do</span> il = lstart(l), lstart(l+1)-1
|
||||
! <span style="color: #b22222;">Value</span>
|
||||
ao_vgl(k,1,ipoint) = <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(il,1) * shell_vgl(ishell,1,ipoint) * ao_factor(k)
|
||||
|
||||
! <span style="color: #b22222;">Grad_x</span>
|
||||
ao_vgl(k,2,ipoint) = ( <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(il,2) * shell_vgl(ishell,1,ipoint) + <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(il,1) * shell_vgl(ishell,2,ipoint) <span style="color: #a020f0;">&</span>
|
||||
) * ao_factor(k)
|
||||
|
||||
! <span style="color: #b22222;">Grad_y</span>
|
||||
ao_vgl(k,3,ipoint) = ( <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(il,3) * shell_vgl(ishell,1,ipoint) + <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(il,1) * shell_vgl(ishell,3,ipoint) <span style="color: #a020f0;">&</span>
|
||||
) * ao_factor(k)
|
||||
|
||||
! <span style="color: #b22222;">Grad_z</span>
|
||||
ao_vgl(k,4,ipoint) = ( <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(il,4) * shell_vgl(ishell,1,ipoint) + <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(il,1) * shell_vgl(ishell,4,ipoint) <span style="color: #a020f0;">&</span>
|
||||
) * ao_factor(k)
|
||||
|
||||
! <span style="color: #b22222;">Lapl_z</span>
|
||||
ao_vgl(k,5,ipoint) = ( <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(il,5) * shell_vgl(ishell,1,ipoint) + <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(il,1) * shell_vgl(ishell,5,ipoint) + <span style="color: #a020f0;">&</span>
|
||||
2.d0 * ( <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(il,2) * shell_vgl(ishell,2,ipoint) + <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(il,3) * shell_vgl(ishell,3,ipoint) + <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(il,4) * shell_vgl(ishell,4,ipoint) ) <span style="color: #a020f0;">&</span>
|
||||
) * ao_factor(k)
|
||||
k = k+1
|
||||
k = ao_index(ishell)
|
||||
n = lstart(l+1)-lstart(l)
|
||||
<span style="color: #a020f0;">if</span> (nidx > 0) <span style="color: #a020f0;">then</span>
|
||||
idx = lstart(l)
|
||||
<span style="color: #a020f0;">do</span> il = 0,n-1
|
||||
ao_vgl(k+il,1,ipoint) = poly_vgl(idx+il,1) * s1 * ao_factor(k+il)
|
||||
ao_vgl(k+il,2,ipoint) = (poly_vgl(idx+il,2) * s1 + poly_vgl(idx+il,1) * s2) * ao_factor(k+il)
|
||||
ao_vgl(k+il,3,ipoint) = (poly_vgl(idx+il,3) * s1 + poly_vgl(idx+il,1) * s3) * ao_factor(k+il)
|
||||
ao_vgl(k+il,4,ipoint) = (poly_vgl(idx+il,4) * s1 + poly_vgl(idx+il,1) * s4) * ao_factor(k+il)
|
||||
ao_vgl(k+il,5,ipoint) = (poly_vgl(idx+il,5) * s1 + <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(idx+il,1) * s5 + 2.d0*( <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(idx+il,2) * s2 + <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(idx+il,3) * s3 + <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(idx+il,4) * s4 )) * ao_factor(k+il)
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
<span style="color: #a020f0;">else</span>
|
||||
<span style="color: #a020f0;">do</span> il = lstart(l), lstart(l+1)-1
|
||||
ao_vgl(k,1,ipoint) = 0.d0
|
||||
ao_vgl(k,2,ipoint) = 0.d0
|
||||
ao_vgl(k,3,ipoint) = 0.d0
|
||||
ao_vgl(k,4,ipoint) = 0.d0
|
||||
ao_vgl(k,5,ipoint) = 0.d0
|
||||
k = k+1
|
||||
<span style="color: #a020f0;">do</span> il = 0, n-1
|
||||
ao_vgl(k+il,1,ipoint) = 0.d0
|
||||
ao_vgl(k+il,2,ipoint) = 0.d0
|
||||
ao_vgl(k+il,3,ipoint) = 0.d0
|
||||
ao_vgl(k+il,4,ipoint) = 0.d0
|
||||
ao_vgl(k+il,5,ipoint) = 0.d0
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
<span style="color: #a020f0;">end if</span>
|
||||
<span style="color: #a020f0;">endif</span>
|
||||
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
@ -3066,11 +3279,11 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgedcf5f3" class="outline-3">
|
||||
<h3 id="orgedcf5f3"><span class="section-number-3">5.3</span> Interfaces</h3>
|
||||
<div id="outline-container-org6805bbb" class="outline-3">
|
||||
<h3 id="org6805bbb"><span class="section-number-3">5.3</span> Interfaces</h3>
|
||||
<div class="outline-text-3" id="text-5-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_compute_ao_vgl</span> (
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_compute_ao_vgl_doc</span> (
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">ao_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">shell_num</span>,
|
||||
@ -3088,13 +3301,36 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">ao_vgl</span> );
|
||||
</pre>
|
||||
</div>
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_compute_ao_vgl_hpc</span> (
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">ao_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">shell_num</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;">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;">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>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">nucleus_range</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int32_t</span>* <span style="color: #a0522d;">nucleus_max_ang_mom</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int32_t</span>* <span style="color: #a0522d;">shell_ang_mom</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;">ao_factor</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>,
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">ao_vgl</span> );
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-02-14 Mon 09:30</p>
|
||||
<p class="date">Created: 2022-02-14 Mon 23:46</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
130
qmckl_blas.html
130
qmckl_blas.html
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2022-02-14 Mon 09:30 -->
|
||||
<!-- 2022-02-14 Mon 23:46 -->
|
||||
<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="#orgff9420f">1. Data types</a>
|
||||
<li><a href="#orgebf24e0">1. Data types</a>
|
||||
<ul>
|
||||
<li><a href="#org9a5f3fa">1.1. Vector</a></li>
|
||||
<li><a href="#org2f11638">1.2. Matrix</a></li>
|
||||
<li><a href="#orgd780c76">1.3. Tensor</a></li>
|
||||
<li><a href="#orgb3855e5">1.4. Reshaping</a>
|
||||
<li><a href="#orgd7f2720">1.1. Vector</a></li>
|
||||
<li><a href="#org31d0bc4">1.2. Matrix</a></li>
|
||||
<li><a href="#org1708f83">1.3. Tensor</a></li>
|
||||
<li><a href="#org5337450">1.4. Reshaping</a>
|
||||
<ul>
|
||||
<li><a href="#orgfadfd21">1.4.1. Vector -> Matrix</a></li>
|
||||
<li><a href="#orge5710e6">1.4.2. Vector -> Tensor</a></li>
|
||||
<li><a href="#orge484acd">1.4.3. Matrix -> Vector</a></li>
|
||||
<li><a href="#orgd8f2d5a">1.4.4. Matrix -> Tensor</a></li>
|
||||
<li><a href="#orge90df9e">1.4.5. Tensor -> Vector</a></li>
|
||||
<li><a href="#org78ae5d2">1.4.6. Tensor -> Matrix</a></li>
|
||||
<li><a href="#org4ea9b85">1.4.1. Vector -> Matrix</a></li>
|
||||
<li><a href="#orgd705861">1.4.2. Vector -> Tensor</a></li>
|
||||
<li><a href="#orgf5f5519">1.4.3. Matrix -> Vector</a></li>
|
||||
<li><a href="#org404c0c7">1.4.4. Matrix -> Tensor</a></li>
|
||||
<li><a href="#org6cf4488">1.4.5. Tensor -> Vector</a></li>
|
||||
<li><a href="#org9d3cf4e">1.4.6. Tensor -> Matrix</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgf90525b">1.5. Access macros</a></li>
|
||||
<li><a href="#org10c6c88">1.6. Copy to/from to <code>double*</code></a></li>
|
||||
<li><a href="#org8845ead">1.7. Tests</a></li>
|
||||
<li><a href="#org81e2aad">1.5. Access macros</a></li>
|
||||
<li><a href="#orgd06020d">1.6. Copy to/from to <code>double*</code></a></li>
|
||||
<li><a href="#org4493065">1.7. Tests</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org10fdbd3">2. Matrix operations</a>
|
||||
<li><a href="#org99e7f06">2. Matrix operations</a>
|
||||
<ul>
|
||||
<li><a href="#org1ddde20">2.1. <code>qmckl_dgemm</code></a></li>
|
||||
<li><a href="#org4a9fb8e">2.2. <code>qmckl_matmul</code></a></li>
|
||||
<li><a href="#org734c3ec">2.3. <code>qmckl_adjugate</code></a></li>
|
||||
<li><a href="#orgb135646">2.4. <code>qmckl_transpose</code></a>
|
||||
<li><a href="#org80448c9">2.1. <code>qmckl_dgemm</code></a></li>
|
||||
<li><a href="#org94a950b">2.2. <code>qmckl_matmul</code></a></li>
|
||||
<li><a href="#orgfccbb3c">2.3. <code>qmckl_adjugate</code></a></li>
|
||||
<li><a href="#org3f8ced8">2.4. <code>qmckl_transpose</code></a>
|
||||
<ul>
|
||||
<li><a href="#orgfd0a67c">2.4.1. Test</a></li>
|
||||
<li><a href="#orgf7aeb5d">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-orgff9420f" class="outline-2">
|
||||
<h2 id="orgff9420f"><span class="section-number-2">1</span> Data types</h2>
|
||||
<div id="outline-container-orgebf24e0" class="outline-2">
|
||||
<h2 id="orgebf24e0"><span class="section-number-2">1</span> Data types</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
</div>
|
||||
<div id="outline-container-org9a5f3fa" class="outline-3">
|
||||
<h3 id="org9a5f3fa"><span class="section-number-3">1.1</span> Vector</h3>
|
||||
<div id="outline-container-orgd7f2720" class="outline-3">
|
||||
<h3 id="orgd7f2720"><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-org2f11638" class="outline-3">
|
||||
<h3 id="org2f11638"><span class="section-number-3">1.2</span> Matrix</h3>
|
||||
<div id="outline-container-org31d0bc4" class="outline-3">
|
||||
<h3 id="org31d0bc4"><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-orgd780c76" class="outline-3">
|
||||
<h3 id="orgd780c76"><span class="section-number-3">1.3</span> Tensor</h3>
|
||||
<div id="outline-container-org1708f83" class="outline-3">
|
||||
<h3 id="org1708f83"><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-orgb3855e5" class="outline-3">
|
||||
<h3 id="orgb3855e5"><span class="section-number-3">1.4</span> Reshaping</h3>
|
||||
<div id="outline-container-org5337450" class="outline-3">
|
||||
<h3 id="org5337450"><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-orgfadfd21" class="outline-4">
|
||||
<h4 id="orgfadfd21"><span class="section-number-4">1.4.1</span> Vector -> Matrix</h4>
|
||||
<div id="outline-container-org4ea9b85" class="outline-4">
|
||||
<h4 id="org4ea9b85"><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-orge5710e6" class="outline-4">
|
||||
<h4 id="orge5710e6"><span class="section-number-4">1.4.2</span> Vector -> Tensor</h4>
|
||||
<div id="outline-container-orgd705861" class="outline-4">
|
||||
<h4 id="orgd705861"><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-orge484acd" class="outline-4">
|
||||
<h4 id="orge484acd"><span class="section-number-4">1.4.3</span> Matrix -> Vector</h4>
|
||||
<div id="outline-container-orgf5f5519" class="outline-4">
|
||||
<h4 id="orgf5f5519"><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-orgd8f2d5a" class="outline-4">
|
||||
<h4 id="orgd8f2d5a"><span class="section-number-4">1.4.4</span> Matrix -> Tensor</h4>
|
||||
<div id="outline-container-org404c0c7" class="outline-4">
|
||||
<h4 id="org404c0c7"><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-orge90df9e" class="outline-4">
|
||||
<h4 id="orge90df9e"><span class="section-number-4">1.4.5</span> Tensor -> Vector</h4>
|
||||
<div id="outline-container-org6cf4488" class="outline-4">
|
||||
<h4 id="org6cf4488"><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-org78ae5d2" class="outline-4">
|
||||
<h4 id="org78ae5d2"><span class="section-number-4">1.4.6</span> Tensor -> Matrix</h4>
|
||||
<div id="outline-container-org9d3cf4e" class="outline-4">
|
||||
<h4 id="org9d3cf4e"><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-orgf90525b" class="outline-3">
|
||||
<h3 id="orgf90525b"><span class="section-number-3">1.5</span> Access macros</h3>
|
||||
<div id="outline-container-org81e2aad" class="outline-3">
|
||||
<h3 id="org81e2aad"><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-org10c6c88" class="outline-3">
|
||||
<h3 id="org10c6c88"><span class="section-number-3">1.6</span> Copy to/from to <code>double*</code></h3>
|
||||
<div id="outline-container-orgd06020d" class="outline-3">
|
||||
<h3 id="orgd06020d"><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-org8845ead" class="outline-3">
|
||||
<h3 id="org8845ead"><span class="section-number-3">1.7</span> Tests</h3>
|
||||
<div id="outline-container-org4493065" class="outline-3">
|
||||
<h3 id="org4493065"><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-org10fdbd3" class="outline-2">
|
||||
<h2 id="org10fdbd3"><span class="section-number-2">2</span> Matrix operations</h2>
|
||||
<div id="outline-container-org99e7f06" class="outline-2">
|
||||
<h2 id="org99e7f06"><span class="section-number-2">2</span> Matrix operations</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-org1ddde20" class="outline-3">
|
||||
<h3 id="org1ddde20"><span class="section-number-3">2.1</span> <code>qmckl_dgemm</code></h3>
|
||||
<div id="outline-container-org80448c9" class="outline-3">
|
||||
<h3 id="org80448c9"><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="org9b6c3db" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org0410f54" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1467,8 +1467,8 @@ Requirements:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4a9fb8e" class="outline-3">
|
||||
<h3 id="org4a9fb8e"><span class="section-number-3">2.2</span> <code>qmckl_matmul</code></h3>
|
||||
<div id="outline-container-org94a950b" class="outline-3">
|
||||
<h3 id="org94a950b"><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="org3358de5" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org5a7ede8" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1713,8 +1713,8 @@ Matrix multiplication:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org734c3ec" class="outline-3">
|
||||
<h3 id="org734c3ec"><span class="section-number-3">2.3</span> <code>qmckl_adjugate</code></h3>
|
||||
<div id="outline-container-orgfccbb3c" class="outline-3">
|
||||
<h3 id="orgfccbb3c"><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="orga1093e7" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org30acf4b" 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-orgb135646" class="outline-3">
|
||||
<h3 id="orgb135646"><span class="section-number-3">2.4</span> <code>qmckl_transpose</code></h3>
|
||||
<div id="outline-container-org3f8ced8" class="outline-3">
|
||||
<h3 id="org3f8ced8"><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-orgfd0a67c" class="outline-4">
|
||||
<h4 id="orgfd0a67c"><span class="section-number-4">2.4.1</span> Test</h4>
|
||||
<div id="outline-container-orgf7aeb5d" class="outline-4">
|
||||
<h4 id="orgf7aeb5d"><span class="section-number-4">2.4.1</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-4-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">{
|
||||
@ -2121,7 +2121,7 @@ Transposes a matrix: \(A^\dagger_{ji} = A_{ij}\).
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-02-14 Mon 09:30</p>
|
||||
<p class="date">Created: 2022-02-14 Mon 23:46</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2022-02-14 Mon 09:30 -->
|
||||
<!-- 2022-02-14 Mon 23:46 -->
|
||||
<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="#orgcd40cb7">1. Context handling</a>
|
||||
<li><a href="#org7fa8720">1. Context handling</a>
|
||||
<ul>
|
||||
<li><a href="#orgbbbd647">1.1. Data structure</a></li>
|
||||
<li><a href="#orge697ed7">1.2. Creation</a></li>
|
||||
<li><a href="#org59966ea">1.3. Locking</a></li>
|
||||
<li><a href="#org5c8161c">1.4. <span class="todo TODO">TODO</span> Copy</a></li>
|
||||
<li><a href="#org931c001">1.5. Destroy</a></li>
|
||||
<li><a href="#org73364bb">1.1. Data structure</a></li>
|
||||
<li><a href="#org9e2ed20">1.2. Creation</a></li>
|
||||
<li><a href="#orge3b9b92">1.3. Locking</a></li>
|
||||
<li><a href="#orge02b203">1.4. <span class="todo TODO">TODO</span> Copy</a></li>
|
||||
<li><a href="#org2355edf">1.5. Destroy</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgcd40cb7" class="outline-2">
|
||||
<h2 id="orgcd40cb7"><span class="section-number-2">1</span> Context handling</h2>
|
||||
<div id="outline-container-org7fa8720" class="outline-2">
|
||||
<h2 id="org7fa8720"><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="orgcbfed56"><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="org50cc436"><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-orgbbbd647" class="outline-3">
|
||||
<h3 id="orgbbbd647"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-org73364bb" class="outline-3">
|
||||
<h3 id="org73364bb"><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="#orge697ed7">qmckl<sub>context</sub><sub>create</sub></a>, <a href="#org931c001">qmckl<sub>context</sub><sub>destroy</sub></a> and <a href="#org5c8161c">qmckl<sub>context</sub><sub>copy</sub></a>
|
||||
<a href="#org9e2ed20">qmckl<sub>context</sub><sub>create</sub></a>, <a href="#org2355edf">qmckl<sub>context</sub><sub>destroy</sub></a> and <a href="#orge02b203">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-orge697ed7" class="outline-3">
|
||||
<h3 id="orge697ed7"><span class="section-number-3">1.2</span> Creation</h3>
|
||||
<div id="outline-container-org9e2ed20" class="outline-3">
|
||||
<h3 id="org9e2ed20"><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-org59966ea" class="outline-3">
|
||||
<h3 id="org59966ea"><span class="section-number-3">1.3</span> Locking</h3>
|
||||
<div id="outline-container-orge3b9b92" class="outline-3">
|
||||
<h3 id="orge3b9b92"><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-org5c8161c" class="outline-3">
|
||||
<h3 id="org5c8161c"><span class="section-number-3">1.4</span> <span class="todo TODO">TODO</span> Copy</h3>
|
||||
<div id="outline-container-orge02b203" class="outline-3">
|
||||
<h3 id="orge02b203"><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-org931c001" class="outline-3">
|
||||
<h3 id="org931c001"><span class="section-number-3">1.5</span> Destroy</h3>
|
||||
<div id="outline-container-org2355edf" class="outline-3">
|
||||
<h3 id="org2355edf"><span class="section-number-3">1.5</span> Destroy</h3>
|
||||
<div class="outline-text-3" id="text-1-5">
|
||||
<p>
|
||||
The context is destroyed with <code>qmckl_context_destroy</code>, leaving the ancestors untouched.
|
||||
@ -661,7 +661,7 @@ It frees the context, and returns the previous context.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-02-14 Mon 09:30</p>
|
||||
<p class="date">Created: 2022-02-14 Mon 23:46</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2022-02-14 Mon 09:30 -->
|
||||
<!-- 2022-02-14 Mon 23:46 -->
|
||||
<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="#org8a6372d">1. Context</a>
|
||||
<li><a href="#org9749d3f">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org0bd9269">1.1. Data structure</a></li>
|
||||
<li><a href="#orgafafa48">1.2. Access functions</a></li>
|
||||
<li><a href="#orgac73cef">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org74aacb3">1.4. Fortran Interfaces</a></li>
|
||||
<li><a href="#orgd367bd8">1.5. Test</a></li>
|
||||
<li><a href="#org6f87637">1.1. Data structure</a></li>
|
||||
<li><a href="#orge69ddaf">1.2. Access functions</a></li>
|
||||
<li><a href="#orga8b6cac">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org617f879">1.4. Fortran Interfaces</a></li>
|
||||
<li><a href="#org3c1af75">1.5. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org8ca660c">2. Computation</a>
|
||||
<li><a href="#orgc4b8490">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#orge222cf5">2.1. Determinant matrix</a>
|
||||
<li><a href="#org0c4402b">2.1. Determinant matrix</a>
|
||||
<ul>
|
||||
<li><a href="#orgdfc875b">2.1.1. Get</a></li>
|
||||
<li><a href="#orgc7d3e86">2.1.2. Provide</a></li>
|
||||
<li><a href="#org9199574">2.1.3. Compute alpha</a></li>
|
||||
<li><a href="#org8d75c0c">2.1.4. Compute beta</a></li>
|
||||
<li><a href="#org48ea6e1">2.1.5. Test</a></li>
|
||||
<li><a href="#orge9b599a">2.1.1. Get</a></li>
|
||||
<li><a href="#org322e6b0">2.1.2. Provide</a></li>
|
||||
<li><a href="#org497c326">2.1.3. Compute alpha</a></li>
|
||||
<li><a href="#org6b1dd00">2.1.4. Compute beta</a></li>
|
||||
<li><a href="#org0ec9a45">2.1.5. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org3e27a19">2.2. Inverse of Determinant matrix</a>
|
||||
<li><a href="#org925e878">2.2. Inverse of Determinant matrix</a>
|
||||
<ul>
|
||||
<li><a href="#orga07e939">2.2.1. Get</a></li>
|
||||
<li><a href="#org33ec22f">2.2.2. Provide</a></li>
|
||||
<li><a href="#orgf28d49d">2.2.3. Compute alpha</a></li>
|
||||
<li><a href="#orgdce0cc5">2.2.4. Compute beta</a></li>
|
||||
<li><a href="#org589696c">2.2.1. Get</a></li>
|
||||
<li><a href="#org1a65dad">2.2.2. Provide</a></li>
|
||||
<li><a href="#orgc7d035d">2.2.3. Compute alpha</a></li>
|
||||
<li><a href="#org6e3f4e2">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-org8a6372d" class="outline-2">
|
||||
<h2 id="org8a6372d"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-org9749d3f" class="outline-2">
|
||||
<h2 id="org9749d3f"><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-org0bd9269" class="outline-3">
|
||||
<h3 id="org0bd9269"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-org6f87637" class="outline-3">
|
||||
<h3 id="org6f87637"><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-orgafafa48" class="outline-3">
|
||||
<h3 id="orgafafa48"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-orge69ddaf" class="outline-3">
|
||||
<h3 id="orge69ddaf"><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-orgac73cef" class="outline-3">
|
||||
<h3 id="orgac73cef"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-orga8b6cac" class="outline-3">
|
||||
<h3 id="orga8b6cac"><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-org74aacb3" class="outline-3">
|
||||
<h3 id="org74aacb3"><span class="section-number-3">1.4</span> Fortran Interfaces</h3>
|
||||
<div id="outline-container-org617f879" class="outline-3">
|
||||
<h3 id="org617f879"><span class="section-number-3">1.4</span> Fortran Interfaces</h3>
|
||||
</div>
|
||||
<div id="outline-container-orgd367bd8" class="outline-3">
|
||||
<h3 id="orgd367bd8"><span class="section-number-3">1.5</span> Test</h3>
|
||||
<div id="outline-container-org3c1af75" class="outline-3">
|
||||
<h3 id="org3c1af75"><span class="section-number-3">1.5</span> Test</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org8ca660c" class="outline-2">
|
||||
<h2 id="org8ca660c"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-orgc4b8490" class="outline-2">
|
||||
<h2 id="orgc4b8490"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-orge222cf5" class="outline-3">
|
||||
<h3 id="orge222cf5"><span class="section-number-3">2.1</span> Determinant matrix</h3>
|
||||
<div id="outline-container-org0c4402b" class="outline-3">
|
||||
<h3 id="org0c4402b"><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-orgdfc875b" class="outline-4">
|
||||
<h4 id="orgdfc875b"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-orge9b599a" class="outline-4">
|
||||
<h4 id="orge9b599a"><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-orgc7d3e86" class="outline-4">
|
||||
<h4 id="orgc7d3e86"><span class="section-number-4">2.1.2</span> Provide</h4>
|
||||
<div id="outline-container-org322e6b0" class="outline-4">
|
||||
<h4 id="org322e6b0"><span class="section-number-4">2.1.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9199574" class="outline-4">
|
||||
<h4 id="org9199574"><span class="section-number-4">2.1.3</span> Compute alpha</h4>
|
||||
<div id="outline-container-org497c326" class="outline-4">
|
||||
<h4 id="org497c326"><span class="section-number-4">2.1.3</span> Compute alpha</h4>
|
||||
<div class="outline-text-4" id="text-2-1-3">
|
||||
<table id="org64fd98a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgdd1f1c7" 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-org8d75c0c" class="outline-4">
|
||||
<h4 id="org8d75c0c"><span class="section-number-4">2.1.4</span> Compute beta</h4>
|
||||
<div id="outline-container-org6b1dd00" class="outline-4">
|
||||
<h4 id="org6b1dd00"><span class="section-number-4">2.1.4</span> Compute beta</h4>
|
||||
<div class="outline-text-4" id="text-2-1-4">
|
||||
<table id="org7873a3e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org47b2c98" 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-org48ea6e1" class="outline-4">
|
||||
<h4 id="org48ea6e1"><span class="section-number-4">2.1.5</span> Test</h4>
|
||||
<div id="outline-container-org0ec9a45" class="outline-4">
|
||||
<h4 id="org0ec9a45"><span class="section-number-4">2.1.5</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3e27a19" class="outline-3">
|
||||
<h3 id="org3e27a19"><span class="section-number-3">2.2</span> Inverse of Determinant matrix</h3>
|
||||
<div id="outline-container-org925e878" class="outline-3">
|
||||
<h3 id="org925e878"><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-orga07e939" class="outline-4">
|
||||
<h4 id="orga07e939"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div id="outline-container-org589696c" class="outline-4">
|
||||
<h4 id="org589696c"><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-org33ec22f" class="outline-4">
|
||||
<h4 id="org33ec22f"><span class="section-number-4">2.2.2</span> Provide</h4>
|
||||
<div id="outline-container-org1a65dad" class="outline-4">
|
||||
<h4 id="org1a65dad"><span class="section-number-4">2.2.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf28d49d" class="outline-4">
|
||||
<h4 id="orgf28d49d"><span class="section-number-4">2.2.3</span> Compute alpha</h4>
|
||||
<div id="outline-container-orgc7d035d" class="outline-4">
|
||||
<h4 id="orgc7d035d"><span class="section-number-4">2.2.3</span> Compute alpha</h4>
|
||||
<div class="outline-text-4" id="text-2-2-3">
|
||||
<table id="orgd2acc5b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org03c5dd9" 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-orgdce0cc5" class="outline-4">
|
||||
<h4 id="orgdce0cc5"><span class="section-number-4">2.2.4</span> Compute beta</h4>
|
||||
<div id="outline-container-org6e3f4e2" class="outline-4">
|
||||
<h4 id="org6e3f4e2"><span class="section-number-4">2.2.4</span> Compute beta</h4>
|
||||
<div class="outline-text-4" id="text-2-2-4">
|
||||
<table id="org4b5a37c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org34d4f55" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1387,7 +1387,7 @@ computed to accelerate the calculations.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-02-14 Mon 09:30</p>
|
||||
<p class="date">Created: 2022-02-14 Mon 23:46</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2022-02-14 Mon 09:30 -->
|
||||
<!-- 2022-02-14 Mon 23:46 -->
|
||||
<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="#orga160c3d">1. Squared distance</a>
|
||||
<li><a href="#org89e8ddd">1. Squared distance</a>
|
||||
<ul>
|
||||
<li><a href="#org7cdf10f">1.1. <code>qmckl_distance_sq</code></a>
|
||||
<li><a href="#org6e24a9f">1.1. <code>qmckl_distance_sq</code></a>
|
||||
<ul>
|
||||
<li><a href="#org4a2bc27">1.1.1. Performance</a></li>
|
||||
<li><a href="#org2a1bbbf">1.1.1. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org225cd60">2. Distance</a>
|
||||
<li><a href="#org544ed92">2. Distance</a>
|
||||
<ul>
|
||||
<li><a href="#org81c75a8">2.1. <code>qmckl_distance</code></a>
|
||||
<li><a href="#orga846ba8">2.1. <code>qmckl_distance</code></a>
|
||||
<ul>
|
||||
<li><a href="#org0e76f4e">2.1.1. Requirements</a></li>
|
||||
<li><a href="#orgdc3d097">2.1.2. C header</a></li>
|
||||
<li><a href="#org09bccda">2.1.3. Source</a></li>
|
||||
<li><a href="#orge25ef21">2.1.4. Performance</a></li>
|
||||
<li><a href="#org23a4e88">2.1.1. Requirements</a></li>
|
||||
<li><a href="#orgcff6c94">2.1.2. C header</a></li>
|
||||
<li><a href="#orga2889f8">2.1.3. Source</a></li>
|
||||
<li><a href="#orgb586550">2.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgb5609bf">3. Rescaled Distance</a>
|
||||
<li><a href="#org6870742">3. Rescaled Distance</a>
|
||||
<ul>
|
||||
<li><a href="#org48981fd">3.1. <code>qmckl_distance_rescaled</code></a>
|
||||
<li><a href="#org1cdef51">3.1. <code>qmckl_distance_rescaled</code></a>
|
||||
<ul>
|
||||
<li><a href="#org085ecb8">3.1.1. Requirements</a></li>
|
||||
<li><a href="#org7e04c90">3.1.2. C header</a></li>
|
||||
<li><a href="#org530f93a">3.1.3. Source</a></li>
|
||||
<li><a href="#org634bcee">3.1.4. Performance</a></li>
|
||||
<li><a href="#orge93952a">3.1.1. Requirements</a></li>
|
||||
<li><a href="#org033ae59">3.1.2. C header</a></li>
|
||||
<li><a href="#orgb2949e9">3.1.3. Source</a></li>
|
||||
<li><a href="#org4394671">3.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org1033df1">4. Rescaled Distance Derivatives</a>
|
||||
<li><a href="#org2957ad9">4. Rescaled Distance Derivatives</a>
|
||||
<ul>
|
||||
<li><a href="#org38f845e">4.1. <code>qmckl_distance_rescaled_deriv_e</code></a></li>
|
||||
<li><a href="#org77f7f4a">4.1. <code>qmckl_distance_rescaled_deriv_e</code></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga160c3d" class="outline-2">
|
||||
<h2 id="orga160c3d"><span class="section-number-2">1</span> Squared distance</h2>
|
||||
<div id="outline-container-org89e8ddd" class="outline-2">
|
||||
<h2 id="org89e8ddd"><span class="section-number-2">1</span> Squared distance</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
</div>
|
||||
<div id="outline-container-org7cdf10f" class="outline-3">
|
||||
<h3 id="org7cdf10f"><span class="section-number-3">1.1</span> <code>qmckl_distance_sq</code></h3>
|
||||
<div id="outline-container-org6e24a9f" class="outline-3">
|
||||
<h3 id="org6e24a9f"><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="orgda67ca2" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org1a2142d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -659,8 +659,8 @@ Requirements:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4a2bc27" class="outline-4">
|
||||
<h4 id="org4a2bc27"><span class="section-number-4">1.1.1</span> Performance</h4>
|
||||
<div id="outline-container-org2a1bbbf" class="outline-4">
|
||||
<h4 id="org2a1bbbf"><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-org225cd60" class="outline-2">
|
||||
<h2 id="org225cd60"><span class="section-number-2">2</span> Distance</h2>
|
||||
<div id="outline-container-org544ed92" class="outline-2">
|
||||
<h2 id="org544ed92"><span class="section-number-2">2</span> Distance</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-org81c75a8" class="outline-3">
|
||||
<h3 id="org81c75a8"><span class="section-number-3">2.1</span> <code>qmckl_distance</code></h3>
|
||||
<div id="outline-container-orga846ba8" class="outline-3">
|
||||
<h3 id="orga846ba8"><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="orgc10eaf2" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orge05e52d" 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-org0e76f4e" class="outline-4">
|
||||
<h4 id="org0e76f4e"><span class="section-number-4">2.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org23a4e88" class="outline-4">
|
||||
<h4 id="org23a4e88"><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-orgdc3d097" class="outline-4">
|
||||
<h4 id="orgdc3d097"><span class="section-number-4">2.1.2</span> C header</h4>
|
||||
<div id="outline-container-orgcff6c94" class="outline-4">
|
||||
<h4 id="orgcff6c94"><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-org09bccda" class="outline-4">
|
||||
<h4 id="org09bccda"><span class="section-number-4">2.1.3</span> Source</h4>
|
||||
<div id="outline-container-orga2889f8" class="outline-4">
|
||||
<h4 id="orga2889f8"><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-orge25ef21" class="outline-4">
|
||||
<h4 id="orge25ef21"><span class="section-number-4">2.1.4</span> Performance</h4>
|
||||
<div id="outline-container-orgb586550" class="outline-4">
|
||||
<h4 id="orgb586550"><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-orgb5609bf" class="outline-2">
|
||||
<h2 id="orgb5609bf"><span class="section-number-2">3</span> Rescaled Distance</h2>
|
||||
<div id="outline-container-org6870742" class="outline-2">
|
||||
<h2 id="org6870742"><span class="section-number-2">3</span> Rescaled Distance</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
</div>
|
||||
<div id="outline-container-org48981fd" class="outline-3">
|
||||
<h3 id="org48981fd"><span class="section-number-3">3.1</span> <code>qmckl_distance_rescaled</code></h3>
|
||||
<div id="outline-container-org1cdef51" class="outline-3">
|
||||
<h3 id="org1cdef51"><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="orgbba50c8" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org3196df6" 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-org085ecb8" class="outline-4">
|
||||
<h4 id="org085ecb8"><span class="section-number-4">3.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-orge93952a" class="outline-4">
|
||||
<h4 id="orge93952a"><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-org7e04c90" class="outline-4">
|
||||
<h4 id="org7e04c90"><span class="section-number-4">3.1.2</span> C header</h4>
|
||||
<div id="outline-container-org033ae59" class="outline-4">
|
||||
<h4 id="org033ae59"><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-org530f93a" class="outline-4">
|
||||
<h4 id="org530f93a"><span class="section-number-4">3.1.3</span> Source</h4>
|
||||
<div id="outline-container-orgb2949e9" class="outline-4">
|
||||
<h4 id="orgb2949e9"><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-org634bcee" class="outline-4">
|
||||
<h4 id="org634bcee"><span class="section-number-4">3.1.4</span> Performance</h4>
|
||||
<div id="outline-container-org4394671" class="outline-4">
|
||||
<h4 id="org4394671"><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-org1033df1" class="outline-2">
|
||||
<h2 id="org1033df1"><span class="section-number-2">4</span> Rescaled Distance Derivatives</h2>
|
||||
<div id="outline-container-org2957ad9" class="outline-2">
|
||||
<h2 id="org2957ad9"><span class="section-number-2">4</span> Rescaled Distance Derivatives</h2>
|
||||
<div class="outline-text-2" id="text-4">
|
||||
</div>
|
||||
<div id="outline-container-org38f845e" class="outline-3">
|
||||
<h3 id="org38f845e"><span class="section-number-3">4.1</span> <code>qmckl_distance_rescaled_deriv_e</code></h3>
|
||||
<div id="outline-container-org77f7f4a" class="outline-3">
|
||||
<h3 id="org77f7f4a"><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="orgd369a2f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org7341c5e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1776,7 +1776,7 @@ This function is more efficient when <code>A</code> and <code>B</code> are trans
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-02-14 Mon 09:30</p>
|
||||
<p class="date">Created: 2022-02-14 Mon 23:46</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2022-02-14 Mon 09:30 -->
|
||||
<!-- 2022-02-14 Mon 23:46 -->
|
||||
<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="#orge4daffc">1. Context</a>
|
||||
<li><a href="#org705a7eb">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org9ddc284">1.1. Data structure</a></li>
|
||||
<li><a href="#orgb10fa55">1.2. Access functions</a>
|
||||
<li><a href="#org2558c90">1.1. Data structure</a></li>
|
||||
<li><a href="#orgb39d50c">1.2. Access functions</a>
|
||||
<ul>
|
||||
<li><a href="#org19d4420">1.2.1. Number of electrons</a></li>
|
||||
<li><a href="#orgeefb567">1.2.2. Number of walkers</a></li>
|
||||
<li><a href="#org515901d">1.2.3. Scaling factors Kappa</a></li>
|
||||
<li><a href="#org4316ffd">1.2.4. Electron coordinates</a></li>
|
||||
<li><a href="#orgcdc724b">1.2.1. Number of electrons</a></li>
|
||||
<li><a href="#orgbfa6b0e">1.2.2. Number of walkers</a></li>
|
||||
<li><a href="#org576ab60">1.2.3. Scaling factors Kappa</a></li>
|
||||
<li><a href="#org78c3845">1.2.4. Electron coordinates</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org24cf2fe">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org337a289">1.4. Test</a></li>
|
||||
<li><a href="#org9acff5a">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org47d2914">1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org3c464e2">2. Computation</a>
|
||||
<li><a href="#org2f1c073">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#org78364fc">2.1. Electron-electron distances</a>
|
||||
<li><a href="#org15fa338">2.1. Electron-electron distances</a>
|
||||
<ul>
|
||||
<li><a href="#orgef7131e">2.1.1. Get</a></li>
|
||||
<li><a href="#org5cc262f">2.1.2. Compute</a></li>
|
||||
<li><a href="#org3694078">2.1.3. Test</a></li>
|
||||
<li><a href="#orgac3b7ff">2.1.1. Get</a></li>
|
||||
<li><a href="#org64a20d7">2.1.2. Compute</a></li>
|
||||
<li><a href="#orgb655a38">2.1.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org222b199">2.2. Electron-electron rescaled distances</a>
|
||||
<li><a href="#org70a23e9">2.2. Electron-electron rescaled distances</a>
|
||||
<ul>
|
||||
<li><a href="#orgac8c507">2.2.1. Get</a></li>
|
||||
<li><a href="#org82d96bf">2.2.2. Compute</a></li>
|
||||
<li><a href="#orgcc20464">2.2.3. Test</a></li>
|
||||
<li><a href="#org451dfd7">2.2.1. Get</a></li>
|
||||
<li><a href="#org73ec829">2.2.2. Compute</a></li>
|
||||
<li><a href="#orga2da675">2.2.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org8943791">2.3. Electron-electron rescaled distance gradients and laplacian with respect to electron coords</a>
|
||||
<li><a href="#orgf0da72c">2.3. Electron-electron rescaled distance gradients and laplacian with respect to electron coords</a>
|
||||
<ul>
|
||||
<li><a href="#orgb70e234">2.3.1. Get</a></li>
|
||||
<li><a href="#orgcf8b747">2.3.2. Compute</a></li>
|
||||
<li><a href="#org58e11b3">2.3.3. Test</a></li>
|
||||
<li><a href="#orgd43f456">2.3.1. Get</a></li>
|
||||
<li><a href="#org4b2590d">2.3.2. Compute</a></li>
|
||||
<li><a href="#orgf30c14a">2.3.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org38fba20">2.4. Electron-electron potential</a>
|
||||
<li><a href="#org441d8b3">2.4. Electron-electron potential</a>
|
||||
<ul>
|
||||
<li><a href="#org6a72c6f">2.4.1. Get</a></li>
|
||||
<li><a href="#org78cee3f">2.4.2. Compute</a></li>
|
||||
<li><a href="#orgfb4fde3">2.4.3. Test</a></li>
|
||||
<li><a href="#org0e7226c">2.4.1. Get</a></li>
|
||||
<li><a href="#orgcb245c3">2.4.2. Compute</a></li>
|
||||
<li><a href="#orgda29316">2.4.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org1ca449c">2.5. Electron-nucleus distances</a>
|
||||
<li><a href="#org986f555">2.5. Electron-nucleus distances</a>
|
||||
<ul>
|
||||
<li><a href="#org656e29d">2.5.1. Get</a></li>
|
||||
<li><a href="#org747b1aa">2.5.2. Compute</a></li>
|
||||
<li><a href="#orgfb21cec">2.5.3. Test</a></li>
|
||||
<li><a href="#orgb72756b">2.5.1. Get</a></li>
|
||||
<li><a href="#org69ff5f6">2.5.2. Compute</a></li>
|
||||
<li><a href="#org2450eb2">2.5.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org485d036">2.6. Electron-nucleus rescaled distances</a>
|
||||
<li><a href="#orgbb2c288">2.6. Electron-nucleus rescaled distances</a>
|
||||
<ul>
|
||||
<li><a href="#orgddae628">2.6.1. Get</a></li>
|
||||
<li><a href="#org7967aa0">2.6.2. Compute</a></li>
|
||||
<li><a href="#org30d432c">2.6.3. Test</a></li>
|
||||
<li><a href="#org4823a69">2.6.1. Get</a></li>
|
||||
<li><a href="#orgf0699b6">2.6.2. Compute</a></li>
|
||||
<li><a href="#org5543164">2.6.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org1d16b2f">2.7. Electron-nucleus rescaled distance gradients and laplacian with respect to electron coords</a>
|
||||
<li><a href="#orge86a25a">2.7. Electron-nucleus rescaled distance gradients and laplacian with respect to electron coords</a>
|
||||
<ul>
|
||||
<li><a href="#org3ccfdcc">2.7.1. Get</a></li>
|
||||
<li><a href="#orgcbcfebc">2.7.2. Compute</a></li>
|
||||
<li><a href="#orgcfe0bf4">2.7.3. Test</a></li>
|
||||
<li><a href="#org662b6dc">2.7.1. Get</a></li>
|
||||
<li><a href="#org77a6202">2.7.2. Compute</a></li>
|
||||
<li><a href="#org249650d">2.7.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org13c052c">2.8. Electron-nucleus potential</a>
|
||||
<li><a href="#org62464e7">2.8. Electron-nucleus potential</a>
|
||||
<ul>
|
||||
<li><a href="#org0a36b85">2.8.1. Get</a></li>
|
||||
<li><a href="#org266de64">2.8.2. Compute</a></li>
|
||||
<li><a href="#orgb23d67a">2.8.3. Test</a></li>
|
||||
<li><a href="#org561fbea">2.8.1. Get</a></li>
|
||||
<li><a href="#orgc1cbae5">2.8.2. Compute</a></li>
|
||||
<li><a href="#orgbeff3b8">2.8.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org52f6a94">2.9. Generate initial coordinates</a></li>
|
||||
<li><a href="#orgf9c8b68">2.9. Generate initial coordinates</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge4daffc" class="outline-2">
|
||||
<h2 id="orge4daffc"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-org705a7eb" class="outline-2">
|
||||
<h2 id="org705a7eb"><span class="section-number-2">1</span> Context</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
The following data stored in the context:
|
||||
@ -627,8 +627,8 @@ Computed data:
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9ddc284" class="outline-3">
|
||||
<h3 id="org9ddc284"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-org2558c90" class="outline-3">
|
||||
<h3 id="org2558c90"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #a020f0;">typedef</span> <span style="color: #a020f0;">struct</span> <span style="color: #228b22;">qmckl_electron_struct</span> {
|
||||
@ -707,8 +707,8 @@ this mechanism.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb10fa55" class="outline-3">
|
||||
<h3 id="orgb10fa55"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-orgb39d50c" class="outline-3">
|
||||
<h3 id="orgb39d50c"><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-org19d4420" class="outline-4">
|
||||
<h4 id="org19d4420"><span class="section-number-4">1.2.1</span> Number of electrons</h4>
|
||||
<div id="outline-container-orgcdc724b" class="outline-4">
|
||||
<h4 id="orgcdc724b"><span class="section-number-4">1.2.1</span> Number of electrons</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgeefb567" class="outline-4">
|
||||
<h4 id="orgeefb567"><span class="section-number-4">1.2.2</span> Number of walkers</h4>
|
||||
<div id="outline-container-orgbfa6b0e" class="outline-4">
|
||||
<h4 id="orgbfa6b0e"><span class="section-number-4">1.2.2</span> Number of walkers</h4>
|
||||
<div class="outline-text-4" id="text-1-2-2">
|
||||
<p>
|
||||
A walker is a set of electron coordinates that are arguments of
|
||||
@ -734,12 +734,12 @@ the wave function. <code>walk_num</code> is the number of walkers.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org515901d" class="outline-4">
|
||||
<h4 id="org515901d"><span class="section-number-4">1.2.3</span> Scaling factors Kappa</h4>
|
||||
<div id="outline-container-org576ab60" class="outline-4">
|
||||
<h4 id="org576ab60"><span class="section-number-4">1.2.3</span> Scaling factors Kappa</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4316ffd" class="outline-4">
|
||||
<h4 id="org4316ffd"><span class="section-number-4">1.2.4</span> Electron coordinates</h4>
|
||||
<div id="outline-container-org78c3845" class="outline-4">
|
||||
<h4 id="org78c3845"><span class="section-number-4">1.2.4</span> Electron coordinates</h4>
|
||||
<div class="outline-text-4" id="text-1-2-4">
|
||||
<p>
|
||||
Returns the current electron coordinates. The pointer is assumed
|
||||
@ -789,8 +789,8 @@ returning the current points.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org24cf2fe" class="outline-3">
|
||||
<h3 id="org24cf2fe"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-org9acff5a" class="outline-3">
|
||||
<h3 id="org9acff5a"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div class="outline-text-3" id="text-1-3">
|
||||
<p>
|
||||
To set the data relative to the electrons in the context, the
|
||||
@ -884,8 +884,8 @@ in the context.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org337a289" class="outline-3">
|
||||
<h3 id="org337a289"><span class="section-number-3">1.4</span> Test</h3>
|
||||
<div id="outline-container-org47d2914" class="outline-3">
|
||||
<h3 id="org47d2914"><span class="section-number-3">1.4</span> Test</h3>
|
||||
<div class="outline-text-3" id="text-1-4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Reference input data </span>*/
|
||||
@ -992,8 +992,8 @@ rc = qmckl_get_electron_coord (context, <span style="color: #8b2252;">'N'</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3c464e2" class="outline-2">
|
||||
<h2 id="org3c464e2"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-org2f1c073" class="outline-2">
|
||||
<h2 id="org2f1c073"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
<p>
|
||||
The computed data is stored in the context so that it can be reused
|
||||
@ -1006,12 +1006,12 @@ current date is stored.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org78364fc" class="outline-3">
|
||||
<h3 id="org78364fc"><span class="section-number-3">2.1</span> Electron-electron distances</h3>
|
||||
<div id="outline-container-org15fa338" class="outline-3">
|
||||
<h3 id="org15fa338"><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-orgef7131e" class="outline-4">
|
||||
<h4 id="orgef7131e"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-orgac3b7ff" class="outline-4">
|
||||
<h4 id="orgac3b7ff"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-1-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_electron_ee_distance</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">distance</span>);
|
||||
@ -1020,10 +1020,10 @@ current date is stored.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5cc262f" class="outline-4">
|
||||
<h4 id="org5cc262f"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div id="outline-container-org64a20d7" class="outline-4">
|
||||
<h4 id="org64a20d7"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-1-2">
|
||||
<table id="org568ca10" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orga97e147" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1128,8 +1128,8 @@ current date is stored.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3694078" class="outline-4">
|
||||
<h4 id="org3694078"><span class="section-number-4">2.1.3</span> Test</h4>
|
||||
<div id="outline-container-orgb655a38" class="outline-4">
|
||||
<h4 id="orgb655a38"><span class="section-number-4">2.1.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #0000ff;">assert</span>(<span style="color: #228b22;">qmckl_electron_provided</span>(<span style="color: #a0522d;">context</span>));
|
||||
@ -1163,8 +1163,8 @@ rc = qmckl_get_electron_ee_distance(context, ee_distance);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org222b199" class="outline-3">
|
||||
<h3 id="org222b199"><span class="section-number-3">2.2</span> Electron-electron rescaled distances</h3>
|
||||
<div id="outline-container-org70a23e9" class="outline-3">
|
||||
<h3 id="org70a23e9"><span class="section-number-3">2.2</span> Electron-electron rescaled distances</h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
<p>
|
||||
<code>ee_distance_rescaled</code> stores the matrix of the rescaled distances between all
|
||||
@ -1182,8 +1182,8 @@ where \(C_{ij}\) is the matrix of electron-electron distances.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgac8c507" class="outline-4">
|
||||
<h4 id="orgac8c507"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div id="outline-container-org451dfd7" class="outline-4">
|
||||
<h4 id="org451dfd7"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-2-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_electron_ee_distance_rescaled</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">distance_rescaled</span>);
|
||||
@ -1192,10 +1192,10 @@ where \(C_{ij}\) is the matrix of electron-electron distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org82d96bf" class="outline-4">
|
||||
<h4 id="org82d96bf"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div id="outline-container-org73ec829" class="outline-4">
|
||||
<h4 id="org73ec829"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-2-2">
|
||||
<table id="org54b90a9" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org1fed7ba" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1308,8 +1308,8 @@ where \(C_{ij}\) is the matrix of electron-electron distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgcc20464" class="outline-4">
|
||||
<h4 id="orgcc20464"><span class="section-number-4">2.2.3</span> Test</h4>
|
||||
<div id="outline-container-orga2da675" class="outline-4">
|
||||
<h4 id="orga2da675"><span class="section-number-4">2.2.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-2-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #0000ff;">assert</span>(<span style="color: #228b22;">qmckl_electron_provided</span>(<span style="color: #a0522d;">context</span>));
|
||||
@ -1343,8 +1343,8 @@ rc = qmckl_get_electron_ee_distance_rescaled(context, ee_distance_rescaled);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8943791" class="outline-3">
|
||||
<h3 id="org8943791"><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-orgf0da72c" class="outline-3">
|
||||
<h3 id="orgf0da72c"><span class="section-number-3">2.3</span> Electron-electron rescaled distance gradients and laplacian with respect to electron coords</h3>
|
||||
<div class="outline-text-3" id="text-2-3">
|
||||
<p>
|
||||
The rescaled distances which is given as \(R = (1 - \exp{-\kappa r})/\kappa\)
|
||||
@ -1356,8 +1356,8 @@ gives the Laplacian \(\partial x^2 + \partial y^2 + \partial z^2\).
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb70e234" class="outline-4">
|
||||
<h4 id="orgb70e234"><span class="section-number-4">2.3.1</span> Get</h4>
|
||||
<div id="outline-container-orgd43f456" class="outline-4">
|
||||
<h4 id="orgd43f456"><span class="section-number-4">2.3.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-3-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_electron_ee_distance_rescaled_deriv_e</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">distance_rescaled_deriv_e</span>);
|
||||
@ -1366,10 +1366,10 @@ gives the Laplacian \(\partial x^2 + \partial y^2 + \partial z^2\).
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgcf8b747" class="outline-4">
|
||||
<h4 id="orgcf8b747"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div id="outline-container-org4b2590d" class="outline-4">
|
||||
<h4 id="org4b2590d"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-3-2">
|
||||
<table id="org2b2ad85" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org369055b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1482,8 +1482,8 @@ gives the Laplacian \(\partial x^2 + \partial y^2 + \partial z^2\).
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org58e11b3" class="outline-4">
|
||||
<h4 id="org58e11b3"><span class="section-number-4">2.3.3</span> Test</h4>
|
||||
<div id="outline-container-orgf30c14a" class="outline-4">
|
||||
<h4 id="orgf30c14a"><span class="section-number-4">2.3.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-3-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #0000ff;">assert</span>(<span style="color: #228b22;">qmckl_electron_provided</span>(<span style="color: #a0522d;">context</span>));
|
||||
@ -1518,8 +1518,8 @@ rc = qmckl_get_electron_ee_distance_rescaled_deriv_e(context, ee_distance_rescal
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org38fba20" class="outline-3">
|
||||
<h3 id="org38fba20"><span class="section-number-3">2.4</span> Electron-electron potential</h3>
|
||||
<div id="outline-container-org441d8b3" class="outline-3">
|
||||
<h3 id="org441d8b3"><span class="section-number-3">2.4</span> Electron-electron potential</h3>
|
||||
<div class="outline-text-3" id="text-2-4">
|
||||
<p>
|
||||
<code>ee_pot</code> calculates the <code>ee</code> potential energy.
|
||||
@ -1537,8 +1537,8 @@ distance.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6a72c6f" class="outline-4">
|
||||
<h4 id="org6a72c6f"><span class="section-number-4">2.4.1</span> Get</h4>
|
||||
<div id="outline-container-org0e7226c" class="outline-4">
|
||||
<h4 id="org0e7226c"><span class="section-number-4">2.4.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-4-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_electron_ee_potential</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">ee_pot</span>);
|
||||
@ -1547,10 +1547,10 @@ distance.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org78cee3f" class="outline-4">
|
||||
<h4 id="org78cee3f"><span class="section-number-4">2.4.2</span> Compute</h4>
|
||||
<div id="outline-container-orgcb245c3" class="outline-4">
|
||||
<h4 id="orgcb245c3"><span class="section-number-4">2.4.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-4-2">
|
||||
<table id="org17f13b2" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org1307b9e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1666,8 +1666,8 @@ distance.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgfb4fde3" class="outline-4">
|
||||
<h4 id="orgfb4fde3"><span class="section-number-4">2.4.3</span> Test</h4>
|
||||
<div id="outline-container-orgda29316" class="outline-4">
|
||||
<h4 id="orgda29316"><span class="section-number-4">2.4.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-4-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">double</span> <span style="color: #a0522d;">ee_pot</span>[walk_num];
|
||||
@ -1679,12 +1679,12 @@ rc = qmckl_get_electron_ee_potential(context, &(ee_pot[0]));
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org1ca449c" class="outline-3">
|
||||
<h3 id="org1ca449c"><span class="section-number-3">2.5</span> Electron-nucleus distances</h3>
|
||||
<div id="outline-container-org986f555" class="outline-3">
|
||||
<h3 id="org986f555"><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-org656e29d" class="outline-4">
|
||||
<h4 id="org656e29d"><span class="section-number-4">2.5.1</span> Get</h4>
|
||||
<div id="outline-container-orgb72756b" class="outline-4">
|
||||
<h4 id="orgb72756b"><span class="section-number-4">2.5.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-5-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_electron_en_distance</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">distance</span>);
|
||||
@ -1693,10 +1693,10 @@ rc = qmckl_get_electron_ee_potential(context, &(ee_pot[0]));
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org747b1aa" class="outline-4">
|
||||
<h4 id="org747b1aa"><span class="section-number-4">2.5.2</span> Compute</h4>
|
||||
<div id="outline-container-org69ff5f6" class="outline-4">
|
||||
<h4 id="org69ff5f6"><span class="section-number-4">2.5.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-5-2">
|
||||
<table id="org3560f60" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org3a867ed" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1821,8 +1821,8 @@ rc = qmckl_get_electron_ee_potential(context, &(ee_pot[0]));
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgfb21cec" class="outline-4">
|
||||
<h4 id="orgfb21cec"><span class="section-number-4">2.5.3</span> Test</h4>
|
||||
<div id="outline-container-org2450eb2" class="outline-4">
|
||||
<h4 id="org2450eb2"><span class="section-number-4">2.5.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-5-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">
|
||||
@ -1870,8 +1870,8 @@ rc = qmckl_get_electron_en_distance(context, &(en_distance[0][0][0]));
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org485d036" class="outline-3">
|
||||
<h3 id="org485d036"><span class="section-number-3">2.6</span> Electron-nucleus rescaled distances</h3>
|
||||
<div id="outline-container-orgbb2c288" class="outline-3">
|
||||
<h3 id="orgbb2c288"><span class="section-number-3">2.6</span> Electron-nucleus rescaled distances</h3>
|
||||
<div class="outline-text-3" id="text-2-6">
|
||||
<p>
|
||||
<code>en_distance_rescaled</code> stores the matrix of the rescaled distances between
|
||||
@ -1889,8 +1889,8 @@ where \(C_{ij}\) is the matrix of electron-nucleus distances.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgddae628" class="outline-4">
|
||||
<h4 id="orgddae628"><span class="section-number-4">2.6.1</span> Get</h4>
|
||||
<div id="outline-container-org4823a69" class="outline-4">
|
||||
<h4 id="org4823a69"><span class="section-number-4">2.6.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-6-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_electron_en_distance_rescaled</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">distance_rescaled</span>);
|
||||
@ -1900,10 +1900,10 @@ where \(C_{ij}\) is the matrix of electron-nucleus distances.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org7967aa0" class="outline-4">
|
||||
<h4 id="org7967aa0"><span class="section-number-4">2.6.2</span> Compute</h4>
|
||||
<div id="outline-container-orgf0699b6" class="outline-4">
|
||||
<h4 id="orgf0699b6"><span class="section-number-4">2.6.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-6-2">
|
||||
<table id="org4c61f28" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org1c3a68f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2043,8 +2043,8 @@ where \(C_{ij}\) is the matrix of electron-nucleus distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org30d432c" class="outline-4">
|
||||
<h4 id="org30d432c"><span class="section-number-4">2.6.3</span> Test</h4>
|
||||
<div id="outline-container-org5543164" class="outline-4">
|
||||
<h4 id="org5543164"><span class="section-number-4">2.6.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-6-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">
|
||||
@ -2092,8 +2092,8 @@ rc = qmckl_get_electron_en_distance_rescaled(context, &(en_distance_rescaled
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1d16b2f" class="outline-3">
|
||||
<h3 id="org1d16b2f"><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-orge86a25a" class="outline-3">
|
||||
<h3 id="orge86a25a"><span class="section-number-3">2.7</span> Electron-nucleus rescaled distance gradients and laplacian with respect to electron coords</h3>
|
||||
<div class="outline-text-3" id="text-2-7">
|
||||
<p>
|
||||
The rescaled distances which is given as \(R = (1 - \exp{-\kappa r})/\kappa\)
|
||||
@ -2105,8 +2105,8 @@ gives the Laplacian \(\partial x^2 + \partial y^2 + \partial z^2\).
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3ccfdcc" class="outline-4">
|
||||
<h4 id="org3ccfdcc"><span class="section-number-4">2.7.1</span> Get</h4>
|
||||
<div id="outline-container-org662b6dc" class="outline-4">
|
||||
<h4 id="org662b6dc"><span class="section-number-4">2.7.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-7-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_electron_en_distance_rescaled_deriv_e</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">distance_rescaled_deriv_e</span>);
|
||||
@ -2115,10 +2115,10 @@ gives the Laplacian \(\partial x^2 + \partial y^2 + \partial z^2\).
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgcbcfebc" class="outline-4">
|
||||
<h4 id="orgcbcfebc"><span class="section-number-4">2.7.2</span> Compute</h4>
|
||||
<div id="outline-container-org77a6202" class="outline-4">
|
||||
<h4 id="org77a6202"><span class="section-number-4">2.7.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-7-2">
|
||||
<table id="org08670c7" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org08464ea" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2259,8 +2259,8 @@ gives the Laplacian \(\partial x^2 + \partial y^2 + \partial z^2\).
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgcfe0bf4" class="outline-4">
|
||||
<h4 id="orgcfe0bf4"><span class="section-number-4">2.7.3</span> Test</h4>
|
||||
<div id="outline-container-org249650d" class="outline-4">
|
||||
<h4 id="org249650d"><span class="section-number-4">2.7.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-7-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">
|
||||
@ -2312,8 +2312,8 @@ rc = qmckl_get_electron_en_distance_rescaled_deriv_e(context, &(en_distance_
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org13c052c" class="outline-3">
|
||||
<h3 id="org13c052c"><span class="section-number-3">2.8</span> Electron-nucleus potential</h3>
|
||||
<div id="outline-container-org62464e7" class="outline-3">
|
||||
<h3 id="org62464e7"><span class="section-number-3">2.8</span> Electron-nucleus potential</h3>
|
||||
<div class="outline-text-3" id="text-2-8">
|
||||
<p>
|
||||
<code>en_potential</code> stores the <code>en</code> potential energy
|
||||
@ -2331,8 +2331,8 @@ distance and \[Z_A\] is the nuclear charge.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0a36b85" class="outline-4">
|
||||
<h4 id="org0a36b85"><span class="section-number-4">2.8.1</span> Get</h4>
|
||||
<div id="outline-container-org561fbea" class="outline-4">
|
||||
<h4 id="org561fbea"><span class="section-number-4">2.8.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-8-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_electron_en_potential</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">en_pot</span>);
|
||||
@ -2341,10 +2341,10 @@ distance and \[Z_A\] is the nuclear charge.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org266de64" class="outline-4">
|
||||
<h4 id="org266de64"><span class="section-number-4">2.8.2</span> Compute</h4>
|
||||
<div id="outline-container-orgc1cbae5" class="outline-4">
|
||||
<h4 id="orgc1cbae5"><span class="section-number-4">2.8.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-8-2">
|
||||
<table id="org2e96273" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgf17e06f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2478,8 +2478,8 @@ distance and \[Z_A\] is the nuclear charge.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb23d67a" class="outline-4">
|
||||
<h4 id="orgb23d67a"><span class="section-number-4">2.8.3</span> Test</h4>
|
||||
<div id="outline-container-orgbeff3b8" class="outline-4">
|
||||
<h4 id="orgbeff3b8"><span class="section-number-4">2.8.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-8-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">double</span> <span style="color: #a0522d;">en_pot</span>[walk_num];
|
||||
@ -2492,14 +2492,14 @@ rc = qmckl_get_electron_en_potential(context, &(en_pot[0]));
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org52f6a94" class="outline-3">
|
||||
<h3 id="org52f6a94"><span class="section-number-3">2.9</span> Generate initial coordinates</h3>
|
||||
<div id="outline-container-orgf9c8b68" class="outline-3">
|
||||
<h3 id="orgf9c8b68"><span class="section-number-3">2.9</span> Generate initial coordinates</h3>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-02-14 Mon 09:30</p>
|
||||
<p class="date">Created: 2022-02-14 Mon 23:46</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2022-02-14 Mon 09:30 -->
|
||||
<!-- 2022-02-14 Mon 23:46 -->
|
||||
<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="#org102f755">1. Decoding errors</a></li>
|
||||
<li><a href="#orgcc775c1">2. Data structure in context</a></li>
|
||||
<li><a href="#orgf50dc77">3. Updating errors in the context</a></li>
|
||||
<li><a href="#orgc4a8432">4. Get the error</a></li>
|
||||
<li><a href="#org8cdbc32">5. Failing</a></li>
|
||||
<li><a href="#org7e2ab32">1. Decoding errors</a></li>
|
||||
<li><a href="#org92c47a9">2. Data structure in context</a></li>
|
||||
<li><a href="#orgcefcf34">3. Updating errors in the context</a></li>
|
||||
<li><a href="#orga835e98">4. Get the error</a></li>
|
||||
<li><a href="#orge5b5706">5. Failing</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org102f755" class="outline-2">
|
||||
<h2 id="org102f755"><span class="section-number-2">1</span> Decoding errors</h2>
|
||||
<div id="outline-container-org7e2ab32" class="outline-2">
|
||||
<h2 id="org7e2ab32"><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-orgcc775c1" class="outline-2">
|
||||
<h2 id="orgcc775c1"><span class="section-number-2">2</span> Data structure in context</h2>
|
||||
<div id="outline-container-org92c47a9" class="outline-2">
|
||||
<h2 id="org92c47a9"><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-orgf50dc77" class="outline-2">
|
||||
<h2 id="orgf50dc77"><span class="section-number-2">3</span> Updating errors in the context</h2>
|
||||
<div id="outline-container-orgcefcf34" class="outline-2">
|
||||
<h2 id="orgcefcf34"><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-orgc4a8432" class="outline-2">
|
||||
<h2 id="orgc4a8432"><span class="section-number-2">4</span> Get the error</h2>
|
||||
<div id="outline-container-orga835e98" class="outline-2">
|
||||
<h2 id="orga835e98"><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-org8cdbc32" class="outline-2">
|
||||
<h2 id="org8cdbc32"><span class="section-number-2">5</span> Failing</h2>
|
||||
<div id="outline-container-orge5b5706" class="outline-2">
|
||||
<h2 id="orge5b5706"><span class="section-number-2">5</span> Failing</h2>
|
||||
<div class="outline-text-2" id="text-5">
|
||||
<p>
|
||||
To make a function fail, the <code>qmckl_failwith</code> function should be
|
||||
@ -639,7 +639,7 @@ For example, this function can be used as
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-02-14 Mon 09:30</p>
|
||||
<p class="date">Created: 2022-02-14 Mon 23:46</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2022-02-14 Mon 09:30 -->
|
||||
<!-- 2022-02-14 Mon 23:46 -->
|
||||
<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="#org29df1bc">1. Context</a>
|
||||
<li><a href="#org539d1db">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org0d7495d">1.1. Data structure</a></li>
|
||||
<li><a href="#org8e95990">1.1. Data structure</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org4b5819c">2. Computation</a>
|
||||
<li><a href="#org3f2b977">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#orge2f133d">2.1. Kinetic energy</a>
|
||||
<li><a href="#org833b130">2.1. Kinetic energy</a>
|
||||
<ul>
|
||||
<li><a href="#orgef3fcab">2.1.1. Get</a></li>
|
||||
<li><a href="#org04c837c">2.1.2. Provide</a></li>
|
||||
<li><a href="#org108596c">2.1.3. Compute kinetic enregy</a></li>
|
||||
<li><a href="#org6f7bc26">2.1.4. Test</a></li>
|
||||
<li><a href="#org2777daf">2.1.1. Get</a></li>
|
||||
<li><a href="#org50428ef">2.1.2. Provide</a></li>
|
||||
<li><a href="#orgd6b65a7">2.1.3. Compute kinetic enregy</a></li>
|
||||
<li><a href="#org3030f76">2.1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org250b19d">2.2. Potential energy</a>
|
||||
<li><a href="#org8385364">2.2. Potential energy</a>
|
||||
<ul>
|
||||
<li><a href="#orgfacd638">2.2.1. Get</a></li>
|
||||
<li><a href="#org0b127f8">2.2.2. Provide</a></li>
|
||||
<li><a href="#org7908178">2.2.3. Compute potential enregy</a></li>
|
||||
<li><a href="#org2fc6c11">2.2.4. Test</a></li>
|
||||
<li><a href="#orgb720660">2.2.1. Get</a></li>
|
||||
<li><a href="#orgec7b8d7">2.2.2. Provide</a></li>
|
||||
<li><a href="#org8e52e2e">2.2.3. Compute potential enregy</a></li>
|
||||
<li><a href="#org5d40b54">2.2.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org3fc33d6">2.3. Local energy</a>
|
||||
<li><a href="#org948737a">2.3. Local energy</a>
|
||||
<ul>
|
||||
<li><a href="#org21ac2fe">2.3.1. Get</a></li>
|
||||
<li><a href="#orgacd1567">2.3.2. Provide</a></li>
|
||||
<li><a href="#orgf4da007">2.3.3. Compute local enregy</a></li>
|
||||
<li><a href="#org309d735">2.3.4. Test</a></li>
|
||||
<li><a href="#org765f97f">2.3.1. Get</a></li>
|
||||
<li><a href="#org76fd154">2.3.2. Provide</a></li>
|
||||
<li><a href="#org5cd0d0a">2.3.3. Compute local enregy</a></li>
|
||||
<li><a href="#org932a0af">2.3.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org5410fa2">2.4. Drift vector</a>
|
||||
<li><a href="#org76f7977">2.4. Drift vector</a>
|
||||
<ul>
|
||||
<li><a href="#org462762b">2.4.1. Get</a></li>
|
||||
<li><a href="#org2ab4c93">2.4.2. Provide</a></li>
|
||||
<li><a href="#org313e2bd">2.4.3. Compute drift vector</a></li>
|
||||
<li><a href="#orgee88fcc">2.4.4. Test</a></li>
|
||||
<li><a href="#orgb5e3581">2.4.1. Get</a></li>
|
||||
<li><a href="#org3d4558f">2.4.2. Provide</a></li>
|
||||
<li><a href="#org5f82768">2.4.3. Compute drift vector</a></li>
|
||||
<li><a href="#orgcbfc665">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-org29df1bc" class="outline-2">
|
||||
<h2 id="org29df1bc"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-org539d1db" class="outline-2">
|
||||
<h2 id="org539d1db"><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-org0d7495d" class="outline-3">
|
||||
<h3 id="org0d7495d"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-org8e95990" class="outline-3">
|
||||
<h3 id="org8e95990"><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-org4b5819c" class="outline-2">
|
||||
<h2 id="org4b5819c"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-org3f2b977" class="outline-2">
|
||||
<h2 id="org3f2b977"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-orge2f133d" class="outline-3">
|
||||
<h3 id="orge2f133d"><span class="section-number-3">2.1</span> Kinetic energy</h3>
|
||||
<div id="outline-container-org833b130" class="outline-3">
|
||||
<h3 id="org833b130"><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-orgef3fcab" class="outline-4">
|
||||
<h4 id="orgef3fcab"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-org2777daf" class="outline-4">
|
||||
<h4 id="org2777daf"><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-org04c837c" class="outline-4">
|
||||
<h4 id="org04c837c"><span class="section-number-4">2.1.2</span> Provide</h4>
|
||||
<div id="outline-container-org50428ef" class="outline-4">
|
||||
<h4 id="org50428ef"><span class="section-number-4">2.1.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org108596c" class="outline-4">
|
||||
<h4 id="org108596c"><span class="section-number-4">2.1.3</span> Compute kinetic enregy</h4>
|
||||
<div id="outline-container-orgd6b65a7" class="outline-4">
|
||||
<h4 id="orgd6b65a7"><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="org9700087" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orge7cfc14" 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-org6f7bc26" class="outline-4">
|
||||
<h4 id="org6f7bc26"><span class="section-number-4">2.1.4</span> Test</h4>
|
||||
<div id="outline-container-org3030f76" class="outline-4">
|
||||
<h4 id="org3030f76"><span class="section-number-4">2.1.4</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org250b19d" class="outline-3">
|
||||
<h3 id="org250b19d"><span class="section-number-3">2.2</span> Potential energy</h3>
|
||||
<div id="outline-container-org8385364" class="outline-3">
|
||||
<h3 id="org8385364"><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-orgfacd638" class="outline-4">
|
||||
<h4 id="orgfacd638"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div id="outline-container-orgb720660" class="outline-4">
|
||||
<h4 id="orgb720660"><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-org0b127f8" class="outline-4">
|
||||
<h4 id="org0b127f8"><span class="section-number-4">2.2.2</span> Provide</h4>
|
||||
<div id="outline-container-orgec7b8d7" class="outline-4">
|
||||
<h4 id="orgec7b8d7"><span class="section-number-4">2.2.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7908178" class="outline-4">
|
||||
<h4 id="org7908178"><span class="section-number-4">2.2.3</span> Compute potential enregy</h4>
|
||||
<div id="outline-container-org8e52e2e" class="outline-4">
|
||||
<h4 id="org8e52e2e"><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="org43b3f21" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orge73003d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -949,12 +949,12 @@ contributions.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2fc6c11" class="outline-4">
|
||||
<h4 id="org2fc6c11"><span class="section-number-4">2.2.4</span> Test</h4>
|
||||
<div id="outline-container-org5d40b54" class="outline-4">
|
||||
<h4 id="org5d40b54"><span class="section-number-4">2.2.4</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org3fc33d6" class="outline-3">
|
||||
<h3 id="org3fc33d6"><span class="section-number-3">2.3</span> Local energy</h3>
|
||||
<div id="outline-container-org948737a" class="outline-3">
|
||||
<h3 id="org948737a"><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-org21ac2fe" class="outline-4">
|
||||
<h4 id="org21ac2fe"><span class="section-number-4">2.3.1</span> Get</h4>
|
||||
<div id="outline-container-org765f97f" class="outline-4">
|
||||
<h4 id="org765f97f"><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-orgacd1567" class="outline-4">
|
||||
<h4 id="orgacd1567"><span class="section-number-4">2.3.2</span> Provide</h4>
|
||||
<div id="outline-container-org76fd154" class="outline-4">
|
||||
<h4 id="org76fd154"><span class="section-number-4">2.3.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf4da007" class="outline-4">
|
||||
<h4 id="orgf4da007"><span class="section-number-4">2.3.3</span> Compute local enregy</h4>
|
||||
<div id="outline-container-org5cd0d0a" class="outline-4">
|
||||
<h4 id="org5cd0d0a"><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="orgf52bb19" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org0bfd8cc" 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-org309d735" class="outline-4">
|
||||
<h4 id="org309d735"><span class="section-number-4">2.3.4</span> Test</h4>
|
||||
<div id="outline-container-org932a0af" class="outline-4">
|
||||
<h4 id="org932a0af"><span class="section-number-4">2.3.4</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org5410fa2" class="outline-3">
|
||||
<h3 id="org5410fa2"><span class="section-number-3">2.4</span> Drift vector</h3>
|
||||
<div id="outline-container-org76f7977" class="outline-3">
|
||||
<h3 id="org76f7977"><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-org462762b" class="outline-4">
|
||||
<h4 id="org462762b"><span class="section-number-4">2.4.1</span> Get</h4>
|
||||
<div id="outline-container-orgb5e3581" class="outline-4">
|
||||
<h4 id="orgb5e3581"><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-org2ab4c93" class="outline-4">
|
||||
<h4 id="org2ab4c93"><span class="section-number-4">2.4.2</span> Provide</h4>
|
||||
<div id="outline-container-org3d4558f" class="outline-4">
|
||||
<h4 id="org3d4558f"><span class="section-number-4">2.4.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org313e2bd" class="outline-4">
|
||||
<h4 id="org313e2bd"><span class="section-number-4">2.4.3</span> Compute drift vector</h4>
|
||||
<div id="outline-container-org5f82768" class="outline-4">
|
||||
<h4 id="org5f82768"><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="org613fc77" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org05b1238" 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-orgee88fcc" class="outline-4">
|
||||
<h4 id="orgee88fcc"><span class="section-number-4">2.4.4</span> Test</h4>
|
||||
<div id="outline-container-orgcbfc665" class="outline-4">
|
||||
<h4 id="orgcbfc665"><span class="section-number-4">2.4.4</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-02-14 Mon 09:30</p>
|
||||
<p class="date">Created: 2022-02-14 Mon 23:46</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2022-02-14 Mon 09:30 -->
|
||||
<!-- 2022-02-14 Mon 23:46 -->
|
||||
<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="#org2b49468">1. Memory data structure for the context</a></li>
|
||||
<li><a href="#org1180905">2. Passing info to allocation routines</a></li>
|
||||
<li><a href="#orga74e436">3. Allocation/deallocation functions</a></li>
|
||||
<li><a href="#orgf63bd5d">1. Memory data structure for the context</a></li>
|
||||
<li><a href="#org0459050">2. Passing info to allocation routines</a></li>
|
||||
<li><a href="#org2c577d6">3. Allocation/deallocation functions</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2b49468" class="outline-2">
|
||||
<h2 id="org2b49468"><span class="section-number-2">1</span> Memory data structure for the context</h2>
|
||||
<div id="outline-container-orgf63bd5d" class="outline-2">
|
||||
<h2 id="orgf63bd5d"><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-org1180905" class="outline-2">
|
||||
<h2 id="org1180905"><span class="section-number-2">2</span> Passing info to allocation routines</h2>
|
||||
<div id="outline-container-org0459050" class="outline-2">
|
||||
<h2 id="org0459050"><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-orga74e436" class="outline-2">
|
||||
<h2 id="orga74e436"><span class="section-number-2">3</span> Allocation/deallocation functions</h2>
|
||||
<div id="outline-container-org2c577d6" class="outline-2">
|
||||
<h2 id="org2c577d6"><span class="section-number-2">3</span> Allocation/deallocation functions</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
<p>
|
||||
Memory allocation inside the library should be done with
|
||||
@ -535,7 +535,7 @@ allocation and needs to be updated.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-02-14 Mon 09:30</p>
|
||||
<p class="date">Created: 2022-02-14 Mon 23:46</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2022-02-14 Mon 09:30 -->
|
||||
<!-- 2022-02-14 Mon 23:46 -->
|
||||
<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="#org9173e57">1. Context</a>
|
||||
<li><a href="#org26a3471">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org82b4608">1.1. Data structure</a></li>
|
||||
<li><a href="#orgf3d448c">1.2. Access functions</a></li>
|
||||
<li><a href="#org6528a20">1.3. Initialization functions</a></li>
|
||||
<li><a href="#orgce77a46">1.1. Data structure</a></li>
|
||||
<li><a href="#org99e1d2a">1.2. Access functions</a></li>
|
||||
<li><a href="#org70d9803">1.3. Initialization functions</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org9fa0a43">2. Computation</a>
|
||||
<li><a href="#org776fbf3">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#org0fac20c">2.1. Computation of MOs</a>
|
||||
<li><a href="#org4d092b0">2.1. Computation of MOs</a>
|
||||
<ul>
|
||||
<li><a href="#orge5e8f91">2.1.1. Get</a></li>
|
||||
<li><a href="#orgbe08801">2.1.2. Provide</a></li>
|
||||
<li><a href="#org845b47e">2.1.3. Compute</a></li>
|
||||
<li><a href="#org69fc26b">2.1.4. Test</a></li>
|
||||
<li><a href="#org7d45c39">2.1.1. Get</a></li>
|
||||
<li><a href="#org0006e5e">2.1.2. Provide</a></li>
|
||||
<li><a href="#org872d72b">2.1.3. Compute</a></li>
|
||||
<li><a href="#org1f87fc9">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-org9173e57" class="outline-2">
|
||||
<h2 id="org9173e57"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-org26a3471" class="outline-2">
|
||||
<h2 id="org26a3471"><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-org82b4608" class="outline-3">
|
||||
<h3 id="org82b4608"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-orgce77a46" class="outline-3">
|
||||
<h3 id="orgce77a46"><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-orgf3d448c" class="outline-3">
|
||||
<h3 id="orgf3d448c"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-org99e1d2a" class="outline-3">
|
||||
<h3 id="org99e1d2a"><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-org6528a20" class="outline-3">
|
||||
<h3 id="org6528a20"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-org70d9803" class="outline-3">
|
||||
<h3 id="org70d9803"><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-org9fa0a43" class="outline-2">
|
||||
<h2 id="org9fa0a43"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-org776fbf3" class="outline-2">
|
||||
<h2 id="org776fbf3"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-org0fac20c" class="outline-3">
|
||||
<h3 id="org0fac20c"><span class="section-number-3">2.1</span> Computation of MOs</h3>
|
||||
<div id="outline-container-org4d092b0" class="outline-3">
|
||||
<h3 id="org4d092b0"><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-orge5e8f91" class="outline-4">
|
||||
<h4 id="orge5e8f91"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-org7d45c39" class="outline-4">
|
||||
<h4 id="org7d45c39"><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-orgbe08801" class="outline-4">
|
||||
<h4 id="orgbe08801"><span class="section-number-4">2.1.2</span> Provide</h4>
|
||||
<div id="outline-container-org0006e5e" class="outline-4">
|
||||
<h4 id="org0006e5e"><span class="section-number-4">2.1.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org845b47e" class="outline-4">
|
||||
<h4 id="org845b47e"><span class="section-number-4">2.1.3</span> Compute</h4>
|
||||
<div id="outline-container-org872d72b" class="outline-4">
|
||||
<h4 id="org872d72b"><span class="section-number-4">2.1.3</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-1-3">
|
||||
<table id="org6561508" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org12b9e63" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -628,15 +628,15 @@ computed to accelerate the calculations.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org69fc26b" class="outline-4">
|
||||
<h4 id="org69fc26b"><span class="section-number-4">2.1.4</span> Test</h4>
|
||||
<div id="outline-container-org1f87fc9" class="outline-4">
|
||||
<h4 id="org1f87fc9"><span class="section-number-4">2.1.4</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-02-14 Mon 09:30</p>
|
||||
<p class="date">Created: 2022-02-14 Mon 23:46</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2022-02-14 Mon 09:30 -->
|
||||
<!-- 2022-02-14 Mon 23:46 -->
|
||||
<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="#org710f29b">1. Context</a>
|
||||
<li><a href="#org762f97f">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#orgaa8faf8">1.1. Data structure</a></li>
|
||||
<li><a href="#org080315b">1.2. Access functions</a></li>
|
||||
<li><a href="#orgcdf8407">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org60fecfe">1.4. Test</a></li>
|
||||
<li><a href="#org3a40787">1.1. Data structure</a></li>
|
||||
<li><a href="#org8c73970">1.2. Access functions</a></li>
|
||||
<li><a href="#orgc9b2537">1.3. Initialization functions</a></li>
|
||||
<li><a href="#orga2eee5e">1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org3c2d266">2. Computation</a>
|
||||
<li><a href="#orgccbc671">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#org536d6a7">2.1. Nucleus-nucleus distances</a>
|
||||
<li><a href="#org37bff46">2.1. Nucleus-nucleus distances</a>
|
||||
<ul>
|
||||
<li><a href="#org16d01ce">2.1.1. Get</a></li>
|
||||
<li><a href="#org6f57259">2.1.2. Compute</a></li>
|
||||
<li><a href="#orgcca4107">2.1.3. Test</a></li>
|
||||
<li><a href="#orgd44fb7d">2.1.1. Get</a></li>
|
||||
<li><a href="#org675e36d">2.1.2. Compute</a></li>
|
||||
<li><a href="#org1346844">2.1.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org7f20f2c">2.2. Nucleus-nucleus rescaled distances</a>
|
||||
<li><a href="#orgdee30bf">2.2. Nucleus-nucleus rescaled distances</a>
|
||||
<ul>
|
||||
<li><a href="#org5d0fb04">2.2.1. Get</a></li>
|
||||
<li><a href="#org3d588c2">2.2.2. Compute</a></li>
|
||||
<li><a href="#orga63e7ad">2.2.3. Test</a></li>
|
||||
<li><a href="#org1f5bb50">2.2.1. Get</a></li>
|
||||
<li><a href="#orgd329260">2.2.2. Compute</a></li>
|
||||
<li><a href="#org737030f">2.2.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgdd70c87">2.3. Nuclear repulsion energy</a>
|
||||
<li><a href="#org8e6ab3b">2.3. Nuclear repulsion energy</a>
|
||||
<ul>
|
||||
<li><a href="#org8a72e91">2.3.1. Get</a></li>
|
||||
<li><a href="#orgb666bad">2.3.2. Compute</a></li>
|
||||
<li><a href="#org03d66ab">2.3.3. Test</a></li>
|
||||
<li><a href="#org5c7cf96">2.3.1. Get</a></li>
|
||||
<li><a href="#org118c343">2.3.2. Compute</a></li>
|
||||
<li><a href="#org63a538a">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-org710f29b" class="outline-2">
|
||||
<h2 id="org710f29b"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-org762f97f" class="outline-2">
|
||||
<h2 id="org762f97f"><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-orgaa8faf8" class="outline-3">
|
||||
<h3 id="orgaa8faf8"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-org3a40787" class="outline-3">
|
||||
<h3 id="org3a40787"><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-org080315b" class="outline-3">
|
||||
<h3 id="org080315b"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-org8c73970" class="outline-3">
|
||||
<h3 id="org8c73970"><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-orgcdf8407" class="outline-3">
|
||||
<h3 id="orgcdf8407"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-orgc9b2537" class="outline-3">
|
||||
<h3 id="orgc9b2537"><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-org60fecfe" class="outline-3">
|
||||
<h3 id="org60fecfe"><span class="section-number-3">1.4</span> Test</h3>
|
||||
<div id="outline-container-orga2eee5e" class="outline-3">
|
||||
<h3 id="orga2eee5e"><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-org3c2d266" class="outline-2">
|
||||
<h2 id="org3c2d266"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-orgccbc671" class="outline-2">
|
||||
<h2 id="orgccbc671"><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-org536d6a7" class="outline-3">
|
||||
<h3 id="org536d6a7"><span class="section-number-3">2.1</span> Nucleus-nucleus distances</h3>
|
||||
<div id="outline-container-org37bff46" class="outline-3">
|
||||
<h3 id="org37bff46"><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-org16d01ce" class="outline-4">
|
||||
<h4 id="org16d01ce"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-orgd44fb7d" class="outline-4">
|
||||
<h4 id="orgd44fb7d"><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-org6f57259" class="outline-4">
|
||||
<h4 id="org6f57259"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div id="outline-container-org675e36d" class="outline-4">
|
||||
<h4 id="org675e36d"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-1-2">
|
||||
<table id="org5fa6f6b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgb5d03d3" 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-orgcca4107" class="outline-4">
|
||||
<h4 id="orgcca4107"><span class="section-number-4">2.1.3</span> Test</h4>
|
||||
<div id="outline-container-org1346844" class="outline-4">
|
||||
<h4 id="org1346844"><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-org7f20f2c" class="outline-3">
|
||||
<h3 id="org7f20f2c"><span class="section-number-3">2.2</span> Nucleus-nucleus rescaled distances</h3>
|
||||
<div id="outline-container-orgdee30bf" class="outline-3">
|
||||
<h3 id="orgdee30bf"><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-org5d0fb04" class="outline-4">
|
||||
<h4 id="org5d0fb04"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div id="outline-container-org1f5bb50" class="outline-4">
|
||||
<h4 id="org1f5bb50"><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-org3d588c2" class="outline-4">
|
||||
<h4 id="org3d588c2"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div id="outline-container-orgd329260" class="outline-4">
|
||||
<h4 id="orgd329260"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-2-2">
|
||||
<table id="org86b5553" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org7facb3d" 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-orga63e7ad" class="outline-4">
|
||||
<h4 id="orga63e7ad"><span class="section-number-4">2.2.3</span> Test</h4>
|
||||
<div id="outline-container-org737030f" class="outline-4">
|
||||
<h4 id="org737030f"><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-orgdd70c87" class="outline-3">
|
||||
<h3 id="orgdd70c87"><span class="section-number-3">2.3</span> Nuclear repulsion energy</h3>
|
||||
<div id="outline-container-org8e6ab3b" class="outline-3">
|
||||
<h3 id="org8e6ab3b"><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-org8a72e91" class="outline-4">
|
||||
<h4 id="org8a72e91"><span class="section-number-4">2.3.1</span> Get</h4>
|
||||
<div id="outline-container-org5c7cf96" class="outline-4">
|
||||
<h4 id="org5c7cf96"><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-orgb666bad" class="outline-4">
|
||||
<h4 id="orgb666bad"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div id="outline-container-org118c343" class="outline-4">
|
||||
<h4 id="org118c343"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-3-2">
|
||||
<table id="org782afbd" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org823a1d9" 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-org03d66ab" class="outline-4">
|
||||
<h4 id="org03d66ab"><span class="section-number-4">2.3.3</span> Test</h4>
|
||||
<div id="outline-container-org63a538a" class="outline-4">
|
||||
<h4 id="org63a538a"><span class="section-number-4">2.3.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-3-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Reference input data </span>*/
|
||||
@ -1089,7 +1089,7 @@ rc = qmckl_get_nucleus_repulsion(context, &rep);
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-02-14 Mon 09:30</p>
|
||||
<p class="date">Created: 2022-02-14 Mon 23:46</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2022-02-14 Mon 09:30 -->
|
||||
<!-- 2022-02-14 Mon 23:46 -->
|
||||
<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="#org479109c">1. Control of the numerical precision</a></li>
|
||||
<li><a href="#org1555aa6">2. Precision</a></li>
|
||||
<li><a href="#org6fb8a08">3. Range</a></li>
|
||||
<li><a href="#orgefa81f0">4. Helper functions</a></li>
|
||||
<li><a href="#org9c4588c">1. Control of the numerical precision</a></li>
|
||||
<li><a href="#orge82f09d">2. Precision</a></li>
|
||||
<li><a href="#orgd598978">3. Range</a></li>
|
||||
<li><a href="#org7b06881">4. Helper functions</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org479109c" class="outline-2">
|
||||
<h2 id="org479109c"><span class="section-number-2">1</span> Control of the numerical precision</h2>
|
||||
<div id="outline-container-org9c4588c" class="outline-2">
|
||||
<h2 id="org9c4588c"><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="orgfc1e2f6" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgf1738d8" 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-org1555aa6" class="outline-2">
|
||||
<h2 id="org1555aa6"><span class="section-number-2">2</span> Precision</h2>
|
||||
<div id="outline-container-orge82f09d" class="outline-2">
|
||||
<h2 id="orge82f09d"><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-org6fb8a08" class="outline-2">
|
||||
<h2 id="org6fb8a08"><span class="section-number-2">3</span> Range</h2>
|
||||
<div id="outline-container-orgd598978" class="outline-2">
|
||||
<h2 id="orgd598978"><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-orgefa81f0" class="outline-2">
|
||||
<h2 id="orgefa81f0"><span class="section-number-2">4</span> Helper functions</h2>
|
||||
<div id="outline-container-org7b06881" class="outline-2">
|
||||
<h2 id="org7b06881"><span class="section-number-2">4</span> Helper functions</h2>
|
||||
<div class="outline-text-2" id="text-4">
|
||||
<p>
|
||||
<code>qmckl_get_numprec_epsilon</code> returns \(\epsilon = 2^{1-n}\) where <code>n</code> is the precision.
|
||||
@ -581,7 +581,7 @@ We need to remove the sign bit from the precision.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-02-14 Mon 09:30</p>
|
||||
<p class="date">Created: 2022-02-14 Mon 23:46</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2022-02-14 Mon 09:30 -->
|
||||
<!-- 2022-02-14 Mon 23:46 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Point</title>
|
||||
@ -333,25 +333,25 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#orgb4a2e90">1. Context</a>
|
||||
<li><a href="#org307ee79">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org1d90a4c">1.1. Data structure</a></li>
|
||||
<li><a href="#org23b435f">1.2. Access functions</a>
|
||||
<li><a href="#org275261f">1.1. Data structure</a></li>
|
||||
<li><a href="#org246575c">1.2. Access functions</a>
|
||||
<ul>
|
||||
<li><a href="#org6d6a4ce">1.2.1. Number of points</a></li>
|
||||
<li><a href="#orgc4f0ef4">1.2.2. Point coordinates</a></li>
|
||||
<li><a href="#org5b4259d">1.2.1. Number of points</a></li>
|
||||
<li><a href="#orgd63fee4">1.2.2. Point coordinates</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgf8b2217">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org2fb0048">1.4. Test</a></li>
|
||||
<li><a href="#org2a2087d">1.3. Initialization functions</a></li>
|
||||
<li><a href="#orgfc25669">1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb4a2e90" class="outline-2">
|
||||
<h2 id="orgb4a2e90"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-org307ee79" class="outline-2">
|
||||
<h2 id="org307ee79"><span class="section-number-2">1</span> Context</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
The following data stored in the context:
|
||||
@ -401,8 +401,8 @@ corresponds to the 3 × <code>num</code> matrix.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1d90a4c" class="outline-3">
|
||||
<h3 id="org1d90a4c"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-org275261f" class="outline-3">
|
||||
<h3 id="org275261f"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #a020f0;">typedef</span> <span style="color: #a020f0;">struct</span> <span style="color: #228b22;">qmckl_point_struct</span> {
|
||||
@ -438,8 +438,8 @@ corresponds to the 3 × <code>num</code> matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org23b435f" class="outline-3">
|
||||
<h3 id="org23b435f"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-org246575c" class="outline-3">
|
||||
<h3 id="org246575c"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<p>
|
||||
Access functions return <code>QMCKL_SUCCESS</code> when the data has been
|
||||
@ -450,8 +450,8 @@ contains the requested data. Otherwise, this variable is untouched.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6d6a4ce" class="outline-4">
|
||||
<h4 id="org6d6a4ce"><span class="section-number-4">1.2.1</span> Number of points</h4>
|
||||
<div id="outline-container-org5b4259d" class="outline-4">
|
||||
<h4 id="org5b4259d"><span class="section-number-4">1.2.1</span> Number of points</h4>
|
||||
<div class="outline-text-4" id="text-1-2-1">
|
||||
<p>
|
||||
Returns the number of points stored in the context.
|
||||
@ -473,8 +473,8 @@ Returns the number of points stored in the context.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc4f0ef4" class="outline-4">
|
||||
<h4 id="orgc4f0ef4"><span class="section-number-4">1.2.2</span> Point coordinates</h4>
|
||||
<div id="outline-container-orgd63fee4" class="outline-4">
|
||||
<h4 id="orgd63fee4"><span class="section-number-4">1.2.2</span> Point coordinates</h4>
|
||||
<div class="outline-text-4" id="text-1-2-2">
|
||||
<p>
|
||||
Returns the point coordinates as sequences of (x,y,z).
|
||||
@ -502,8 +502,8 @@ The pointer is assumed to point on a memory block of size
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgf8b2217" class="outline-3">
|
||||
<h3 id="orgf8b2217"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-org2a2087d" class="outline-3">
|
||||
<h3 id="org2a2087d"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div class="outline-text-3" id="text-1-3">
|
||||
<p>
|
||||
When the data is set in the context, if the arrays are large
|
||||
@ -616,8 +616,8 @@ Copy a sequence of <code>num</code> points \((x,y,z)\) into the context.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org2fb0048" class="outline-3">
|
||||
<h3 id="org2fb0048"><span class="section-number-3">1.4</span> Test</h3>
|
||||
<div id="outline-container-orgfc25669" class="outline-3">
|
||||
<h3 id="orgfc25669"><span class="section-number-3">1.4</span> Test</h3>
|
||||
<div class="outline-text-3" id="text-1-4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Reference input data </span>*/
|
||||
@ -676,7 +676,7 @@ rc = qmckl_get_point (context, <span style="color: #8b2252;">'N'</span>, coord3,
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-02-14 Mon 09:30</p>
|
||||
<p class="date">Created: 2022-02-14 Mon 23:46</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2022-02-14 Mon 09:30 -->
|
||||
<!-- 2022-02-14 Mon 23:46 -->
|
||||
<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="#org9d2f5d8">1. Headers</a></li>
|
||||
<li><a href="#orgd0fa70e">2. Naïve Sherman-Morrison</a>
|
||||
<li><a href="#orgcfc386e">1. Headers</a></li>
|
||||
<li><a href="#org8e9da1e">2. Naïve Sherman-Morrison</a>
|
||||
<ul>
|
||||
<li><a href="#org8531236">2.1. <code>qmckl_sherman_morrison</code></a>
|
||||
<li><a href="#org41a1d00">2.1. <code>qmckl_sherman_morrison</code></a>
|
||||
<ul>
|
||||
<li><a href="#org4c80b8a">2.1.1. Requirements</a></li>
|
||||
<li><a href="#org00da4ae">2.1.2. C header</a></li>
|
||||
<li><a href="#org70d6af5">2.1.3. C source</a></li>
|
||||
<li><a href="#org534a5c8">2.1.4. Performance</a></li>
|
||||
<li><a href="#org4d87236">2.1.1. Requirements</a></li>
|
||||
<li><a href="#orge74baf3">2.1.2. C header</a></li>
|
||||
<li><a href="#org8f18c08">2.1.3. C source</a></li>
|
||||
<li><a href="#orgb8dcb86">2.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orga850711">3. Woodbury 2x2</a>
|
||||
<li><a href="#orgffcb727">3. Woodbury 2x2</a>
|
||||
<ul>
|
||||
<li><a href="#orgedf4989">3.1. <code>qmckl_woodbury_2</code></a>
|
||||
<li><a href="#org746a9b0">3.1. <code>qmckl_woodbury_2</code></a>
|
||||
<ul>
|
||||
<li><a href="#org36b2c5e">3.1.1. Requirements</a></li>
|
||||
<li><a href="#orge413bd1">3.1.2. C header</a></li>
|
||||
<li><a href="#org42dbac8">3.1.3. C source</a></li>
|
||||
<li><a href="#org1be72d7">3.1.4. Performance</a></li>
|
||||
<li><a href="#org32eaf0d">3.1.1. Requirements</a></li>
|
||||
<li><a href="#orgf82d4cb">3.1.2. C header</a></li>
|
||||
<li><a href="#org03131f2">3.1.3. C source</a></li>
|
||||
<li><a href="#org8e8f492">3.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orga000e3c">4. Woodbury 3x3</a>
|
||||
<li><a href="#org5226ba3">4. Woodbury 3x3</a>
|
||||
<ul>
|
||||
<li><a href="#org9422bc2">4.1. <code>qmckl_woodbury_3</code></a>
|
||||
<li><a href="#org2671154">4.1. <code>qmckl_woodbury_3</code></a>
|
||||
<ul>
|
||||
<li><a href="#org62c4ff1">4.1.1. Requirements</a></li>
|
||||
<li><a href="#org20cb559">4.1.2. C header</a></li>
|
||||
<li><a href="#org9e03025">4.1.3. C source</a></li>
|
||||
<li><a href="#org684fa8e">4.1.4. Performance…</a></li>
|
||||
<li><a href="#org1fbef51">4.1.1. Requirements</a></li>
|
||||
<li><a href="#org87ee7c4">4.1.2. C header</a></li>
|
||||
<li><a href="#orgb19fa91">4.1.3. C source</a></li>
|
||||
<li><a href="#orge4e4271">4.1.4. Performance…</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org05c2bc2">5. Sherman-Morrison with update splitting</a>
|
||||
<li><a href="#org1a8a262">5. Sherman-Morrison with update splitting</a>
|
||||
<ul>
|
||||
<li><a href="#org3e5a729">5.1. <code>qmckl_sherman_morrison_splitting</code></a>
|
||||
<li><a href="#org5995a34">5.1. <code>qmckl_sherman_morrison_splitting</code></a>
|
||||
<ul>
|
||||
<li><a href="#org051d3f2">5.1.1. Requirements</a></li>
|
||||
<li><a href="#orga7e3abf">5.1.2. C header</a></li>
|
||||
<li><a href="#orgdecd1a5">5.1.3. C source</a></li>
|
||||
<li><a href="#org739a3fa">5.1.4. Performance…</a></li>
|
||||
<li><a href="#orga432dad">5.1.1. Requirements</a></li>
|
||||
<li><a href="#orgb4a9737">5.1.2. C header</a></li>
|
||||
<li><a href="#orged10a41">5.1.3. C source</a></li>
|
||||
<li><a href="#orgf2a79d9">5.1.4. Performance…</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgb21dfa8">6. Woodbury 3x3 and 2x2 with Sherman-Morrison and update splitting</a>
|
||||
<li><a href="#org9d7b43e">6. Woodbury 3x3 and 2x2 with Sherman-Morrison and update splitting</a>
|
||||
<ul>
|
||||
<li><a href="#org1f8cd20">6.1. <code>qmckl_sherman_morrison_smw32s</code></a>
|
||||
<li><a href="#orgc230ea9">6.1. <code>qmckl_sherman_morrison_smw32s</code></a>
|
||||
<ul>
|
||||
<li><a href="#orgc99b644">6.1.1. Requirements</a></li>
|
||||
<li><a href="#orgdecdbcc">6.1.2. C header</a></li>
|
||||
<li><a href="#org0fd2a41">6.1.3. C source</a></li>
|
||||
<li><a href="#orgf391bef">6.1.4. Performance…</a></li>
|
||||
<li><a href="#org8d1853a">6.1.1. Requirements</a></li>
|
||||
<li><a href="#org20f7881">6.1.2. C header</a></li>
|
||||
<li><a href="#org1156d28">6.1.3. C source</a></li>
|
||||
<li><a href="#orgdca45ac">6.1.4. Performance…</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgca3e533">7. Helper Functions</a>
|
||||
<li><a href="#org624c8e3">7. Helper Functions</a>
|
||||
<ul>
|
||||
<li><a href="#org9af7975">7.1. <code>qmckl_slagel_splitting</code></a>
|
||||
<li><a href="#org317b070">7.1. <code>qmckl_slagel_splitting</code></a>
|
||||
<ul>
|
||||
<li><a href="#org87609cd">7.1.1. Requirements</a></li>
|
||||
<li><a href="#org66cb22d">7.1.2. C header</a></li>
|
||||
<li><a href="#orgdfff6b1">7.1.3. C source</a></li>
|
||||
<li><a href="#org715c9d8">7.1.4. Performance</a></li>
|
||||
<li><a href="#orgc770106">7.1.1. Requirements</a></li>
|
||||
<li><a href="#orgb2ad537">7.1.2. C header</a></li>
|
||||
<li><a href="#org8d757d3">7.1.3. C source</a></li>
|
||||
<li><a href="#org210b5ef">7.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgd92e8e5">8. End of files</a></li>
|
||||
<li><a href="#orgbfc3998">8. End of files</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9d2f5d8" class="outline-2">
|
||||
<h2 id="org9d2f5d8"><span class="section-number-2">1</span> Headers</h2>
|
||||
<div id="outline-container-orgcfc386e" class="outline-2">
|
||||
<h2 id="orgcfc386e"><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-orgd0fa70e" class="outline-2">
|
||||
<h2 id="orgd0fa70e"><span class="section-number-2">2</span> Naïve Sherman-Morrison</h2>
|
||||
<div id="outline-container-org8e9da1e" class="outline-2">
|
||||
<h2 id="org8e9da1e"><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-org8531236" class="outline-3">
|
||||
<h3 id="org8531236"><span class="section-number-3">2.1</span> <code>qmckl_sherman_morrison</code></h3>
|
||||
<div id="outline-container-org41a1d00" class="outline-3">
|
||||
<h3 id="org41a1d00"><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="org13af8ac" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org656bfd4" 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-org4c80b8a" class="outline-4">
|
||||
<h4 id="org4c80b8a"><span class="section-number-4">2.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org4d87236" class="outline-4">
|
||||
<h4 id="org4d87236"><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-org00da4ae" class="outline-4">
|
||||
<h4 id="org00da4ae"><span class="section-number-4">2.1.2</span> C header</h4>
|
||||
<div id="outline-container-orge74baf3" class="outline-4">
|
||||
<h4 id="orge74baf3"><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-org70d6af5" class="outline-4">
|
||||
<h4 id="org70d6af5"><span class="section-number-4">2.1.3</span> C source</h4>
|
||||
<div id="outline-container-org8f18c08" class="outline-4">
|
||||
<h4 id="org8f18c08"><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-org534a5c8" class="outline-4">
|
||||
<h4 id="org534a5c8"><span class="section-number-4">2.1.4</span> Performance</h4>
|
||||
<div id="outline-container-orgb8dcb86" class="outline-4">
|
||||
<h4 id="orgb8dcb86"><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-orga850711" class="outline-2">
|
||||
<h2 id="orga850711"><span class="section-number-2">3</span> Woodbury 2x2</h2>
|
||||
<div id="outline-container-orgffcb727" class="outline-2">
|
||||
<h2 id="orgffcb727"><span class="section-number-2">3</span> Woodbury 2x2</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
</div>
|
||||
<div id="outline-container-orgedf4989" class="outline-3">
|
||||
<h3 id="orgedf4989"><span class="section-number-3">3.1</span> <code>qmckl_woodbury_2</code></h3>
|
||||
<div id="outline-container-org746a9b0" class="outline-3">
|
||||
<h3 id="org746a9b0"><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="orge7b3589" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgd9125d7" 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-org36b2c5e" class="outline-4">
|
||||
<h4 id="org36b2c5e"><span class="section-number-4">3.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org32eaf0d" class="outline-4">
|
||||
<h4 id="org32eaf0d"><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-orge413bd1" class="outline-4">
|
||||
<h4 id="orge413bd1"><span class="section-number-4">3.1.2</span> C header</h4>
|
||||
<div id="outline-container-orgf82d4cb" class="outline-4">
|
||||
<h4 id="orgf82d4cb"><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-org42dbac8" class="outline-4">
|
||||
<h4 id="org42dbac8"><span class="section-number-4">3.1.3</span> C source</h4>
|
||||
<div id="outline-container-org03131f2" class="outline-4">
|
||||
<h4 id="org03131f2"><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-org1be72d7" class="outline-4">
|
||||
<h4 id="org1be72d7"><span class="section-number-4">3.1.4</span> Performance</h4>
|
||||
<div id="outline-container-org8e8f492" class="outline-4">
|
||||
<h4 id="org8e8f492"><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-orga000e3c" class="outline-2">
|
||||
<h2 id="orga000e3c"><span class="section-number-2">4</span> Woodbury 3x3</h2>
|
||||
<div id="outline-container-org5226ba3" class="outline-2">
|
||||
<h2 id="org5226ba3"><span class="section-number-2">4</span> Woodbury 3x3</h2>
|
||||
<div class="outline-text-2" id="text-4">
|
||||
</div>
|
||||
<div id="outline-container-org9422bc2" class="outline-3">
|
||||
<h3 id="org9422bc2"><span class="section-number-3">4.1</span> <code>qmckl_woodbury_3</code></h3>
|
||||
<div id="outline-container-org2671154" class="outline-3">
|
||||
<h3 id="org2671154"><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="org20805f7" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgccf2bbd" 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-org62c4ff1" class="outline-4">
|
||||
<h4 id="org62c4ff1"><span class="section-number-4">4.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org1fbef51" class="outline-4">
|
||||
<h4 id="org1fbef51"><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-org20cb559" class="outline-4">
|
||||
<h4 id="org20cb559"><span class="section-number-4">4.1.2</span> C header</h4>
|
||||
<div id="outline-container-org87ee7c4" class="outline-4">
|
||||
<h4 id="org87ee7c4"><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-org9e03025" class="outline-4">
|
||||
<h4 id="org9e03025"><span class="section-number-4">4.1.3</span> C source</h4>
|
||||
<div id="outline-container-orgb19fa91" class="outline-4">
|
||||
<h4 id="orgb19fa91"><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-org684fa8e" class="outline-4">
|
||||
<h4 id="org684fa8e"><span class="section-number-4">4.1.4</span> Performance…</h4>
|
||||
<div id="outline-container-orge4e4271" class="outline-4">
|
||||
<h4 id="orge4e4271"><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-org05c2bc2" class="outline-2">
|
||||
<h2 id="org05c2bc2"><span class="section-number-2">5</span> Sherman-Morrison with update splitting</h2>
|
||||
<div id="outline-container-org1a8a262" class="outline-2">
|
||||
<h2 id="org1a8a262"><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-org3e5a729" class="outline-3">
|
||||
<h3 id="org3e5a729"><span class="section-number-3">5.1</span> <code>qmckl_sherman_morrison_splitting</code></h3>
|
||||
<div id="outline-container-org5995a34" class="outline-3">
|
||||
<h3 id="org5995a34"><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="orgb0172cb" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgb00101d" 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-org051d3f2" class="outline-4">
|
||||
<h4 id="org051d3f2"><span class="section-number-4">5.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-orga432dad" class="outline-4">
|
||||
<h4 id="orga432dad"><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-orga7e3abf" class="outline-4">
|
||||
<h4 id="orga7e3abf"><span class="section-number-4">5.1.2</span> C header</h4>
|
||||
<div id="outline-container-orgb4a9737" class="outline-4">
|
||||
<h4 id="orgb4a9737"><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-orgdecd1a5" class="outline-4">
|
||||
<h4 id="orgdecd1a5"><span class="section-number-4">5.1.3</span> C source</h4>
|
||||
<div id="outline-container-orged10a41" class="outline-4">
|
||||
<h4 id="orged10a41"><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-org739a3fa" class="outline-4">
|
||||
<h4 id="org739a3fa"><span class="section-number-4">5.1.4</span> Performance…</h4>
|
||||
<div id="outline-container-orgf2a79d9" class="outline-4">
|
||||
<h4 id="orgf2a79d9"><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-orgb21dfa8" class="outline-2">
|
||||
<h2 id="orgb21dfa8"><span class="section-number-2">6</span> Woodbury 3x3 and 2x2 with Sherman-Morrison and update splitting</h2>
|
||||
<div id="outline-container-org9d7b43e" class="outline-2">
|
||||
<h2 id="org9d7b43e"><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-org1f8cd20" class="outline-3">
|
||||
<h3 id="org1f8cd20"><span class="section-number-3">6.1</span> <code>qmckl_sherman_morrison_smw32s</code></h3>
|
||||
<div id="outline-container-orgc230ea9" class="outline-3">
|
||||
<h3 id="orgc230ea9"><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="orgda28b06" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org431cad5" 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-orgc99b644" class="outline-4">
|
||||
<h4 id="orgc99b644"><span class="section-number-4">6.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org8d1853a" class="outline-4">
|
||||
<h4 id="org8d1853a"><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-orgdecdbcc" class="outline-4">
|
||||
<h4 id="orgdecdbcc"><span class="section-number-4">6.1.2</span> C header</h4>
|
||||
<div id="outline-container-org20f7881" class="outline-4">
|
||||
<h4 id="org20f7881"><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-org0fd2a41" class="outline-4">
|
||||
<h4 id="org0fd2a41"><span class="section-number-4">6.1.3</span> C source</h4>
|
||||
<div id="outline-container-org1156d28" class="outline-4">
|
||||
<h4 id="org1156d28"><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-orgf391bef" class="outline-4">
|
||||
<h4 id="orgf391bef"><span class="section-number-4">6.1.4</span> Performance…</h4>
|
||||
<div id="outline-container-orgdca45ac" class="outline-4">
|
||||
<h4 id="orgdca45ac"><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-orgca3e533" class="outline-2">
|
||||
<h2 id="orgca3e533"><span class="section-number-2">7</span> Helper Functions</h2>
|
||||
<div id="outline-container-org624c8e3" class="outline-2">
|
||||
<h2 id="org624c8e3"><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-org9af7975" class="outline-3">
|
||||
<h3 id="org9af7975"><span class="section-number-3">7.1</span> <code>qmckl_slagel_splitting</code></h3>
|
||||
<div id="outline-container-org317b070" class="outline-3">
|
||||
<h3 id="org317b070"><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="org77ec2d7" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org9269109" 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-org87609cd" class="outline-4">
|
||||
<h4 id="org87609cd"><span class="section-number-4">7.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-orgc770106" class="outline-4">
|
||||
<h4 id="orgc770106"><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-org66cb22d" class="outline-4">
|
||||
<h4 id="org66cb22d"><span class="section-number-4">7.1.2</span> C header</h4>
|
||||
<div id="outline-container-orgb2ad537" class="outline-4">
|
||||
<h4 id="orgb2ad537"><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-orgdfff6b1" class="outline-4">
|
||||
<h4 id="orgdfff6b1"><span class="section-number-4">7.1.3</span> C source</h4>
|
||||
<div id="outline-container-org8d757d3" class="outline-4">
|
||||
<h4 id="org8d757d3"><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-org715c9d8" class="outline-4">
|
||||
<h4 id="org715c9d8"><span class="section-number-4">7.1.4</span> Performance</h4>
|
||||
<div id="outline-container-org210b5ef" class="outline-4">
|
||||
<h4 id="org210b5ef"><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-orgd92e8e5" class="outline-2">
|
||||
<h2 id="orgd92e8e5"><span class="section-number-2">8</span> End of files</h2>
|
||||
<div id="outline-container-orgbfc3998" class="outline-2">
|
||||
<h2 id="orgbfc3998"><span class="section-number-2">8</span> End of files</h2>
|
||||
<div class="outline-text-2" id="text-8">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"> <span style="color: #0000ff;">assert</span> (<span style="color: #228b22;">qmckl_context_destroy</span>(<span style="color: #a0522d;">context</span>) == QMCKL_SUCCESS);
|
||||
@ -1848,7 +1848,7 @@ with Sherman-Morrison and update splitting. Please look at the performance recco
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-02-14 Mon 09:30</p>
|
||||
<p class="date">Created: 2022-02-14 Mon 23:46</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2022-02-14 Mon 09:30 -->
|
||||
<!-- 2022-02-14 Mon 23:46 -->
|
||||
<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="#org247e94d">1. CHBrClF</a>
|
||||
<li><a href="#org0946cfd">1. CHBrClF</a>
|
||||
<ul>
|
||||
<li><a href="#org314b297">1.1. XYZ coordinates</a></li>
|
||||
<li><a href="#orgc55ceb7">1.2. Atomic basis set</a></li>
|
||||
<li><a href="#org8501798">1.3. Molecular orbitals</a></li>
|
||||
<li><a href="#orgfad70ad">1.4. Electron coordinates</a></li>
|
||||
<li><a href="#org2c75916">1.1. XYZ coordinates</a></li>
|
||||
<li><a href="#org79575ef">1.2. Atomic basis set</a></li>
|
||||
<li><a href="#orga2b460b">1.3. Molecular orbitals</a></li>
|
||||
<li><a href="#orgd027b3d">1.4. Electron coordinates</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org5aba89e">2. N2</a>
|
||||
<li><a href="#org6ffff0d">2. N2</a>
|
||||
<ul>
|
||||
<li><a href="#orgffcf523">2.1. XYZ coordinates</a></li>
|
||||
<li><a href="#orgf9c535f">2.2. Electron coordinates</a></li>
|
||||
<li><a href="#org7fe5737">2.3. Jastrow related data</a></li>
|
||||
<li><a href="#org4f02a31">2.1. XYZ coordinates</a></li>
|
||||
<li><a href="#org2929f07">2.2. Electron coordinates</a></li>
|
||||
<li><a href="#orgdf03e57">2.3. Jastrow related data</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org247e94d" class="outline-2">
|
||||
<h2 id="org247e94d"><span class="section-number-2">1</span> CHBrClF</h2>
|
||||
<div id="outline-container-org0946cfd" class="outline-2">
|
||||
<h2 id="org0946cfd"><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-org314b297" class="outline-3">
|
||||
<h3 id="org314b297"><span class="section-number-3">1.1</span> XYZ coordinates</h3>
|
||||
<div id="outline-container-org2c75916" class="outline-3">
|
||||
<h3 id="org2c75916"><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-orgc55ceb7" class="outline-3">
|
||||
<h3 id="orgc55ceb7"><span class="section-number-3">1.2</span> Atomic basis set</h3>
|
||||
<div id="outline-container-org79575ef" class="outline-3">
|
||||
<h3 id="org79575ef"><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-org8501798" class="outline-3">
|
||||
<h3 id="org8501798"><span class="section-number-3">1.3</span> Molecular orbitals</h3>
|
||||
<div id="outline-container-orga2b460b" class="outline-3">
|
||||
<h3 id="orga2b460b"><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-orgfad70ad" class="outline-3">
|
||||
<h3 id="orgfad70ad"><span class="section-number-3">1.4</span> Electron coordinates</h3>
|
||||
<div id="outline-container-orgd027b3d" class="outline-3">
|
||||
<h3 id="orgd027b3d"><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-org5aba89e" class="outline-2">
|
||||
<h2 id="org5aba89e"><span class="section-number-2">2</span> N2</h2>
|
||||
<div id="outline-container-org6ffff0d" class="outline-2">
|
||||
<h2 id="org6ffff0d"><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-orgffcf523" class="outline-3">
|
||||
<h3 id="orgffcf523"><span class="section-number-3">2.1</span> XYZ coordinates</h3>
|
||||
<div id="outline-container-org4f02a31" class="outline-3">
|
||||
<h3 id="org4f02a31"><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-orgf9c535f" class="outline-3">
|
||||
<h3 id="orgf9c535f"><span class="section-number-3">2.2</span> Electron coordinates</h3>
|
||||
<div id="outline-container-org2929f07" class="outline-3">
|
||||
<h3 id="org2929f07"><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-org7fe5737" class="outline-3">
|
||||
<h3 id="org7fe5737"><span class="section-number-3">2.3</span> Jastrow related data</h3>
|
||||
<div id="outline-container-orgdf03e57" class="outline-3">
|
||||
<h3 id="orgdf03e57"><span class="section-number-3">2.3</span> Jastrow related data</h3>
|
||||
<div class="outline-text-3" id="text-2-3">
|
||||
<p>
|
||||
This test is mainly for the Jastrow factor and was supplied by
|
||||
@ -60573,7 +60573,7 @@ Ramon Panades Baruetta.
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="date">Created: 2022-02-14 Mon 09:30</p>
|
||||
<p class="date">Created: 2022-02-14 Mon 23:46</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2022-02-14 Mon 09:30 -->
|
||||
<!-- 2022-02-14 Mon 23:46 -->
|
||||
<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="#org6a6abf1">1. Local functions</a>
|
||||
<li><a href="#org0eff72a">1. Local functions</a>
|
||||
<ul>
|
||||
<li><a href="#org892fc7f">1.1. Open file</a></li>
|
||||
<li><a href="#orga59cba0">1.2. Electron</a></li>
|
||||
<li><a href="#orge09272b">1.3. Nucleus</a>
|
||||
<li><a href="#org5db0723">1.1. Open file</a></li>
|
||||
<li><a href="#org23c324b">1.2. Electron</a></li>
|
||||
<li><a href="#orgc97009a">1.3. Nucleus</a>
|
||||
<ul>
|
||||
<li><a href="#org6aaa64f">1.3.1. Number of nuclei</a></li>
|
||||
<li><a href="#orgbce3567">1.3.2. Nuclear charges</a></li>
|
||||
<li><a href="#orge73aaa8">1.3.3. Nuclear coordinates</a></li>
|
||||
<li><a href="#orga2511f7">1.3.1. Number of nuclei</a></li>
|
||||
<li><a href="#org2f54c80">1.3.2. Nuclear charges</a></li>
|
||||
<li><a href="#org825d0c2">1.3.3. Nuclear coordinates</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgf4c465e">1.4. Basis set and AOs</a>
|
||||
<li><a href="#orgb896bb9">1.4. Basis set and AOs</a>
|
||||
<ul>
|
||||
<li><a href="#org3cbfbe5">1.4.1. Basis set type</a></li>
|
||||
<li><a href="#org6283f98">1.4.2. Number of shells</a></li>
|
||||
<li><a href="#org696f5cd">1.4.3. Number of primitives</a></li>
|
||||
<li><a href="#org7b7c9d8">1.4.4. Number of atomic orbitals</a></li>
|
||||
<li><a href="#orgfbfa272">1.4.5. Nucleus<sub>index</sub> array</a></li>
|
||||
<li><a href="#org175111c">1.4.6. Number of shells per nucleus</a></li>
|
||||
<li><a href="#orgfa5a41d">1.4.7. Angular momentum</a></li>
|
||||
<li><a href="#org8cc1393">1.4.8. Number of primitives per shell</a></li>
|
||||
<li><a href="#org414c8dd">1.4.9. Indices of the primitives</a></li>
|
||||
<li><a href="#org4b942e9">1.4.10. Normalization of the shells</a></li>
|
||||
<li><a href="#orgc06fdbc">1.4.11. Exponents</a></li>
|
||||
<li><a href="#org2164b6d">1.4.12. Coefficients</a></li>
|
||||
<li><a href="#org004fd1e">1.4.13. Normalization of the primitivies</a></li>
|
||||
<li><a href="#org50813be">1.4.14. AO Normalization</a></li>
|
||||
<li><a href="#org23b9458">1.4.1. Basis set type</a></li>
|
||||
<li><a href="#org606a747">1.4.2. Number of shells</a></li>
|
||||
<li><a href="#org09cbaa1">1.4.3. Number of primitives</a></li>
|
||||
<li><a href="#org2ea6e7d">1.4.4. Number of atomic orbitals</a></li>
|
||||
<li><a href="#orgf912f5a">1.4.5. Nucleus<sub>index</sub> array</a></li>
|
||||
<li><a href="#org1641c67">1.4.6. Number of shells per nucleus</a></li>
|
||||
<li><a href="#org3320e47">1.4.7. Angular momentum</a></li>
|
||||
<li><a href="#orgaf131a4">1.4.8. Number of primitives per shell</a></li>
|
||||
<li><a href="#org6e5d88c">1.4.9. Indices of the primitives</a></li>
|
||||
<li><a href="#org7e3bcfd">1.4.10. Normalization of the shells</a></li>
|
||||
<li><a href="#org62167f1">1.4.11. Exponents</a></li>
|
||||
<li><a href="#orgb686524">1.4.12. Coefficients</a></li>
|
||||
<li><a href="#orge6d155c">1.4.13. Normalization of the primitivies</a></li>
|
||||
<li><a href="#org5f453cd">1.4.14. AO Normalization</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orge99ffb3">1.5. Molecular orbitals</a>
|
||||
<li><a href="#org00c9165">1.5. Molecular orbitals</a>
|
||||
<ul>
|
||||
<li><a href="#orgbf8c6ed">1.5.1. Number of MOs</a></li>
|
||||
<li><a href="#org4bcc702">1.5.2. MO coefficients</a></li>
|
||||
<li><a href="#org8f248b6">1.5.1. Number of MOs</a></li>
|
||||
<li><a href="#org92a1662">1.5.2. MO coefficients</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org56b1c07">1.6. <span class="todo TODO">TODO</span> ECP</a></li>
|
||||
<li><a href="#org85dd885">1.6. <span class="todo TODO">TODO</span> ECP</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org2912b4b">2. Read everything</a></li>
|
||||
<li><a href="#orgcfe821e">3. Test</a>
|
||||
<li><a href="#org6506fdb">2. Read everything</a></li>
|
||||
<li><a href="#orgc26cfba">3. Test</a>
|
||||
<ul>
|
||||
<li>
|
||||
<ul>
|
||||
<li><a href="#org387cd0d">3.0.1. Electrons</a></li>
|
||||
<li><a href="#org4d9e584">3.0.2. Nuclei</a></li>
|
||||
<li><a href="#orgcff45bf">3.0.3. Atomic basis</a></li>
|
||||
<li><a href="#org1a89d23">3.0.4. MO Basis</a></li>
|
||||
<li><a href="#org5f4b4dc">3.0.1. Electrons</a></li>
|
||||
<li><a href="#org41cfc94">3.0.2. Nuclei</a></li>
|
||||
<li><a href="#orge3fc5e3">3.0.3. Atomic basis</a></li>
|
||||
<li><a href="#orgd71b7a0">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-org6a6abf1" class="outline-2">
|
||||
<h2 id="org6a6abf1"><span class="section-number-2">1</span> Local functions</h2>
|
||||
<div id="outline-container-org0eff72a" class="outline-2">
|
||||
<h2 id="org0eff72a"><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-org892fc7f" class="outline-3">
|
||||
<h3 id="org892fc7f"><span class="section-number-3">1.1</span> Open file</h3>
|
||||
<div id="outline-container-org5db0723" class="outline-3">
|
||||
<h3 id="org5db0723"><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-orga59cba0" class="outline-3">
|
||||
<h3 id="orga59cba0"><span class="section-number-3">1.2</span> Electron</h3>
|
||||
<div id="outline-container-org23c324b" class="outline-3">
|
||||
<h3 id="org23c324b"><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-orge09272b" class="outline-3">
|
||||
<h3 id="orge09272b"><span class="section-number-3">1.3</span> Nucleus</h3>
|
||||
<div id="outline-container-orgc97009a" class="outline-3">
|
||||
<h3 id="orgc97009a"><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-org6aaa64f" class="outline-4">
|
||||
<h4 id="org6aaa64f"><span class="section-number-4">1.3.1</span> Number of nuclei</h4>
|
||||
<div id="outline-container-orga2511f7" class="outline-4">
|
||||
<h4 id="orga2511f7"><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-orgbce3567" class="outline-4">
|
||||
<h4 id="orgbce3567"><span class="section-number-4">1.3.2</span> Nuclear charges</h4>
|
||||
<div id="outline-container-org2f54c80" class="outline-4">
|
||||
<h4 id="org2f54c80"><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-orge73aaa8" class="outline-4">
|
||||
<h4 id="orge73aaa8"><span class="section-number-4">1.3.3</span> Nuclear coordinates</h4>
|
||||
<div id="outline-container-org825d0c2" class="outline-4">
|
||||
<h4 id="org825d0c2"><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-orgf4c465e" class="outline-3">
|
||||
<h3 id="orgf4c465e"><span class="section-number-3">1.4</span> Basis set and AOs</h3>
|
||||
<div id="outline-container-orgb896bb9" class="outline-3">
|
||||
<h3 id="orgb896bb9"><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-org3cbfbe5" class="outline-4">
|
||||
<h4 id="org3cbfbe5"><span class="section-number-4">1.4.1</span> Basis set type</h4>
|
||||
<div id="outline-container-org23b9458" class="outline-4">
|
||||
<h4 id="org23b9458"><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-org6283f98" class="outline-4">
|
||||
<h4 id="org6283f98"><span class="section-number-4">1.4.2</span> Number of shells</h4>
|
||||
<div id="outline-container-org606a747" class="outline-4">
|
||||
<h4 id="org606a747"><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-org696f5cd" class="outline-4">
|
||||
<h4 id="org696f5cd"><span class="section-number-4">1.4.3</span> Number of primitives</h4>
|
||||
<div id="outline-container-org09cbaa1" class="outline-4">
|
||||
<h4 id="org09cbaa1"><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-org7b7c9d8" class="outline-4">
|
||||
<h4 id="org7b7c9d8"><span class="section-number-4">1.4.4</span> Number of atomic orbitals</h4>
|
||||
<div id="outline-container-org2ea6e7d" class="outline-4">
|
||||
<h4 id="org2ea6e7d"><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-orgfbfa272" class="outline-4">
|
||||
<h4 id="orgfbfa272"><span class="section-number-4">1.4.5</span> Nucleus<sub>index</sub> array</h4>
|
||||
<div id="outline-container-orgf912f5a" class="outline-4">
|
||||
<h4 id="orgf912f5a"><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-org175111c" class="outline-4">
|
||||
<h4 id="org175111c"><span class="section-number-4">1.4.6</span> Number of shells per nucleus</h4>
|
||||
<div id="outline-container-org1641c67" class="outline-4">
|
||||
<h4 id="org1641c67"><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-orgfa5a41d" class="outline-4">
|
||||
<h4 id="orgfa5a41d"><span class="section-number-4">1.4.7</span> Angular momentum</h4>
|
||||
<div id="outline-container-org3320e47" class="outline-4">
|
||||
<h4 id="org3320e47"><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-org8cc1393" class="outline-4">
|
||||
<h4 id="org8cc1393"><span class="section-number-4">1.4.8</span> Number of primitives per shell</h4>
|
||||
<div id="outline-container-orgaf131a4" class="outline-4">
|
||||
<h4 id="orgaf131a4"><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-org414c8dd" class="outline-4">
|
||||
<h4 id="org414c8dd"><span class="section-number-4">1.4.9</span> Indices of the primitives</h4>
|
||||
<div id="outline-container-org6e5d88c" class="outline-4">
|
||||
<h4 id="org6e5d88c"><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-org4b942e9" class="outline-4">
|
||||
<h4 id="org4b942e9"><span class="section-number-4">1.4.10</span> Normalization of the shells</h4>
|
||||
<div id="outline-container-org7e3bcfd" class="outline-4">
|
||||
<h4 id="org7e3bcfd"><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-orgc06fdbc" class="outline-4">
|
||||
<h4 id="orgc06fdbc"><span class="section-number-4">1.4.11</span> Exponents</h4>
|
||||
<div id="outline-container-org62167f1" class="outline-4">
|
||||
<h4 id="org62167f1"><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-org2164b6d" class="outline-4">
|
||||
<h4 id="org2164b6d"><span class="section-number-4">1.4.12</span> Coefficients</h4>
|
||||
<div id="outline-container-orgb686524" class="outline-4">
|
||||
<h4 id="orgb686524"><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-org004fd1e" class="outline-4">
|
||||
<h4 id="org004fd1e"><span class="section-number-4">1.4.13</span> Normalization of the primitivies</h4>
|
||||
<div id="outline-container-orge6d155c" class="outline-4">
|
||||
<h4 id="orge6d155c"><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-org50813be" class="outline-4">
|
||||
<h4 id="org50813be"><span class="section-number-4">1.4.14</span> AO Normalization</h4>
|
||||
<div id="outline-container-org5f453cd" class="outline-4">
|
||||
<h4 id="org5f453cd"><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-orge99ffb3" class="outline-3">
|
||||
<h3 id="orge99ffb3"><span class="section-number-3">1.5</span> Molecular orbitals</h3>
|
||||
<div id="outline-container-org00c9165" class="outline-3">
|
||||
<h3 id="org00c9165"><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-orgbf8c6ed" class="outline-4">
|
||||
<h4 id="orgbf8c6ed"><span class="section-number-4">1.5.1</span> Number of MOs</h4>
|
||||
<div id="outline-container-org8f248b6" class="outline-4">
|
||||
<h4 id="org8f248b6"><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-org4bcc702" class="outline-4">
|
||||
<h4 id="org4bcc702"><span class="section-number-4">1.5.2</span> MO coefficients</h4>
|
||||
<div id="outline-container-org92a1662" class="outline-4">
|
||||
<h4 id="org92a1662"><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-org56b1c07" class="outline-3">
|
||||
<h3 id="org56b1c07"><span class="section-number-3">1.6</span> <span class="todo TODO">TODO</span> ECP</h3>
|
||||
<div id="outline-container-org85dd885" class="outline-3">
|
||||
<h3 id="org85dd885"><span class="section-number-3">1.6</span> <span class="todo TODO">TODO</span> ECP</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org2912b4b" class="outline-2">
|
||||
<h2 id="org2912b4b"><span class="section-number-2">2</span> Read everything</h2>
|
||||
<div id="outline-container-org6506fdb" class="outline-2">
|
||||
<h2 id="org6506fdb"><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-orgcfe821e" class="outline-2">
|
||||
<h2 id="orgcfe821e"><span class="section-number-2">3</span> Test</h2>
|
||||
<div id="outline-container-orgc26cfba" class="outline-2">
|
||||
<h2 id="orgc26cfba"><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-org387cd0d" class="outline-4">
|
||||
<h4 id="org387cd0d"><span class="section-number-4">3.0.1</span> Electrons</h4>
|
||||
<div id="outline-container-org5f4b4dc" class="outline-4">
|
||||
<h4 id="org5f4b4dc"><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-org4d9e584" class="outline-4">
|
||||
<h4 id="org4d9e584"><span class="section-number-4">3.0.2</span> Nuclei</h4>
|
||||
<div id="outline-container-org41cfc94" class="outline-4">
|
||||
<h4 id="org41cfc94"><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-orgcff45bf" class="outline-4">
|
||||
<h4 id="orgcff45bf"><span class="section-number-4">3.0.3</span> Atomic basis</h4>
|
||||
<div id="outline-container-orge3fc5e3" class="outline-4">
|
||||
<h4 id="orge3fc5e3"><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-org1a89d23" class="outline-4">
|
||||
<h4 id="org1a89d23"><span class="section-number-4">3.0.4</span> MO Basis</h4>
|
||||
<div id="outline-container-orgd71b7a0" class="outline-4">
|
||||
<h4 id="orgd71b7a0"><span class="section-number-4">3.0.4</span> MO Basis</h4>
|
||||
<div class="outline-text-4" id="text-3-0-4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">printf(<span style="color: #8b2252;">"MOs\n"</span>);
|
||||
@ -1794,7 +1794,7 @@ charge = <span style="color: #008b8b;">NULL</span>;
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-02-14 Mon 09:30</p>
|
||||
<p class="date">Created: 2022-02-14 Mon 23:46</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2022-02-14 Mon 09:30 -->
|
||||
<!-- 2022-02-14 Mon 23:46 -->
|
||||
<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="#org864a0d9">1. Verificarlo probes</a>
|
||||
<li><a href="#orga13837a">1. Verificarlo probes</a>
|
||||
<ul>
|
||||
<li><a href="#org386f442">1.1. Automatically initialize the <code>vfc_probe</code> object if <code>VFC_CI</code> is defined</a></li>
|
||||
<li><a href="#org631c776">1.2. Standard probe, without check</a></li>
|
||||
<li><a href="#org00c2860">1.3. Probe with absolute check</a></li>
|
||||
<li><a href="#org7693318">1.4. Probe with relative check</a></li>
|
||||
<li><a href="#orgf4cc166">1.5. Automatically delete and dump the vfc<sub>probe</sub> object if <code>VFC_CI</code> is defined</a></li>
|
||||
<li><a href="#org5acb49e">1.1. Automatically initialize the <code>vfc_probe</code> object if <code>VFC_CI</code> is defined</a></li>
|
||||
<li><a href="#org632eb72">1.2. Standard probe, without check</a></li>
|
||||
<li><a href="#org3a3209a">1.3. Probe with absolute check</a></li>
|
||||
<li><a href="#orgc79676c">1.4. Probe with relative check</a></li>
|
||||
<li><a href="#org2d8e89d">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="#orgd79f2ab">2. Fortran wrappers</a></li>
|
||||
<li><a href="#orgd5fa35d">2. Fortran wrappers</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org864a0d9" class="outline-2">
|
||||
<h2 id="org864a0d9"><span class="section-number-2">1</span> Verificarlo probes</h2>
|
||||
<div id="outline-container-orga13837a" class="outline-2">
|
||||
<h2 id="orga13837a"><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-org386f442" class="outline-3">
|
||||
<h3 id="org386f442"><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-org5acb49e" class="outline-3">
|
||||
<h3 id="org5acb49e"><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-org631c776" class="outline-3">
|
||||
<h3 id="org631c776"><span class="section-number-3">1.2</span> Standard probe, without check</h3>
|
||||
<div id="outline-container-org632eb72" class="outline-3">
|
||||
<h3 id="org632eb72"><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-org00c2860" class="outline-3">
|
||||
<h3 id="org00c2860"><span class="section-number-3">1.3</span> Probe with absolute check</h3>
|
||||
<div id="outline-container-org3a3209a" class="outline-3">
|
||||
<h3 id="org3a3209a"><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-org7693318" class="outline-3">
|
||||
<h3 id="org7693318"><span class="section-number-3">1.4</span> Probe with relative check</h3>
|
||||
<div id="outline-container-orgc79676c" class="outline-3">
|
||||
<h3 id="orgc79676c"><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-orgf4cc166" class="outline-3">
|
||||
<h3 id="orgf4cc166"><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-org2d8e89d" class="outline-3">
|
||||
<h3 id="org2d8e89d"><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-orgd79f2ab" class="outline-2">
|
||||
<h2 id="orgd79f2ab"><span class="section-number-2">2</span> Fortran wrappers</h2>
|
||||
<div id="outline-container-orgd5fa35d" class="outline-2">
|
||||
<h2 id="orgd5fa35d"><span class="section-number-2">2</span> Fortran wrappers</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">bool</span> <span style="color: #0000ff;">qmckl_probe_f</span>(
|
||||
@ -663,7 +663,7 @@ and accuracy
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-02-14 Mon 09:30</p>
|
||||
<p class="date">Created: 2022-02-14 Mon 23:46</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
Loading…
Reference in New Issue
Block a user