1
0
mirror of https://github.com/TREX-CoE/trexio.git synced 2025-01-12 22:18:35 +01:00

Deploying to gh-pages from @ TREX-CoE/trexio@37315d54f0 🚀

This commit is contained in:
q-posev 2021-11-01 10:44:06 +00:00
parent 21272260de
commit 56e8d15cbd
7 changed files with 342 additions and 342 deletions

View File

@ -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>
<!-- 2021-10-26 Tue 08:36 -->
<!-- 2021-11-01 Mon 10:44 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>TREXIO source code documentation</title>
@ -343,7 +343,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: 2021-10-26 Tue 08:36</p>
<p class="date">Created: 2021-11-01 Mon 10:44</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>

View File

@ -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>
<!-- 2021-10-26 Tue 08:36 -->
<!-- 2021-11-01 Mon 10:44 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>&lrm;</title>
@ -232,8 +232,8 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#orgf37ce9d">1. Text back end</a></li>
<li><a href="#orgf202d04">2. HDF5 Back end</a></li>
<li><a href="#org909961f">1. Text back end</a></li>
<li><a href="#orga9ab817">2. HDF5 Back end</a></li>
</ul>
</div>
</div>
@ -241,8 +241,8 @@ for the JavaScript code in this tag.
See templator<sub>front.org</sub>
</p>
<div id="outline-container-orgf37ce9d" class="outline-2">
<h2 id="orgf37ce9d"><span class="section-number-2">1</span> Text back end</h2>
<div id="outline-container-org909961f" class="outline-2">
<h2 id="org909961f"><span class="section-number-2">1</span> Text back end</h2>
<div class="outline-text-2" id="text-1">
<p>
As the size of the dataset should be extensible, the simplest
@ -256,8 +256,8 @@ The offset can be used with <code>fseek(69L*offset, SEEK_SET)</code>
</div>
</div>
<div id="outline-container-orgf202d04" class="outline-2">
<h2 id="orgf202d04"><span class="section-number-2">2</span> HDF5 Back end</h2>
<div id="outline-container-orga9ab817" class="outline-2">
<h2 id="orga9ab817"><span class="section-number-2">2</span> HDF5 Back end</h2>
<div class="outline-text-2" id="text-2">
<p>
We need to declare the number of rows of the dataset as
@ -278,7 +278,7 @@ If the offset+num &gt; nmax, we need to extend the dataset.
</div>
</div>
<div id="postamble" class="status">
<p class="date">Created: 2021-10-26 Tue 08:36</p>
<p class="date">Created: 2021-11-01 Mon 10:44</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>

View File

@ -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>
<!-- 2021-10-26 Tue 08:36 -->
<!-- 2021-11-01 Mon 10:44 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>TREXIO source code documentation</title>
@ -343,7 +343,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: 2021-10-26 Tue 08:36</p>
<p class="date">Created: 2021-11-01 Mon 10:44</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>

View File

@ -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>
<!-- 2021-10-26 Tue 08:36 -->
<!-- 2021-11-01 Mon 10:43 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Front end API</title>
@ -333,125 +333,125 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#org2c82299">1. Coding conventions</a>
<li><a href="#org057f720">1. Coding conventions</a>
<ul>
<li><a href="#org8687558">1.1. Memory allocation</a></li>
<li><a href="#orgde4865e">1.1. Memory allocation</a></li>
</ul>
</li>
<li><a href="#org544ff99">2. Front end</a>
<li><a href="#org72bc630">2. Front end</a>
<ul>
<li><a href="#org9b1be97">2.1. Error handling</a>
<li><a href="#orgf0f5b88">2.1. Error handling</a>
<ul>
<li><a href="#org709effb">2.1.1. Decoding errors</a>
<li><a href="#orge929e19">2.1.1. Decoding errors</a>
<ul>
<li><a href="#org507f843">2.1.1.1. C source code</a></li>
<li><a href="#org329f883">2.1.1.2. Fortran interface</a></li>
<li><a href="#orgce31d9c">2.1.1.3. Python interface</a></li>
<li><a href="#orgf706637">2.1.1.1. C source code</a></li>
<li><a href="#org1e7038d">2.1.1.2. Fortran interface</a></li>
<li><a href="#orge5379ff">2.1.1.3. Python interface</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#org4169c81">2.2. Back ends</a>
<li><a href="#org104e181">2.2. Back ends</a>
<ul>
<li><a href="#orga1eb677">2.2.1. C</a></li>
<li><a href="#orgf101244">2.2.2. Fortran</a></li>
<li><a href="#org80c19b6">2.2.3. Python</a></li>
<li><a href="#orgc76ef02">2.2.1. C</a></li>
<li><a href="#org97ba550">2.2.2. Fortran</a></li>
<li><a href="#org304da5c">2.2.3. Python</a></li>
</ul>
</li>
<li><a href="#org99ed52a">2.3. Read/write behavior</a></li>
<li><a href="#org56fb4f6">2.4. TREXIO file type</a>
<li><a href="#org46fb05d">2.3. Read/write behavior</a></li>
<li><a href="#orga17dd26">2.4. TREXIO file type</a>
<ul>
<li><a href="#org038d840">2.4.1. TREXIO<sub>File</sub> Python class</a></li>
<li><a href="#org7ee93be">2.4.1. TREXIO<sub>File</sub> Python class</a></li>
</ul>
</li>
<li><a href="#org32f34e3">2.5. Polymorphism of the file handle</a></li>
<li><a href="#orgdc267f3">2.6. File opening</a>
<li><a href="#org8fd99fc">2.5. Polymorphism of the file handle</a></li>
<li><a href="#org7fbf3e8">2.6. File opening</a>
<ul>
<li><a href="#org2dca2b4">2.6.1. C</a></li>
<li><a href="#orgf7d9198">2.6.2. Fortran</a></li>
<li><a href="#orga616f86">2.6.3. Python</a></li>
<li><a href="#orgff6bfcd">2.6.4. Zero-based versus one-based arrays of indices</a></li>
<li><a href="#org46675bc">2.6.1. C</a></li>
<li><a href="#org4854cab">2.6.2. Fortran</a></li>
<li><a href="#org09fc218">2.6.3. Python</a></li>
<li><a href="#org312adc9">2.6.4. Zero-based versus one-based arrays of indices</a></li>
</ul>
</li>
<li><a href="#org07f9895">2.7. File closing</a>
<li><a href="#org150a386">2.7. File closing</a>
<ul>
<li><a href="#orga619841">2.7.1. C</a></li>
<li><a href="#orgdafe1bc">2.7.2. Fortran</a></li>
<li><a href="#org16425fe">2.7.3. Python</a></li>
<li><a href="#orgc3a1762">2.7.1. C</a></li>
<li><a href="#org27609e3">2.7.2. Fortran</a></li>
<li><a href="#orgf694e8e">2.7.3. Python</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#org8939267">3. Templates for front end</a>
<li><a href="#org4bfb1dd">3. Templates for front end</a>
<ul>
<li><a href="#org37ae13c">3.1. Description</a></li>
<li><a href="#org1dcb9fb">3.2. Templates for front end has/read/write a single numerical attribute</a>
<li><a href="#org4d6321b">3.1. Description</a></li>
<li><a href="#org0bf15c4">3.2. Templates for front end has/read/write a single numerical attribute</a>
<ul>
<li><a href="#orgae1454d">3.2.1. Introduction</a></li>
<li><a href="#org62302d3">3.2.2. C templates for front end</a>
<li><a href="#org4b97b2b">3.2.1. Introduction</a></li>
<li><a href="#org7f5f5f8">3.2.2. C templates for front end</a>
<ul>
<li><a href="#org7bccf8d">3.2.2.1. Function declarations</a></li>
<li><a href="#orga9d4866">3.2.2.2. Source code for double precision functions</a></li>
<li><a href="#org8193049">3.2.2.3. Source code for single precision functions</a></li>
<li><a href="#orgbe1ef79">3.2.2.4. Source code for default functions</a></li>
<li><a href="#org2fde3a5">3.2.2.1. Function declarations</a></li>
<li><a href="#org0353121">3.2.2.2. Source code for double precision functions</a></li>
<li><a href="#orgba1ba1b">3.2.2.3. Source code for single precision functions</a></li>
<li><a href="#orgb35b360">3.2.2.4. Source code for default functions</a></li>
</ul>
</li>
<li><a href="#org4050675">3.2.3. Fortran templates for front end</a></li>
<li><a href="#orgf5abefc">3.2.4. Python templates for front end</a></li>
<li><a href="#org27b531d">3.2.3. Fortran templates for front end</a></li>
<li><a href="#orgd65ea43">3.2.4. Python templates for front end</a></li>
</ul>
</li>
<li><a href="#org1e7164c">3.3. Templates for front end has/read/write a dataset of numerical data</a>
<li><a href="#org7147314">3.3. Templates for front end has/read/write a dataset of numerical data</a>
<ul>
<li><a href="#org57d0527">3.3.1. Introduction</a></li>
<li><a href="#org7dcfbd5">3.3.2. C templates for front end</a>
<li><a href="#org2fd273f">3.3.1. Introduction</a></li>
<li><a href="#orgc286a29">3.3.2. C templates for front end</a>
<ul>
<li><a href="#orgceb9ee3">3.3.2.1. Function declarations</a></li>
<li><a href="#org975014f">3.3.2.2. Source code for double precision functions</a></li>
<li><a href="#org87b1037">3.3.2.3. Source code for single precision functions</a></li>
<li><a href="#org1740981">3.3.2.4. Source code for memory-safe functions</a></li>
<li><a href="#org5840d39">3.3.2.5. Source code for default functions</a></li>
<li><a href="#orgc4f7e09">3.3.2.1. Function declarations</a></li>
<li><a href="#orgd485300">3.3.2.2. Source code for double precision functions</a></li>
<li><a href="#org15d1bf6">3.3.2.3. Source code for single precision functions</a></li>
<li><a href="#orgc647e52">3.3.2.4. Source code for memory-safe functions</a></li>
<li><a href="#orgc1e76bd">3.3.2.5. Source code for default functions</a></li>
</ul>
</li>
<li><a href="#org7825d5a">3.3.3. Fortran templates for front end</a></li>
<li><a href="#orgf935d5e">3.3.4. Python templates for front end</a></li>
<li><a href="#orgf949e36">3.3.3. Fortran templates for front end</a></li>
<li><a href="#orga833b6d">3.3.4. Python templates for front end</a></li>
</ul>
</li>
<li><a href="#org5d85e90">3.4. Sparse data structures</a></li>
<li><a href="#orgdbcb0c1">3.5. Templates for front end has/read/write a dataset of strings</a>
<li><a href="#org2be74a9">3.4. Sparse data structures</a></li>
<li><a href="#orgbab14a5">3.5. Templates for front end has/read/write a dataset of strings</a>
<ul>
<li><a href="#org4f8da7c">3.5.1. Introduction</a></li>
<li><a href="#org5ffc077">3.5.2. C templates for front end</a>
<li><a href="#orgee987d4">3.5.1. Introduction</a></li>
<li><a href="#orgb98063f">3.5.2. C templates for front end</a>
<ul>
<li><a href="#orge05cd2e">3.5.2.1. Function declarations</a></li>
<li><a href="#org4d9cfef">3.5.2.2. Source code for default functions</a></li>
<li><a href="#org8ca88cc">3.5.2.1. Function declarations</a></li>
<li><a href="#org41ab21a">3.5.2.2. Source code for default functions</a></li>
</ul>
</li>
<li><a href="#orgf2cf1c0">3.5.3. Fortran templates for front end</a></li>
<li><a href="#org043e204">3.5.4. Python templates for front end</a></li>
<li><a href="#org4b7882a">3.5.3. Fortran templates for front end</a></li>
<li><a href="#orgf327af9">3.5.4. Python templates for front end</a></li>
</ul>
</li>
<li><a href="#org94c1338">3.6. Templates for front end has/read/write a single string attribute</a>
<li><a href="#org46c95b9">3.6. Templates for front end has/read/write a single string attribute</a>
<ul>
<li><a href="#orgd91cf49">3.6.1. Introduction</a></li>
<li><a href="#orgfcb7f95">3.6.2. C templates for front end</a>
<li><a href="#org456c1af">3.6.1. Introduction</a></li>
<li><a href="#org8145d26">3.6.2. C templates for front end</a>
<ul>
<li><a href="#org5dbbb1a">3.6.2.1. Function declarations</a></li>
<li><a href="#org30dcb7a">3.6.2.2. Source code for default functions</a></li>
<li><a href="#org43e043c">3.6.2.1. Function declarations</a></li>
<li><a href="#orgda56f67">3.6.2.2. Source code for default functions</a></li>
</ul>
</li>
<li><a href="#orgc126219">3.6.3. Fortran templates for front end</a></li>
<li><a href="#org76975aa">3.6.4. Python templates for front end</a></li>
<li><a href="#org6fe9181">3.6.3. Fortran templates for front end</a></li>
<li><a href="#org440e49a">3.6.4. Python templates for front end</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#orgc4ef787">4. Fortran helper/wrapper functions</a></li>
<li><a href="#org39df776">4. Fortran helper/wrapper functions</a></li>
</ul>
</div>
</div>
<div id="outline-container-org2c82299" class="outline-2">
<h2 id="org2c82299"><span class="section-number-2">1</span> Coding conventions</h2>
<div id="outline-container-org057f720" class="outline-2">
<h2 id="org057f720"><span class="section-number-2">1</span> Coding conventions</h2>
<div class="outline-text-2" id="text-1">
<ul class="org-ul">
<li>integer types will be defined using types given in <code>stdint.h</code></li>
@ -466,8 +466,8 @@ for the JavaScript code in this tag.
</ul>
</div>
<div id="outline-container-org8687558" class="outline-3">
<h3 id="org8687558"><span class="section-number-3">1.1</span> Memory allocation</h3>
<div id="outline-container-orgde4865e" class="outline-3">
<h3 id="orgde4865e"><span class="section-number-3">1.1</span> Memory allocation</h3>
<div class="outline-text-3" id="text-1-1">
<p>
Memory allocation of structures can be facilitated by using the
@ -502,8 +502,8 @@ The maximum string size for the filenames is 4096 characters.
</div>
</div>
<div id="outline-container-org544ff99" class="outline-2">
<h2 id="org544ff99"><span class="section-number-2">2</span> Front end</h2>
<div id="outline-container-org72bc630" class="outline-2">
<h2 id="org72bc630"><span class="section-number-2">2</span> Front end</h2>
<div class="outline-text-2" id="text-2">
<p>
All calls to TREXIO are thread-safe.
@ -511,10 +511,10 @@ TREXIO front end is modular, which simplifies implementation of new back ends.
</p>
</div>
<div id="outline-container-org9b1be97" class="outline-3">
<h3 id="org9b1be97"><span class="section-number-3">2.1</span> Error handling</h3>
<div id="outline-container-orgf0f5b88" class="outline-3">
<h3 id="orgf0f5b88"><span class="section-number-3">2.1</span> Error handling</h3>
<div class="outline-text-3" id="text-2-1">
<table id="org18dae8c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org7e378b7" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -736,8 +736,8 @@ TREXIO front end is modular, which simplifies implementation of new back ends.
</div>
</div>
<div id="outline-container-org709effb" class="outline-4">
<h4 id="org709effb"><span class="section-number-4">2.1.1</span> Decoding errors</h4>
<div id="outline-container-orge929e19" class="outline-4">
<h4 id="orge929e19"><span class="section-number-4">2.1.1</span> Decoding errors</h4>
<div class="outline-text-4" id="text-2-1-1">
<p>
The <code>trexio_string_of_error</code> converts an exit code into a string. The
@ -760,8 +760,8 @@ The text strings are extracted from the previous table.
</p>
</div>
<div id="outline-container-org507f843" class="outline-5">
<h5 id="org507f843"><span class="section-number-5">2.1.1.1</span> C source code</h5>
<div id="outline-container-orgf706637" class="outline-5">
<h5 id="orgf706637"><span class="section-number-5">2.1.1.1</span> C source code</h5>
<div class="outline-text-5" id="text-2-1-1-1">
<div class="org-src-container">
<pre class="src src-c"><span style="color: #a020f0;">const</span> <span style="color: #228b22;">char</span>*
@ -866,8 +866,8 @@ The text strings are extracted from the previous table.
</div>
</div>
<div id="outline-container-org329f883" class="outline-5">
<h5 id="org329f883"><span class="section-number-5">2.1.1.2</span> Fortran interface</h5>
<div id="outline-container-org1e7038d" class="outline-5">
<h5 id="org1e7038d"><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>
@ -883,8 +883,8 @@ The text strings are extracted from the previous table.
</div>
</div>
<div id="outline-container-orgce31d9c" class="outline-5">
<h5 id="orgce31d9c"><span class="section-number-5">2.1.1.3</span> Python interface</h5>
<div id="outline-container-orge5379ff" class="outline-5">
<h5 id="orge5379ff"><span class="section-number-5">2.1.1.3</span> Python interface</h5>
<div class="outline-text-5" id="text-2-1-1-3">
<div class="org-src-container">
<pre class="src src-python"><span style="color: #a020f0;">class</span> <span style="color: #228b22;">Error</span>(<span style="color: #228b22;">Exception</span>):
@ -923,8 +923,8 @@ The text strings are extracted from the previous table.
</div>
</div>
<div id="outline-container-org4169c81" class="outline-3">
<h3 id="org4169c81"><span class="section-number-3">2.2</span> Back ends</h3>
<div id="outline-container-org104e181" class="outline-3">
<h3 id="org104e181"><span class="section-number-3">2.2</span> Back ends</h3>
<div class="outline-text-3" id="text-2-2">
<p>
TREXIO has several back ends:
@ -948,8 +948,8 @@ lines that correspond to the <code>TREXIO_JSON</code> back end (not implemented
</p>
</div>
<div id="outline-container-orga1eb677" class="outline-4">
<h4 id="orga1eb677"><span class="section-number-4">2.2.1</span> C</h4>
<div id="outline-container-orgc76ef02" class="outline-4">
<h4 id="orgc76ef02"><span class="section-number-4">2.2.1</span> C</h4>
<div class="outline-text-4" id="text-2-2-1">
<div class="org-src-container">
<pre class="src src-c"><span style="color: #a020f0;">typedef</span> <span style="color: #228b22;">int32_t</span> <span style="color: #228b22;">back_end_t</span>;
@ -965,8 +965,8 @@ lines that correspond to the <code>TREXIO_JSON</code> back end (not implemented
</div>
</div>
<div id="outline-container-orgf101244" class="outline-4">
<h4 id="orgf101244"><span class="section-number-4">2.2.2</span> Fortran</h4>
<div id="outline-container-org97ba550" class="outline-4">
<h4 id="org97ba550"><span class="section-number-4">2.2.2</span> Fortran</h4>
<div class="outline-text-4" id="text-2-2-2">
<div class="org-src-container">
<pre class="src src-f90"> <span style="color: #228b22;">integer</span>(trexio_backend), <span style="color: #a020f0;">parameter</span> ::<span style="color: #a0522d;"> TREXIO_HDF5 = 0</span>
@ -978,8 +978,8 @@ lines that correspond to the <code>TREXIO_JSON</code> back end (not implemented
</div>
</div>
<div id="outline-container-org80c19b6" class="outline-4">
<h4 id="org80c19b6"><span class="section-number-4">2.2.3</span> Python</h4>
<div id="outline-container-org304da5c" class="outline-4">
<h4 id="org304da5c"><span class="section-number-4">2.2.3</span> Python</h4>
<div class="outline-text-4" id="text-2-2-3">
<div class="org-src-container">
<pre class="src src-python"># <span style="color: #b22222;">define TREXIO back ends</span>
@ -993,8 +993,8 @@ lines that correspond to the <code>TREXIO_JSON</code> back end (not implemented
</div>
</div>
<div id="outline-container-org99ed52a" class="outline-3">
<h3 id="org99ed52a"><span class="section-number-3">2.3</span> Read/write behavior</h3>
<div id="outline-container-org46fb05d" class="outline-3">
<h3 id="org46fb05d"><span class="section-number-3">2.3</span> Read/write behavior</h3>
<div class="outline-text-3" id="text-2-3">
<p>
Every time a reading function is called, the data is read from the
@ -1022,8 +1022,8 @@ concurrent programs, the behavior is not specified.
</p>
</div>
</div>
<div id="outline-container-org56fb4f6" class="outline-3">
<h3 id="org56fb4f6"><span class="section-number-3">2.4</span> TREXIO file type</h3>
<div id="outline-container-orga17dd26" class="outline-3">
<h3 id="orga17dd26"><span class="section-number-3">2.4</span> TREXIO file type</h3>
<div class="outline-text-3" id="text-2-4">
<p>
<code>trexio_s</code> is the the main type for TREXIO files, visible to the users
@ -1057,8 +1057,8 @@ TREXIO files will have as a first argument the TREXIO file handle.
</div>
</div>
<div id="outline-container-org038d840" class="outline-4">
<h4 id="org038d840"><span class="section-number-4">2.4.1</span> TREXIO<sub>File</sub> Python class</h4>
<div id="outline-container-org7ee93be" class="outline-4">
<h4 id="org7ee93be"><span class="section-number-4">2.4.1</span> TREXIO<sub>File</sub> Python class</h4>
<div class="outline-text-4" id="text-2-4-1">
<div class="org-src-container">
<pre class="src src-python"><span style="color: #a020f0;">class</span> <span style="color: #228b22;">File</span>:
@ -1131,8 +1131,8 @@ TREXIO files will have as a first argument the TREXIO file handle.
</div>
</div>
<div id="outline-container-org32f34e3" class="outline-3">
<h3 id="org32f34e3"><span class="section-number-3">2.5</span> Polymorphism of the file handle</h3>
<div id="outline-container-org8fd99fc" class="outline-3">
<h3 id="org8fd99fc"><span class="section-number-3">2.5</span> Polymorphism of the file handle</h3>
<div class="outline-text-3" id="text-2-5">
<p>
Polymorphism of the <code>trexio_t</code> type is handled by ensuring that the
@ -1151,8 +1151,8 @@ corresponding types for all back ends can be safely casted to
</div>
</div>
<div id="outline-container-orgdc267f3" class="outline-3">
<h3 id="orgdc267f3"><span class="section-number-3">2.6</span> File opening</h3>
<div id="outline-container-org7fbf3e8" class="outline-3">
<h3 id="org7fbf3e8"><span class="section-number-3">2.6</span> File opening</h3>
<div class="outline-text-3" id="text-2-6">
<p>
<code>trexio_open</code> creates a new TREXIO file or opens existing one.
@ -1191,8 +1191,8 @@ renaming the <code>.txt</code> data files.
</p>
</div>
<div id="outline-container-org2dca2b4" class="outline-4">
<h4 id="org2dca2b4"><span class="section-number-4">2.6.1</span> C</h4>
<div id="outline-container-org46675bc" class="outline-4">
<h4 id="org46675bc"><span class="section-number-4">2.6.1</span> C</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;">trexio_t</span>*
@ -1359,8 +1359,8 @@ renaming the <code>.txt</code> data files.
</div>
</div>
<div id="outline-container-orgf7d9198" class="outline-4">
<h4 id="orgf7d9198"><span class="section-number-4">2.6.2</span> Fortran</h4>
<div id="outline-container-org4854cab" class="outline-4">
<h4 id="org4854cab"><span class="section-number-4">2.6.2</span> Fortran</h4>
<div class="outline-text-4" id="text-2-6-2">
<div class="org-src-container">
<pre class="src src-f90"><span style="color: #a020f0;">interface</span>
@ -1378,8 +1378,8 @@ renaming the <code>.txt</code> data files.
</div>
</div>
<div id="outline-container-orga616f86" class="outline-4">
<h4 id="orga616f86"><span class="section-number-4">2.6.3</span> Python</h4>
<div id="outline-container-org09fc218" class="outline-4">
<h4 id="org09fc218"><span class="section-number-4">2.6.3</span> Python</h4>
<div class="outline-text-4" id="text-2-6-3">
<div class="org-src-container">
<pre class="src src-python"><span style="color: #a020f0;">def</span> <span style="color: #0000ff;">open</span>(file_name: <span style="color: #483d8b;">str</span>, mode: <span style="color: #483d8b;">str</span>, back_end: <span style="color: #483d8b;">int</span>):
@ -1427,8 +1427,8 @@ renaming the <code>.txt</code> data files.
</div>
</div>
<div id="outline-container-orgff6bfcd" class="outline-4">
<h4 id="orgff6bfcd"><span class="section-number-4">2.6.4</span> Zero-based versus one-based arrays of indices</h4>
<div id="outline-container-org312adc9" class="outline-4">
<h4 id="org312adc9"><span class="section-number-4">2.6.4</span> Zero-based versus one-based arrays of indices</h4>
<div class="outline-text-4" id="text-2-6-4">
<p>
Because arrays are zero-based in Fortran, we need to set a flag to
@ -1461,8 +1461,8 @@ know if we need to shift by 1 arrays of indices.
</div>
</div>
<div id="outline-container-org07f9895" class="outline-3">
<h3 id="org07f9895"><span class="section-number-3">2.7</span> File closing</h3>
<div id="outline-container-org150a386" class="outline-3">
<h3 id="org150a386"><span class="section-number-3">2.7</span> File closing</h3>
<div class="outline-text-3" id="text-2-7">
<p>
<code>trexio_close</code> closes an existing <code>trexio_t</code> file.
@ -1479,8 +1479,8 @@ output:
</p>
</div>
<div id="outline-container-orga619841" class="outline-4">
<h4 id="orga619841"><span class="section-number-4">2.7.1</span> C</h4>
<div id="outline-container-orgc3a1762" class="outline-4">
<h4 id="orgc3a1762"><span class="section-number-4">2.7.1</span> C</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;">trexio_exit_code</span>
@ -1551,8 +1551,8 @@ output:
</div>
</div>
<div id="outline-container-orgdafe1bc" class="outline-4">
<h4 id="orgdafe1bc"><span class="section-number-4">2.7.2</span> Fortran</h4>
<div id="outline-container-org27609e3" class="outline-4">
<h4 id="org27609e3"><span class="section-number-4">2.7.2</span> Fortran</h4>
<div class="outline-text-4" id="text-2-7-2">
<div class="org-src-container">
<pre class="src src-f90"><span style="color: #a020f0;">interface</span>
@ -1566,8 +1566,8 @@ output:
</div>
</div>
<div id="outline-container-org16425fe" class="outline-4">
<h4 id="org16425fe"><span class="section-number-4">2.7.3</span> Python</h4>
<div id="outline-container-orgf694e8e" class="outline-4">
<h4 id="orgf694e8e"><span class="section-number-4">2.7.3</span> Python</h4>
<div class="outline-text-4" id="text-2-7-3">
<div class="org-src-container">
<pre class="src src-python"><span style="color: #a020f0;">def</span> <span style="color: #0000ff;">close</span>(trexio_file):
@ -1589,12 +1589,12 @@ output:
</div>
</div>
<div id="outline-container-org8939267" class="outline-2">
<h2 id="org8939267"><span class="section-number-2">3</span> Templates for front end</h2>
<div id="outline-container-org4bfb1dd" class="outline-2">
<h2 id="org4bfb1dd"><span class="section-number-2">3</span> Templates for front end</h2>
<div class="outline-text-2" id="text-3">
</div>
<div id="outline-container-org37ae13c" class="outline-3">
<h3 id="org37ae13c"><span class="section-number-3">3.1</span> Description</h3>
<div id="outline-container-org4d6321b" class="outline-3">
<h3 id="org4d6321b"><span class="section-number-3">3.1</span> Description</h3>
<div class="outline-text-3" id="text-3-1">
<p>
Consider the following block of <code>trex.json</code>:
@ -1815,12 +1815,12 @@ value will result in <code>TREXIO_INVALID_ARG_2</code> exit code.
</div>
</div>
<div id="outline-container-org1dcb9fb" class="outline-3">
<h3 id="org1dcb9fb"><span class="section-number-3">3.2</span> Templates for front end has/read/write a single numerical attribute</h3>
<div id="outline-container-org0bf15c4" class="outline-3">
<h3 id="org0bf15c4"><span class="section-number-3">3.2</span> Templates for front end has/read/write a single numerical attribute</h3>
<div class="outline-text-3" id="text-3-2">
</div>
<div id="outline-container-orgae1454d" class="outline-4">
<h4 id="orgae1454d"><span class="section-number-4">3.2.1</span> Introduction</h4>
<div id="outline-container-org4b97b2b" class="outline-4">
<h4 id="org4b97b2b"><span class="section-number-4">3.2.1</span> Introduction</h4>
<div class="outline-text-4" id="text-3-2-1">
<p>
This section concerns API calls related to numerical attributes,
@ -1891,8 +1891,8 @@ namely single value of int/float types.
</div>
</div>
<div id="outline-container-org62302d3" class="outline-4">
<h4 id="org62302d3"><span class="section-number-4">3.2.2</span> C templates for front end</h4>
<div id="outline-container-org7f5f5f8" class="outline-4">
<h4 id="org7f5f5f8"><span class="section-number-4">3.2.2</span> C templates for front end</h4>
<div class="outline-text-4" id="text-3-2-2">
<p>
The <code>C</code> templates that correspond to each of the abovementioned
@ -1906,12 +1906,12 @@ precision (see Table above).
</p>
</div>
<div id="outline-container-org7bccf8d" class="outline-5">
<h5 id="org7bccf8d"><span class="section-number-5">3.2.2.1</span> Function declarations</h5>
<div id="outline-container-org2fde3a5" class="outline-5">
<h5 id="org2fde3a5"><span class="section-number-5">3.2.2.1</span> Function declarations</h5>
</div>
<div id="outline-container-orga9d4866" class="outline-5">
<h5 id="orga9d4866"><span class="section-number-5">3.2.2.2</span> Source code for double precision functions</h5>
<div id="outline-container-org0353121" class="outline-5">
<h5 id="org0353121"><span class="section-number-5">3.2.2.2</span> Source code for double precision functions</h5>
<div class="outline-text-5" id="text-3-2-2-2">
<div class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
@ -1972,8 +1972,8 @@ precision (see Table above).
</div>
</div>
<div id="outline-container-org8193049" class="outline-5">
<h5 id="org8193049"><span class="section-number-5">3.2.2.3</span> Source code for single precision functions</h5>
<div id="outline-container-orgba1ba1b" class="outline-5">
<h5 id="orgba1ba1b"><span class="section-number-5">3.2.2.3</span> Source code for single precision functions</h5>
<div class="outline-text-5" id="text-3-2-2-3">
<div class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
@ -2041,8 +2041,8 @@ precision (see Table above).
</div>
</div>
<div id="outline-container-orgbe1ef79" class="outline-5">
<h5 id="orgbe1ef79"><span class="section-number-5">3.2.2.4</span> Source code for default functions</h5>
<div id="outline-container-orgb35b360" class="outline-5">
<h5 id="orgb35b360"><span class="section-number-5">3.2.2.4</span> Source code for default functions</h5>
<div class="outline-text-5" id="text-3-2-2-4">
<div class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
@ -2095,8 +2095,8 @@ precision (see Table above).
</div>
</div>
<div id="outline-container-org4050675" class="outline-4">
<h4 id="org4050675"><span class="section-number-4">3.2.3</span> Fortran templates for front end</h4>
<div id="outline-container-org27b531d" class="outline-4">
<h4 id="org27b531d"><span class="section-number-4">3.2.3</span> Fortran templates for front end</h4>
<div class="outline-text-4" id="text-3-2-3">
<p>
The <code>Fortran</code> templates that provide an access to the <code>C</code> API calls from Fortran.
@ -2181,8 +2181,8 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
</div>
</div>
<div id="outline-container-orgf5abefc" class="outline-4">
<h4 id="orgf5abefc"><span class="section-number-4">3.2.4</span> Python templates for front end</h4>
<div id="outline-container-orgd65ea43" class="outline-4">
<h4 id="orgd65ea43"><span class="section-number-4">3.2.4</span> Python templates for front end</h4>
<div class="outline-text-4" id="text-3-2-4">
<div class="org-src-container">
<pre class="src src-python"><span style="color: #a020f0;">def</span> <span style="color: #0000ff;">write_</span>$group_num$(trexio_file, num_w: $group_num_py_dtype$) -&gt; <span style="color: #008b8b;">None</span>:
@ -2267,12 +2267,12 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
</div>
</div>
<div id="outline-container-org1e7164c" class="outline-3">
<h3 id="org1e7164c"><span class="section-number-3">3.3</span> Templates for front end has/read/write a dataset of numerical data</h3>
<div id="outline-container-org7147314" class="outline-3">
<h3 id="org7147314"><span class="section-number-3">3.3</span> Templates for front end has/read/write a dataset of numerical data</h3>
<div class="outline-text-3" id="text-3-3">
</div>
<div id="outline-container-org57d0527" class="outline-4">
<h4 id="org57d0527"><span class="section-number-4">3.3.1</span> Introduction</h4>
<div id="outline-container-org2fd273f" class="outline-4">
<h4 id="org2fd273f"><span class="section-number-4">3.3.1</span> Introduction</h4>
<div class="outline-text-4" id="text-3-3-1">
<p>
This section concerns API calls related to datasets.
@ -2354,8 +2354,8 @@ This section concerns API calls related to datasets.
</div>
</div>
<div id="outline-container-org7dcfbd5" class="outline-4">
<h4 id="org7dcfbd5"><span class="section-number-4">3.3.2</span> C templates for front end</h4>
<div id="outline-container-orgc286a29" class="outline-4">
<h4 id="orgc286a29"><span class="section-number-4">3.3.2</span> C templates for front end</h4>
<div class="outline-text-4" id="text-3-3-2">
<p>
The C templates that correspond to each of the abovementioned functions can be found below.
@ -2366,13 +2366,13 @@ The basic (non-suffixed) API call on datasets deals with double precision (see T
</p>
</div>
<div id="outline-container-orgceb9ee3" class="outline-5">
<h5 id="orgceb9ee3"><span class="section-number-5">3.3.2.1</span> Function declarations</h5>
<div id="outline-container-orgc4f7e09" class="outline-5">
<h5 id="orgc4f7e09"><span class="section-number-5">3.3.2.1</span> Function declarations</h5>
</div>
<div id="outline-container-org975014f" class="outline-5">
<h5 id="org975014f"><span class="section-number-5">3.3.2.2</span> Source code for double precision functions</h5>
<div id="outline-container-orgd485300" class="outline-5">
<h5 id="orgd485300"><span class="section-number-5">3.3.2.2</span> Source code for double precision functions</h5>
<div class="outline-text-5" id="text-3-3-2-2">
<div class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
@ -2500,8 +2500,8 @@ The basic (non-suffixed) API call on datasets deals with double precision (see T
</div>
</div>
<div id="outline-container-org87b1037" class="outline-5">
<h5 id="org87b1037"><span class="section-number-5">3.3.2.3</span> Source code for single precision functions</h5>
<div id="outline-container-org15d1bf6" class="outline-5">
<h5 id="org15d1bf6"><span class="section-number-5">3.3.2.3</span> Source code for single precision functions</h5>
<div class="outline-text-5" id="text-3-3-2-3">
<div class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
@ -2642,11 +2642,11 @@ The basic (non-suffixed) API call on datasets deals with double precision (see T
</div>
</div>
<div id="outline-container-org1740981" class="outline-5">
<h5 id="org1740981"><span class="section-number-5">3.3.2.4</span> Source code for memory-safe functions</h5>
<div id="outline-container-orgc647e52" class="outline-5">
<h5 id="orgc647e52"><span class="section-number-5">3.3.2.4</span> Source code for memory-safe functions</h5>
<div class="outline-text-5" id="text-3-3-2-4">
<div class="org-src-container">
<pre class="src src-c" id="org0b5cd72"><span style="color: #228b22;">trexio_exit_code</span> <span style="color: #a0522d;">rc</span>;
<pre class="src src-c" id="org0e6166d"><span style="color: #228b22;">trexio_exit_code</span> <span style="color: #a0522d;">rc</span>;
int64_t $group_dset_dim$ = 0;
/* <span style="color: #b22222;">Error handling for this call is added by the generator </span>*/
@ -2802,8 +2802,8 @@ rc = trexio_read_$group_dset_dim$_64(file, &amp;($group_dset_dim$));
</div>
</div>
<div id="outline-container-org5840d39" class="outline-5">
<h5 id="org5840d39"><span class="section-number-5">3.3.2.5</span> Source code for default functions</h5>
<div id="outline-container-orgc1e76bd" class="outline-5">
<h5 id="orgc1e76bd"><span class="section-number-5">3.3.2.5</span> Source code for default functions</h5>
<div class="outline-text-5" id="text-3-3-2-5">
<div class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
@ -2877,8 +2877,8 @@ rc = trexio_read_$group_dset_dim$_64(file, &amp;($group_dset_dim$));
</div>
</div>
<div id="outline-container-org7825d5a" class="outline-4">
<h4 id="org7825d5a"><span class="section-number-4">3.3.3</span> Fortran templates for front end</h4>
<div id="outline-container-orgf949e36" class="outline-4">
<h4 id="orgf949e36"><span class="section-number-4">3.3.3</span> Fortran templates for front end</h4>
<div class="outline-text-4" id="text-3-3-3">
<p>
The <code>Fortran</code> templates that provide an access to the <code>C</code> API calls from <code>Fortran</code>.
@ -2963,8 +2963,8 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
</div>
</div>
<div id="outline-container-orgf935d5e" class="outline-4">
<h4 id="orgf935d5e"><span class="section-number-4">3.3.4</span> Python templates for front end</h4>
<div id="outline-container-orga833b6d" class="outline-4">
<h4 id="orga833b6d"><span class="section-number-4">3.3.4</span> Python templates for front end</h4>
<div class="outline-text-4" id="text-3-3-4">
<div class="org-src-container">
<pre class="src src-python"><span style="color: #a020f0;">def</span> <span style="color: #0000ff;">write_</span>$group_dset$(trexio_file, dset_w) -&gt; <span style="color: #008b8b;">None</span>:
@ -3159,8 +3159,8 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
</div>
</div>
<div id="outline-container-org5d85e90" class="outline-3">
<h3 id="org5d85e90"><span class="section-number-3">3.4</span> Sparse data structures</h3>
<div id="outline-container-org2be74a9" class="outline-3">
<h3 id="org2be74a9"><span class="section-number-3">3.4</span> Sparse data structures</h3>
<div class="outline-text-3" id="text-3-4">
<p>
Sparse data structures are used typically for large tensors such as
@ -3301,12 +3301,12 @@ For the values,
</div>
</div>
<div id="outline-container-orgdbcb0c1" class="outline-3">
<h3 id="orgdbcb0c1"><span class="section-number-3">3.5</span> Templates for front end has/read/write a dataset of strings</h3>
<div id="outline-container-orgbab14a5" class="outline-3">
<h3 id="orgbab14a5"><span class="section-number-3">3.5</span> Templates for front end has/read/write a dataset of strings</h3>
<div class="outline-text-3" id="text-3-5">
</div>
<div id="outline-container-org4f8da7c" class="outline-4">
<h4 id="org4f8da7c"><span class="section-number-4">3.5.1</span> Introduction</h4>
<div id="outline-container-orgee987d4" class="outline-4">
<h4 id="orgee987d4"><span class="section-number-4">3.5.1</span> Introduction</h4>
<div class="outline-text-4" id="text-3-5-1">
<p>
This section concerns API calls related to datasets of strings.
@ -3346,8 +3346,8 @@ This section concerns API calls related to datasets of strings.
</div>
</div>
<div id="outline-container-org5ffc077" class="outline-4">
<h4 id="org5ffc077"><span class="section-number-4">3.5.2</span> C templates for front end</h4>
<div id="outline-container-orgb98063f" class="outline-4">
<h4 id="orgb98063f"><span class="section-number-4">3.5.2</span> C templates for front end</h4>
<div class="outline-text-4" id="text-3-5-2">
<p>
First parameter is the <code>TREXIO</code> file handle. Second parameter is the variable to be written/read
@ -3355,12 +3355,12 @@ to/from the <code>TREXIO</code> file (except for <code>trexio_has_</code> functi
</p>
</div>
<div id="outline-container-orge05cd2e" class="outline-5">
<h5 id="orge05cd2e"><span class="section-number-5">3.5.2.1</span> Function declarations</h5>
<div id="outline-container-org8ca88cc" class="outline-5">
<h5 id="org8ca88cc"><span class="section-number-5">3.5.2.1</span> Function declarations</h5>
</div>
<div id="outline-container-org4d9cfef" class="outline-5">
<h5 id="org4d9cfef"><span class="section-number-5">3.5.2.2</span> Source code for default functions</h5>
<div id="outline-container-org41ab21a" class="outline-5">
<h5 id="org41ab21a"><span class="section-number-5">3.5.2.2</span> Source code for default functions</h5>
<div class="outline-text-5" id="text-3-5-2-2">
<div class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
@ -3602,8 +3602,8 @@ to/from the <code>TREXIO</code> file (except for <code>trexio_has_</code> functi
</div>
</div>
<div id="outline-container-orgf2cf1c0" class="outline-4">
<h4 id="orgf2cf1c0"><span class="section-number-4">3.5.3</span> Fortran templates for front end</h4>
<div id="outline-container-org4b7882a" class="outline-4">
<h4 id="org4b7882a"><span class="section-number-4">3.5.3</span> Fortran templates for front end</h4>
<div class="outline-text-4" id="text-3-5-3">
<p>
The <code>Fortran</code> templates that provide an access to the <code>C</code> API calls from <code>Fortran</code>.
@ -3699,8 +3699,8 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
</div>
</div>
<div id="outline-container-org043e204" class="outline-4">
<h4 id="org043e204"><span class="section-number-4">3.5.4</span> Python templates for front end</h4>
<div id="outline-container-orgf327af9" class="outline-4">
<h4 id="orgf327af9"><span class="section-number-4">3.5.4</span> Python templates for front end</h4>
<div class="outline-text-4" id="text-3-5-4">
<div class="org-src-container">
<pre class="src src-python"><span style="color: #a020f0;">def</span> <span style="color: #0000ff;">write_</span>$group_dset$(trexio_file, dset_w: <span style="color: #483d8b;">list</span>) -&gt; <span style="color: #008b8b;">None</span>:
@ -3816,12 +3816,12 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
</div>
</div>
<div id="outline-container-org94c1338" class="outline-3">
<h3 id="org94c1338"><span class="section-number-3">3.6</span> Templates for front end has/read/write a single string attribute</h3>
<div id="outline-container-org46c95b9" class="outline-3">
<h3 id="org46c95b9"><span class="section-number-3">3.6</span> Templates for front end has/read/write a single string attribute</h3>
<div class="outline-text-3" id="text-3-6">
</div>
<div id="outline-container-orgd91cf49" class="outline-4">
<h4 id="orgd91cf49"><span class="section-number-4">3.6.1</span> Introduction</h4>
<div id="outline-container-org456c1af" class="outline-4">
<h4 id="org456c1af"><span class="section-number-4">3.6.1</span> Introduction</h4>
<div class="outline-text-4" id="text-3-6-1">
<p>
This section concerns API calls related to string attributes.
@ -3861,16 +3861,16 @@ This section concerns API calls related to string attributes.
</div>
</div>
<div id="outline-container-orgfcb7f95" class="outline-4">
<h4 id="orgfcb7f95"><span class="section-number-4">3.6.2</span> C templates for front end</h4>
<div id="outline-container-org8145d26" class="outline-4">
<h4 id="org8145d26"><span class="section-number-4">3.6.2</span> C templates for front end</h4>
<div class="outline-text-4" id="text-3-6-2">
</div>
<div id="outline-container-org5dbbb1a" class="outline-5">
<h5 id="org5dbbb1a"><span class="section-number-5">3.6.2.1</span> Function declarations</h5>
<div id="outline-container-org43e043c" class="outline-5">
<h5 id="org43e043c"><span class="section-number-5">3.6.2.1</span> Function declarations</h5>
</div>
<div id="outline-container-org30dcb7a" class="outline-5">
<h5 id="org30dcb7a"><span class="section-number-5">3.6.2.2</span> Source code for default functions</h5>
<div id="outline-container-orgda56f67" class="outline-5">
<h5 id="orgda56f67"><span class="section-number-5">3.6.2.2</span> Source code for default functions</h5>
<div class="outline-text-5" id="text-3-6-2-2">
<div class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
@ -3970,8 +3970,8 @@ This section concerns API calls related to string attributes.
</div>
</div>
<div id="outline-container-orgc126219" class="outline-4">
<h4 id="orgc126219"><span class="section-number-4">3.6.3</span> Fortran templates for front end</h4>
<div id="outline-container-org6fe9181" class="outline-4">
<h4 id="org6fe9181"><span class="section-number-4">3.6.3</span> Fortran templates for front end</h4>
<div class="outline-text-4" id="text-3-6-3">
<p>
The <code>Fortran</code> templates that provide an access to the <code>C</code> API calls from Fortran.
@ -4048,8 +4048,8 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
</div>
</div>
<div id="outline-container-org76975aa" class="outline-4">
<h4 id="org76975aa"><span class="section-number-4">3.6.4</span> Python templates for front end</h4>
<div id="outline-container-org440e49a" class="outline-4">
<h4 id="org440e49a"><span class="section-number-4">3.6.4</span> Python templates for front end</h4>
<div class="outline-text-4" id="text-3-6-4">
<div class="org-src-container">
<pre class="src src-python"><span style="color: #a020f0;">def</span> <span style="color: #0000ff;">write_</span>$group_str$(trexio_file, str_w: <span style="color: #483d8b;">str</span>) -&gt; <span style="color: #008b8b;">None</span>:
@ -4139,8 +4139,8 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
</div>
</div>
<div id="outline-container-orgc4ef787" class="outline-2">
<h2 id="orgc4ef787"><span class="section-number-2">4</span> Fortran helper/wrapper functions</h2>
<div id="outline-container-org39df776" class="outline-2">
<h2 id="org39df776"><span class="section-number-2">4</span> Fortran helper/wrapper functions</h2>
<div class="outline-text-2" id="text-4">
<p>
The function below adapts the original C-based <code>trexio_open</code> for Fortran.
@ -4275,7 +4275,7 @@ two code are identical, i.e. if the <code>assert</code> statement pass.
</div>
<div id="postamble" class="status">
<p class="author">Author: TREX-CoE</p>
<p class="date">Created: 2021-10-26 Tue 08:36</p>
<p class="date">Created: 2021-11-01 Mon 10:43</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>

View File

@ -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>
<!-- 2021-10-26 Tue 08:36 -->
<!-- 2021-11-01 Mon 10:44 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>HDF5 back end</title>
@ -311,27 +311,27 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#orge833e3b">1. HDF5 back end</a>
<li><a href="#org0ffc474">1. HDF5 back end</a>
<ul>
<li><a href="#orgc9353d5">1.1. Template for HDF5 definitions</a></li>
<li><a href="#orgec32a88">1.2. Template for HDF5 structures</a></li>
<li><a href="#orgedfbcd2">1.3. Template for HDF5 init/deinit</a></li>
<li><a href="#org0203238">1.4. Template for HDF5 has/read/write the numerical attribute</a></li>
<li><a href="#orge159536">1.5. Template for HDF5 has/read/write the dataset of numerical data</a></li>
<li><a href="#orgbddccae">1.6. Template for HDF5 has/read/write the dataset of strings</a></li>
<li><a href="#orgd2239f7">1.7. Template for HDF5 has/read/write the string attribute</a></li>
<li><a href="#org304457d">1.1. Template for HDF5 definitions</a></li>
<li><a href="#orgff2cba2">1.2. Template for HDF5 structures</a></li>
<li><a href="#orgc3e416a">1.3. Template for HDF5 init/deinit</a></li>
<li><a href="#org8432eab">1.4. Template for HDF5 has/read/write the numerical attribute</a></li>
<li><a href="#orgb3df0cf">1.5. Template for HDF5 has/read/write the dataset of numerical data</a></li>
<li><a href="#orgbffa601">1.6. Template for HDF5 has/read/write the dataset of strings</a></li>
<li><a href="#org8c247da">1.7. Template for HDF5 has/read/write the string attribute</a></li>
</ul>
</li>
</ul>
</div>
</div>
<div id="outline-container-orge833e3b" class="outline-2">
<h2 id="orge833e3b"><span class="section-number-2">1</span> HDF5 back end</h2>
<div id="outline-container-org0ffc474" class="outline-2">
<h2 id="org0ffc474"><span class="section-number-2">1</span> HDF5 back end</h2>
<div class="outline-text-2" id="text-1">
</div>
<div id="outline-container-orgc9353d5" class="outline-3">
<h3 id="orgc9353d5"><span class="section-number-3">1.1</span> Template for HDF5 definitions</h3>
<div id="outline-container-org304457d" class="outline-3">
<h3 id="org304457d"><span class="section-number-3">1.1</span> Template for HDF5 definitions</h3>
<div class="outline-text-3" id="text-1-1">
<div class="org-src-container">
<pre class="src src-c"><span style="color: #483d8b;">#define</span> $GROUP$_GROUP_NAME <span style="color: #8b2252;">"$group$"</span>
@ -343,8 +343,8 @@ for the JavaScript code in this tag.
</div>
</div>
<div id="outline-container-orgec32a88" class="outline-3">
<h3 id="orgec32a88"><span class="section-number-3">1.2</span> Template for HDF5 structures</h3>
<div id="outline-container-orgff2cba2" class="outline-3">
<h3 id="orgff2cba2"><span class="section-number-3">1.2</span> Template for HDF5 structures</h3>
<div class="outline-text-3" id="text-1-2">
<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;">trexio_hdf5_s</span> {
@ -358,8 +358,8 @@ for the JavaScript code in this tag.
</div>
<div id="outline-container-orgedfbcd2" class="outline-3">
<h3 id="orgedfbcd2"><span class="section-number-3">1.3</span> Template for HDF5 init/deinit</h3>
<div id="outline-container-orgc3e416a" class="outline-3">
<h3 id="orgc3e416a"><span class="section-number-3">1.3</span> Template for HDF5 init/deinit</h3>
<div class="outline-text-3" id="text-1-3">
<div class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
@ -439,8 +439,8 @@ for the JavaScript code in this tag.
</div>
</div>
<div id="outline-container-org0203238" class="outline-3">
<h3 id="org0203238"><span class="section-number-3">1.4</span> Template for HDF5 has/read/write the numerical attribute</h3>
<div id="outline-container-org8432eab" class="outline-3">
<h3 id="org8432eab"><span class="section-number-3">1.4</span> Template for HDF5 has/read/write the numerical attribute</h3>
<div class="outline-text-3" id="text-1-4">
<div class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
@ -534,8 +534,8 @@ for the JavaScript code in this tag.
</div>
</div>
<div id="outline-container-orge159536" class="outline-3">
<h3 id="orge159536"><span class="section-number-3">1.5</span> Template for HDF5 has/read/write the dataset of numerical data</h3>
<div id="outline-container-orgb3df0cf" class="outline-3">
<h3 id="orgb3df0cf"><span class="section-number-3">1.5</span> Template for HDF5 has/read/write the dataset of numerical data</h3>
<div class="outline-text-3" id="text-1-5">
<div class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
@ -658,8 +658,8 @@ for the JavaScript code in this tag.
</div>
</div>
<div id="outline-container-orgbddccae" class="outline-3">
<h3 id="orgbddccae"><span class="section-number-3">1.6</span> Template for HDF5 has/read/write the dataset of strings</h3>
<div id="outline-container-orgbffa601" class="outline-3">
<h3 id="orgbffa601"><span class="section-number-3">1.6</span> Template for HDF5 has/read/write the dataset of strings</h3>
<div class="outline-text-3" id="text-1-6">
<div class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
@ -864,8 +864,8 @@ for the JavaScript code in this tag.
</div>
</div>
<div id="outline-container-orgd2239f7" class="outline-3">
<h3 id="orgd2239f7"><span class="section-number-3">1.7</span> Template for HDF5 has/read/write the string attribute</h3>
<div id="outline-container-org8c247da" class="outline-3">
<h3 id="org8c247da"><span class="section-number-3">1.7</span> Template for HDF5 has/read/write the string attribute</h3>
<div class="outline-text-3" id="text-1-7">
<div class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
@ -992,7 +992,7 @@ for the JavaScript code in this tag.
</div>
<div id="postamble" class="status">
<p class="author">Author: TREX-CoE</p>
<p class="date">Created: 2021-10-26 Tue 08:36</p>
<p class="date">Created: 2021-11-01 Mon 10:44</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>

View File

@ -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>
<!-- 2021-10-26 Tue 08:36 -->
<!-- 2021-11-01 Mon 10:44 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>TEXT back end</title>
@ -311,26 +311,26 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#org5c11ec3">1. TEXT back end</a>
<li><a href="#orgc9c5222">1. TEXT back end</a>
<ul>
<li><a href="#orge5c204d">1.1. Template for group-related structures in text back end</a></li>
<li><a href="#orgfef2dbd">1.2. Template for general structure in text back end</a></li>
<li><a href="#orgb023db4">1.3. Initialize function (constant part)</a></li>
<li><a href="#org76f75b6">1.4. Deinitialize function (templated part)</a></li>
<li><a href="#org3d11d83">1.5. Template for text read struct</a></li>
<li><a href="#org1f0cb2a">1.6. Template for text flush struct</a></li>
<li><a href="#org66ba285">1.7. Template for text free memory</a></li>
<li><a href="#orgeef9e11">1.8. Template for has/read/write the numerical attribute</a></li>
<li><a href="#org3932853">1.9. Template for has/read/write the dataset of numerical data</a></li>
<li><a href="#orge9b00a6">1.10. Template for has/read/write the dataset of strings</a></li>
<li><a href="#org6ddf098">1.11. Template for has/read/write the string attribute</a></li>
<li><a href="#orgbd583b2">1.12. RDM struct (hard-coded)</a>
<li><a href="#orgdfdd100">1.1. Template for group-related structures in text back end</a></li>
<li><a href="#orgc72bc6f">1.2. Template for general structure in text back end</a></li>
<li><a href="#org6d3d5ff">1.3. Initialize function (constant part)</a></li>
<li><a href="#org84327ec">1.4. Deinitialize function (templated part)</a></li>
<li><a href="#orgab721df">1.5. Template for text read struct</a></li>
<li><a href="#org1e1041a">1.6. Template for text flush struct</a></li>
<li><a href="#orgdd52fb1">1.7. Template for text free memory</a></li>
<li><a href="#org9fb72b5">1.8. Template for has/read/write the numerical attribute</a></li>
<li><a href="#orgb34d20f">1.9. Template for has/read/write the dataset of numerical data</a></li>
<li><a href="#orgdfaab62">1.10. Template for has/read/write the dataset of strings</a></li>
<li><a href="#org8b23234">1.11. Template for has/read/write the string attribute</a></li>
<li><a href="#orgb952315">1.12. RDM struct (hard-coded)</a>
<ul>
<li><a href="#org547bb17">1.12.1. Read the complete struct</a></li>
<li><a href="#org0ca76be">1.12.2. Flush the complete struct</a></li>
<li><a href="#org984065a">1.12.3. Free memory</a></li>
<li><a href="#org47f7850">1.12.4. Read/Write the one<sub>e</sub> attribute</a></li>
<li><a href="#org5bf789c">1.12.5. Read/Write the two<sub>e</sub> attribute</a></li>
<li><a href="#orgf5635d2">1.12.1. Read the complete struct</a></li>
<li><a href="#org3aa3caf">1.12.2. Flush the complete struct</a></li>
<li><a href="#org3b714a2">1.12.3. Free memory</a></li>
<li><a href="#orgac24852">1.12.4. Read/Write the one<sub>e</sub> attribute</a></li>
<li><a href="#orgc8feb61">1.12.5. Read/Write the two<sub>e</sub> attribute</a></li>
</ul>
</li>
</ul>
@ -339,8 +339,8 @@ for the JavaScript code in this tag.
</div>
</div>
<div id="outline-container-org5c11ec3" class="outline-2">
<h2 id="org5c11ec3"><span class="section-number-2">1</span> TEXT back end</h2>
<div id="outline-container-orgc9c5222" class="outline-2">
<h2 id="orgc9c5222"><span class="section-number-2">1</span> TEXT back end</h2>
<div class="outline-text-2" id="text-1">
<p>
The "file" produced by the text back end is a directory with one
@ -361,8 +361,8 @@ The file is written when closed, or when the flush function is called.
</p>
</div>
<div id="outline-container-orge5c204d" class="outline-3">
<h3 id="orge5c204d"><span class="section-number-3">1.1</span> Template for group-related structures in text back end</h3>
<div id="outline-container-orgdfdd100" class="outline-3">
<h3 id="orgdfdd100"><span class="section-number-3">1.1</span> Template for group-related structures in text back end</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> $group$_s {
@ -381,8 +381,8 @@ The file is written when closed, or when the flush function is called.
</div>
</div>
<div id="outline-container-orgfef2dbd" class="outline-3">
<h3 id="orgfef2dbd"><span class="section-number-3">1.2</span> Template for general structure in text back end</h3>
<div id="outline-container-orgc72bc6f" class="outline-3">
<h3 id="orgc72bc6f"><span class="section-number-3">1.2</span> Template for general structure in text back end</h3>
<div class="outline-text-3" id="text-1-2">
<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;">rdm_s</span> {
@ -408,8 +408,8 @@ The file is written when closed, or when the flush function is called.
</div>
</div>
<div id="outline-container-orgb023db4" class="outline-3">
<h3 id="orgb023db4"><span class="section-number-3">1.3</span> Initialize function (constant part)</h3>
<div id="outline-container-org6d3d5ff" class="outline-3">
<h3 id="org6d3d5ff"><span class="section-number-3">1.3</span> Initialize function (constant part)</h3>
<div class="outline-text-3" id="text-1-3">
<div class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
@ -540,8 +540,8 @@ The file is written when closed, or when the flush function is called.
</div>
</div>
<div id="outline-container-org76f75b6" class="outline-3">
<h3 id="org76f75b6"><span class="section-number-3">1.4</span> Deinitialize function (templated part)</h3>
<div id="outline-container-org84327ec" class="outline-3">
<h3 id="org84327ec"><span class="section-number-3">1.4</span> Deinitialize function (templated part)</h3>
<div class="outline-text-3" id="text-1-4">
<div class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
@ -566,8 +566,8 @@ The file is written when closed, or when the flush function is called.
</div>
</div>
<div id="outline-container-org3d11d83" class="outline-3">
<h3 id="org3d11d83"><span class="section-number-3">1.5</span> Template for text read struct</h3>
<div id="outline-container-orgab721df" class="outline-3">
<h3 id="orgab721df"><span class="section-number-3">1.5</span> Template for text read struct</h3>
<div class="outline-text-3" id="text-1-5">
<div class="org-src-container">
<pre class="src src-c">$group$_t*
@ -861,8 +861,8 @@ trexio_text_read_$group$ (<span style="color: #228b22;">trexio_text_t</span>* <s
</div>
</div>
<div id="outline-container-org1f0cb2a" class="outline-3">
<h3 id="org1f0cb2a"><span class="section-number-3">1.6</span> Template for text flush struct</h3>
<div id="outline-container-org1e1041a" class="outline-3">
<h3 id="org1e1041a"><span class="section-number-3">1.6</span> Template for text flush struct</h3>
<div class="outline-text-3" id="text-1-6">
<div class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
@ -927,8 +927,8 @@ trexio_text_read_$group$ (<span style="color: #228b22;">trexio_text_t</span>* <s
</div>
</div>
<div id="outline-container-org66ba285" class="outline-3">
<h3 id="org66ba285"><span class="section-number-3">1.7</span> Template for text free memory</h3>
<div id="outline-container-orgdd52fb1" class="outline-3">
<h3 id="orgdd52fb1"><span class="section-number-3">1.7</span> Template for text free memory</h3>
<div class="outline-text-3" id="text-1-7">
<p>
Memory is allocated when reading. The following function frees memory.
@ -973,8 +973,8 @@ Memory is allocated when reading. The following function frees memory.
</div>
</div>
<div id="outline-container-orgeef9e11" class="outline-3">
<h3 id="orgeef9e11"><span class="section-number-3">1.8</span> Template for has/read/write the numerical attribute</h3>
<div id="outline-container-org9fb72b5" class="outline-3">
<h3 id="org9fb72b5"><span class="section-number-3">1.8</span> Template for has/read/write the numerical attribute</h3>
<div class="outline-text-3" id="text-1-8">
<div class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
@ -1037,8 +1037,8 @@ Memory is allocated when reading. The following function frees memory.
</div>
</div>
<div id="outline-container-org3932853" class="outline-3">
<h3 id="org3932853"><span class="section-number-3">1.9</span> Template for has/read/write the dataset of numerical data</h3>
<div id="outline-container-orgb34d20f" class="outline-3">
<h3 id="orgb34d20f"><span class="section-number-3">1.9</span> Template for has/read/write the dataset of numerical data</h3>
<div class="outline-text-3" id="text-1-9">
<p>
The <code>group_dset</code> array is assumed allocated with the appropriate size.
@ -1134,8 +1134,8 @@ The <code>group_dset</code> array is assumed allocated with the appropriate size
</div>
</div>
</div>
<div id="outline-container-orge9b00a6" class="outline-3">
<h3 id="orge9b00a6"><span class="section-number-3">1.10</span> Template for has/read/write the dataset of strings</h3>
<div id="outline-container-orgdfaab62" class="outline-3">
<h3 id="orgdfaab62"><span class="section-number-3">1.10</span> Template for has/read/write the dataset of strings</h3>
<div class="outline-text-3" id="text-1-10">
<p>
The <code>group_dset</code> array is assumed allocated with the appropriate size.
@ -1236,8 +1236,8 @@ The <code>group_dset</code> array is assumed allocated with the appropriate size
</div>
</div>
</div>
<div id="outline-container-org6ddf098" class="outline-3">
<h3 id="org6ddf098"><span class="section-number-3">1.11</span> Template for has/read/write the string attribute</h3>
<div id="outline-container-org8b23234" class="outline-3">
<h3 id="org8b23234"><span class="section-number-3">1.11</span> Template for has/read/write the string attribute</h3>
<div class="outline-text-3" id="text-1-11">
<div class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
@ -1311,12 +1311,12 @@ The <code>group_dset</code> array is assumed allocated with the appropriate size
</div>
</div>
</div>
<div id="outline-container-orgbd583b2" class="outline-3">
<h3 id="orgbd583b2"><span class="section-number-3">1.12</span> RDM struct (hard-coded)</h3>
<div id="outline-container-orgb952315" class="outline-3">
<h3 id="orgb952315"><span class="section-number-3">1.12</span> RDM struct (hard-coded)</h3>
<div class="outline-text-3" id="text-1-12">
</div>
<div id="outline-container-org547bb17" class="outline-4">
<h4 id="org547bb17"><span class="section-number-4">1.12.1</span> Read the complete struct</h4>
<div id="outline-container-orgf5635d2" class="outline-4">
<h4 id="orgf5635d2"><span class="section-number-4">1.12.1</span> Read the complete struct</h4>
<div class="outline-text-4" id="text-1-12-1">
<div class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">rdm_t</span>* <span style="color: #0000ff;">trexio_text_read_rdm</span>(<span style="color: #228b22;">trexio_text_t</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">file</span>);
@ -1411,8 +1411,8 @@ The <code>group_dset</code> array is assumed allocated with the appropriate size
</div>
</div>
<div id="outline-container-org0ca76be" class="outline-4">
<h4 id="org0ca76be"><span class="section-number-4">1.12.2</span> Flush the complete struct</h4>
<div id="outline-container-org3aa3caf" class="outline-4">
<h4 id="org3aa3caf"><span class="section-number-4">1.12.2</span> Flush the complete struct</h4>
<div class="outline-text-4" id="text-1-12-2">
<div class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span> <span style="color: #0000ff;">trexio_text_flush_rdm</span>(<span style="color: #228b22;">trexio_text_t</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">file</span>);
@ -1454,8 +1454,8 @@ The <code>group_dset</code> array is assumed allocated with the appropriate size
</div>
</div>
<div id="outline-container-org984065a" class="outline-4">
<h4 id="org984065a"><span class="section-number-4">1.12.3</span> Free memory</h4>
<div id="outline-container-org3b714a2" class="outline-4">
<h4 id="org3b714a2"><span class="section-number-4">1.12.3</span> Free memory</h4>
<div class="outline-text-4" id="text-1-12-3">
<p>
Memory is allocated when reading. The followig function frees memory.
@ -1491,8 +1491,8 @@ Memory is allocated when reading. The followig function frees memory.
</div>
</div>
<div id="outline-container-org47f7850" class="outline-4">
<h4 id="org47f7850"><span class="section-number-4">1.12.4</span> Read/Write the one<sub>e</sub> attribute</h4>
<div id="outline-container-orgac24852" class="outline-4">
<h4 id="orgac24852"><span class="section-number-4">1.12.4</span> Read/Write the one<sub>e</sub> attribute</h4>
<div class="outline-text-4" id="text-1-12-4">
<p>
The <code>one_e</code> array is assumed allocated with the appropriate size.
@ -1558,8 +1558,8 @@ The <code>one_e</code> array is assumed allocated with the appropriate size.
</div>
</div>
<div id="outline-container-org5bf789c" class="outline-4">
<h4 id="org5bf789c"><span class="section-number-4">1.12.5</span> Read/Write the two<sub>e</sub> attribute</h4>
<div id="outline-container-orgc8feb61" class="outline-4">
<h4 id="orgc8feb61"><span class="section-number-4">1.12.5</span> Read/Write the two<sub>e</sub> attribute</h4>
<div class="outline-text-4" id="text-1-12-5">
<p>
<code>two_e</code> is a sparse data structure, which can be too large to fit
@ -1667,7 +1667,7 @@ file for each sparse float structure.
</div>
<div id="postamble" class="status">
<p class="author">Author: TREX-CoE</p>
<p class="date">Created: 2021-10-26 Tue 08:36</p>
<p class="date">Created: 2021-11-01 Mon 10:44</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>

116
trex.html
View File

@ -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>
<!-- 2021-10-26 Tue 08:36 -->
<!-- 2021-11-01 Mon 10:44 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>TREX Configuration file</title>
@ -333,33 +333,33 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#orgbcdeb09">1. Metadata (metadata group)</a></li>
<li><a href="#org3af24a3">2. Electron (electron group)</a></li>
<li><a href="#orgfb60055">3. Nucleus (nucleus group)</a></li>
<li><a href="#orgb81baef">4. Effective core potentials (ecp group)</a>
<li><a href="#org031abaa">1. Metadata (metadata group)</a></li>
<li><a href="#org2d7e918">2. Electron (electron group)</a></li>
<li><a href="#orgcf6925a">3. Nucleus (nucleus group)</a></li>
<li><a href="#org46c16a9">4. Effective core potentials (ecp group)</a>
<ul>
<li><a href="#org79a59e3">4.1. Example</a></li>
<li><a href="#org28787b4">4.1. Example</a></li>
</ul>
</li>
<li><a href="#org32cecf1">5. Basis set (basis group)</a>
<li><a href="#org9591dd0">5. Basis set (basis group)</a>
<ul>
<li><a href="#org15d1b27">5.1. Example</a></li>
<li><a href="#org26ef5d4">5.1. Example</a></li>
</ul>
</li>
<li><a href="#orge735721">6. Atomic orbitals (ao group)</a>
<li><a href="#org79d80ed">6. Atomic orbitals (ao group)</a>
<ul>
<li><a href="#ao_one_e">6.1. One-electron integrals (<code>ao_1e_int</code> group)</a></li>
<li><a href="#ao_two_e">6.2. Two-electron integrals (<code>ao_2e_int</code> group)</a></li>
</ul>
</li>
<li><a href="#orgca07e60">7. Molecular orbitals (mo group)</a>
<li><a href="#orge6190cb">7. Molecular orbitals (mo group)</a>
<ul>
<li><a href="#orge3702b1">7.1. One-electron integrals (<code>mo_1e_int</code> group)</a></li>
<li><a href="#org54f4268">7.2. Two-electron integrals (<code>mo_2e_int</code> group)</a></li>
<li><a href="#orgcf17b8c">7.1. One-electron integrals (<code>mo_1e_int</code> group)</a></li>
<li><a href="#orge39c941">7.2. Two-electron integrals (<code>mo_2e_int</code> group)</a></li>
</ul>
</li>
<li><a href="#orgf67fd14">8. <span class="todo TODO">TODO</span> Slater determinants</a></li>
<li><a href="#org1cb99ec">9. <span class="todo TODO">TODO</span> Reduced density matrices (rdm group)</a></li>
<li><a href="#org12cadb2">8. <span class="todo TODO">TODO</span> Slater determinants</a></li>
<li><a href="#org5fc3ee3">9. <span class="todo TODO">TODO</span> Reduced density matrices (rdm group)</a></li>
</ul>
</div>
</div>
@ -399,8 +399,8 @@ arrays are 0-based. Hence, we introduce the <code>index</code> type which is an
1-based <code>int</code> in the Fortran interface and 0-based otherwise.
</p>
<div id="outline-container-orgbcdeb09" class="outline-2">
<h2 id="orgbcdeb09"><span class="section-number-2">1</span> Metadata (metadata group)</h2>
<div id="outline-container-org031abaa" class="outline-2">
<h2 id="org031abaa"><span class="section-number-2">1</span> Metadata (metadata group)</h2>
<div class="outline-text-2" id="text-1">
<p>
As we expect our files to be archived in open-data repositories, we
@ -410,7 +410,7 @@ which have participated to the creation of the file, a list of
authors of the file, and a textual description.
</p>
<table id="org3d9e9cc" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org530de12" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -477,15 +477,15 @@ authors of the file, and a textual description.
</div>
</div>
<div id="outline-container-org3af24a3" class="outline-2">
<h2 id="org3af24a3"><span class="section-number-2">2</span> Electron (electron group)</h2>
<div id="outline-container-org2d7e918" class="outline-2">
<h2 id="org2d7e918"><span class="section-number-2">2</span> Electron (electron group)</h2>
<div class="outline-text-2" id="text-2">
<p>
We consider wave functions expressed in the spin-free formalism, where
the number of &uarr; and &darr; electrons is fixed.
</p>
<table id="orga41dda3" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org8db50c0" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -524,15 +524,15 @@ the number of &uarr; and &darr; electrons is fixed.
</div>
</div>
<div id="outline-container-orgfb60055" class="outline-2">
<h2 id="orgfb60055"><span class="section-number-2">3</span> Nucleus (nucleus group)</h2>
<div id="outline-container-orgcf6925a" class="outline-2">
<h2 id="orgcf6925a"><span class="section-number-2">3</span> Nucleus (nucleus group)</h2>
<div class="outline-text-2" id="text-3">
<p>
The nuclei are considered as fixed point charges. Coordinates are
given in Cartesian \((x,y,z)\) format.
</p>
<table id="org795da02" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgb85e6a2" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -592,8 +592,8 @@ given in Cartesian \((x,y,z)\) format.
</div>
</div>
<div id="outline-container-orgb81baef" class="outline-2">
<h2 id="orgb81baef"><span class="section-number-2">4</span> Effective core potentials (ecp group)</h2>
<div id="outline-container-org46c16a9" class="outline-2">
<h2 id="org46c16a9"><span class="section-number-2">4</span> Effective core potentials (ecp group)</h2>
<div class="outline-text-2" id="text-4">
<p>
An effective core potential (ECP) \(V_A^{\text{ECP}}\) replacing the
@ -626,7 +626,7 @@ The functions \(V_{A\ell}\) are parameterized as:
See <a href="http://dx.doi.org/10.1063/1.4984046">http://dx.doi.org/10.1063/1.4984046</a> or <a href="https://doi.org/10.1063/1.5121006">https://doi.org/10.1063/1.5121006</a> for more info.
</p>
<table id="org877c0c6" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org34358c3" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -724,8 +724,8 @@ The latter causes issues when written before <code>ang_mom</code> in the TREXIO
</p>
</div>
<div id="outline-container-org79a59e3" class="outline-3">
<h3 id="org79a59e3"><span class="section-number-3">4.1</span> Example</h3>
<div id="outline-container-org28787b4" class="outline-3">
<h3 id="org28787b4"><span class="section-number-3">4.1</span> Example</h3>
<div class="outline-text-3" id="text-4-1">
<p>
For example, consider H<sub>2</sub> molecule with the following
@ -788,8 +788,8 @@ power = [
</div>
</div>
<div id="outline-container-org32cecf1" class="outline-2">
<h2 id="org32cecf1"><span class="section-number-2">5</span> Basis set (basis group)</h2>
<div id="outline-container-org9591dd0" class="outline-2">
<h2 id="org9591dd0"><span class="section-number-2">5</span> Basis set (basis group)</h2>
<div class="outline-text-2" id="text-5">
<p>
We consider here basis functions centered on nuclei. Hence, we enable
@ -842,7 +842,7 @@ If the the basis function is not considered normalized, \(\mathcal{N}_s=1\).
All the basis set parameters are stored in one-dimensional arrays:
</p>
<table id="org844e643" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org8f257c0" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -936,8 +936,8 @@ All the basis set parameters are stored in one-dimensional arrays:
</table>
</div>
<div id="outline-container-org15d1b27" class="outline-3">
<h3 id="org15d1b27"><span class="section-number-3">5.1</span> Example</h3>
<div id="outline-container-org26ef5d4" class="outline-3">
<h3 id="org26ef5d4"><span class="section-number-3">5.1</span> Example</h3>
<div class="outline-text-3" id="text-5-1">
<p>
For example, consider H<sub>2</sub> with the following basis set (in GAMESS
@ -1015,8 +1015,8 @@ prim_factor =
</div>
</div>
<div id="outline-container-orge735721" class="outline-2">
<h2 id="orge735721"><span class="section-number-2">6</span> Atomic orbitals (ao group)</h2>
<div id="outline-container-org79d80ed" class="outline-2">
<h2 id="org79d80ed"><span class="section-number-2">6</span> Atomic orbitals (ao group)</h2>
<div class="outline-text-2" id="text-6">
<p>
Going from the atomic basis set to AOs implies a systematic
@ -1064,13 +1064,13 @@ shell, as in the GAMESS convention where
<p>
In such a case, one should set the normalization of the shell (in
the <a href="#org32cecf1">Basis set</a> section) to \(\mathcal{N}_{z^2}\), which is the
the <a href="#org9591dd0">Basis set</a> section) to \(\mathcal{N}_{z^2}\), which is the
normalization factor of the atomic orbitals in spherical coordinates.
The normalization factor of the \(xy\) function which should be
introduced here should be \(\frac{\mathcal{N}_{xy}}{\mathcal{N}_{z^2}}\).
</p>
<table id="orgebbe682" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org9f58294" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1122,8 +1122,8 @@ introduced here should be \(\frac{\mathcal{N}_{xy}}{\mathcal{N}_{z^2}}\).
</table>
</div>
<div id="outline-container-orgf8c4fb1" class="outline-3">
<h3 id="ao_one_e"><a id="orgf8c4fb1"></a><span class="section-number-3">6.1</span> One-electron integrals (<code>ao_1e_int</code> group)</h3>
<div id="outline-container-org3a74f69" class="outline-3">
<h3 id="ao_one_e"><a id="org3a74f69"></a><span class="section-number-3">6.1</span> One-electron integrals (<code>ao_1e_int</code> group)</h3>
<div class="outline-text-3" id="text-ao_one_e">
<ul class="org-ul">
<li>\[ \hat{V}_{\text{ne}} = \sum_{A=1}^{N_\text{nucl}}
@ -1141,7 +1141,7 @@ The one-electron integrals for a one-electron operator \(\hat{O}\) are
over atomic orbitals.
</p>
<table id="org8790e39" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgf710f0f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1208,8 +1208,8 @@ over atomic orbitals.
</div>
</div>
<div id="outline-container-org09d96b2" class="outline-3">
<h3 id="ao_two_e"><a id="org09d96b2"></a><span class="section-number-3">6.2</span> Two-electron integrals (<code>ao_2e_int</code> group)</h3>
<div id="outline-container-orgd7110a7" class="outline-3">
<h3 id="ao_two_e"><a id="orgd7110a7"></a><span class="section-number-3">6.2</span> Two-electron integrals (<code>ao_2e_int</code> group)</h3>
<div class="outline-text-3" id="text-ao_two_e">
<p>
The two-electron integrals for a two-electron operator \(\hat{O}\) are
@ -1230,7 +1230,7 @@ notation.
\mathbf{r}_j \vert)}{\vert \mathbf{r}_i - \mathbf{r}_j \vert} \] : electron-electron long range potential</li>
</ul>
<table id="org3f25b29" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org68b9375" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1270,10 +1270,10 @@ notation.
</div>
</div>
<div id="outline-container-orgca07e60" class="outline-2">
<h2 id="orgca07e60"><span class="section-number-2">7</span> Molecular orbitals (mo group)</h2>
<div id="outline-container-orge6190cb" class="outline-2">
<h2 id="orge6190cb"><span class="section-number-2">7</span> Molecular orbitals (mo group)</h2>
<div class="outline-text-2" id="text-7">
<table id="org708512e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org63e3d18" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1339,8 +1339,8 @@ notation.
</table>
</div>
<div id="outline-container-orge3702b1" class="outline-3">
<h3 id="orge3702b1"><span class="section-number-3">7.1</span> One-electron integrals (<code>mo_1e_int</code> group)</h3>
<div id="outline-container-orgcf17b8c" class="outline-3">
<h3 id="orgcf17b8c"><span class="section-number-3">7.1</span> One-electron integrals (<code>mo_1e_int</code> group)</h3>
<div class="outline-text-3" id="text-7-1">
<p>
The operators as the same as those defined in the
@ -1348,7 +1348,7 @@ The operators as the same as those defined in the
the basis of molecular orbitals.
</p>
<table id="org8cb6f8a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org0fc34bf" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1415,8 +1415,8 @@ the basis of molecular orbitals.
</div>
</div>
<div id="outline-container-org54f4268" class="outline-3">
<h3 id="org54f4268"><span class="section-number-3">7.2</span> Two-electron integrals (<code>mo_2e_int</code> group)</h3>
<div id="outline-container-orge39c941" class="outline-3">
<h3 id="orge39c941"><span class="section-number-3">7.2</span> Two-electron integrals (<code>mo_2e_int</code> group)</h3>
<div class="outline-text-3" id="text-7-2">
<p>
The operators as the same as those defined in the
@ -1424,7 +1424,7 @@ The operators as the same as those defined in the
the basis of molecular orbitals.
</p>
<table id="orgd120533" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org3fb3ae2" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1464,13 +1464,13 @@ the basis of molecular orbitals.
</div>
</div>
<div id="outline-container-orgf67fd14" class="outline-2">
<h2 id="orgf67fd14"><span class="section-number-2">8</span> <span class="todo TODO">TODO</span> Slater determinants</h2>
<div id="outline-container-org12cadb2" class="outline-2">
<h2 id="org12cadb2"><span class="section-number-2">8</span> <span class="todo TODO">TODO</span> Slater determinants</h2>
</div>
<div id="outline-container-org1cb99ec" class="outline-2">
<h2 id="org1cb99ec"><span class="section-number-2">9</span> <span class="todo TODO">TODO</span> Reduced density matrices (rdm group)</h2>
<div id="outline-container-org5fc3ee3" class="outline-2">
<h2 id="org5fc3ee3"><span class="section-number-2">9</span> <span class="todo TODO">TODO</span> Reduced density matrices (rdm group)</h2>
<div class="outline-text-2" id="text-9">
<table id="org0a9154a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org3337c77" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1525,7 +1525,7 @@ the basis of molecular orbitals.
</div>
<div id="postamble" class="status">
<p class="author">Author: TREX-CoE</p>
<p class="date">Created: 2021-10-26 Tue 08:36</p>
<p class="date">Created: 2021-11-01 Mon 10:44</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>