1
0
mirror of https://github.com/TREX-CoE/trexio.git synced 2024-10-02 14:31:05 +02:00

Deploying to gh-pages from @ TREX-CoE/trexio@01e4476c19 🚀

This commit is contained in:
q-posev 2021-10-01 08:49:29 +00:00
parent 0a2188c928
commit 09cc1d598f
7 changed files with 343 additions and 343 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-09-30 Thu 19:47 -->
<!-- 2021-10-01 Fri 08:49 -->
<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>
@ -349,7 +349,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-09-30 Thu 19:47</p>
<p class="date">Created: 2021-10-01 Fri 08:49</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-09-30 Thu 19:47 -->
<!-- 2021-10-01 Fri 08:49 -->
<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="#org4a9f0ff">1. Text back end</a></li>
<li><a href="#orge9fa5ff">2. HDF5 Back end</a></li>
<li><a href="#org014fdde">1. Text back end</a></li>
<li><a href="#org3e11b99">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-org4a9f0ff" class="outline-2">
<h2 id="org4a9f0ff"><span class="section-number-2">1</span> Text back end</h2>
<div id="outline-container-org014fdde" class="outline-2">
<h2 id="org014fdde"><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-orge9fa5ff" class="outline-2">
<h2 id="orge9fa5ff"><span class="section-number-2">2</span> HDF5 Back end</h2>
<div id="outline-container-org3e11b99" class="outline-2">
<h2 id="org3e11b99"><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-09-30 Thu 19:47</p>
<p class="date">Created: 2021-10-01 Fri 08:49</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-09-30 Thu 19:47 -->
<!-- 2021-10-01 Fri 08:49 -->
<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>
@ -349,7 +349,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-09-30 Thu 19:47</p>
<p class="date">Created: 2021-10-01 Fri 08:49</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-09-30 Thu 19:47 -->
<!-- 2021-10-01 Fri 08:49 -->
<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>
@ -339,125 +339,125 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#org376ee8c">1. Coding conventions</a>
<li><a href="#orgaf2b03b">1. Coding conventions</a>
<ul>
<li><a href="#orgc73217c">1.1. Memory allocation</a></li>
<li><a href="#orgd850942">1.1. Memory allocation</a></li>
</ul>
</li>
<li><a href="#org48ae4e5">2. Front end</a>
<li><a href="#org4789b11">2. Front end</a>
<ul>
<li><a href="#org07ec971">2.1. Error handling</a>
<li><a href="#orgec03779">2.1. Error handling</a>
<ul>
<li><a href="#org516f643">2.1.1. Decoding errors</a>
<li><a href="#org00730fe">2.1.1. Decoding errors</a>
<ul>
<li><a href="#org9d29258">2.1.1.1. C source code</a></li>
<li><a href="#org34ec8ac">2.1.1.2. Fortran interface</a></li>
<li><a href="#orgfe9432f">2.1.1.3. Python interface</a></li>
<li><a href="#org9bfd4a4">2.1.1.1. C source code</a></li>
<li><a href="#org3cabae1">2.1.1.2. Fortran interface</a></li>
<li><a href="#org8d02fcf">2.1.1.3. Python interface</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#orgcffbb6e">2.2. Back ends</a>
<li><a href="#org845f090">2.2. Back ends</a>
<ul>
<li><a href="#orgf2216fe">2.2.1. C</a></li>
<li><a href="#orgbbe364c">2.2.2. Fortran</a></li>
<li><a href="#orgb148faf">2.2.3. Python</a></li>
<li><a href="#org9315d82">2.2.1. C</a></li>
<li><a href="#orgbab34d0">2.2.2. Fortran</a></li>
<li><a href="#org807a735">2.2.3. Python</a></li>
</ul>
</li>
<li><a href="#org74cbea5">2.3. Read/write behavior</a></li>
<li><a href="#org1594cc1">2.4. TREXIO file type</a>
<li><a href="#orgf48b794">2.3. Read/write behavior</a></li>
<li><a href="#org4964fa8">2.4. TREXIO file type</a>
<ul>
<li><a href="#orgf132b0c">2.4.1. TREXIO<sub>File</sub> Python class</a></li>
<li><a href="#org1bfa707">2.4.1. TREXIO<sub>File</sub> Python class</a></li>
</ul>
</li>
<li><a href="#org4538535">2.5. Polymorphism of the file handle</a></li>
<li><a href="#org995fc86">2.6. File opening</a>
<li><a href="#org8c3df67">2.5. Polymorphism of the file handle</a></li>
<li><a href="#org31f6630">2.6. File opening</a>
<ul>
<li><a href="#org794ad4c">2.6.1. C</a></li>
<li><a href="#org63b30b0">2.6.2. Fortran</a></li>
<li><a href="#orgf14fbd1">2.6.3. Python</a></li>
<li><a href="#org52a1c71">2.6.4. Zero-based versus one-based arrays of indices</a></li>
<li><a href="#org8db3439">2.6.1. C</a></li>
<li><a href="#org0ec40a3">2.6.2. Fortran</a></li>
<li><a href="#org566495e">2.6.3. Python</a></li>
<li><a href="#orgab6a366">2.6.4. Zero-based versus one-based arrays of indices</a></li>
</ul>
</li>
<li><a href="#org4f4019c">2.7. File closing</a>
<li><a href="#orgb1f39a8">2.7. File closing</a>
<ul>
<li><a href="#org13a171c">2.7.1. C</a></li>
<li><a href="#org4d91ea1">2.7.2. Fortran</a></li>
<li><a href="#org275c09f">2.7.3. Python</a></li>
<li><a href="#org740424b">2.7.1. C</a></li>
<li><a href="#orgf2196aa">2.7.2. Fortran</a></li>
<li><a href="#orgcf86438">2.7.3. Python</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#orgb64fc80">3. Templates for front end</a>
<li><a href="#org749a2c6">3. Templates for front end</a>
<ul>
<li><a href="#orga05f6f8">3.1. Description</a></li>
<li><a href="#org48a280d">3.2. Templates for front end has/read/write a single numerical attribute</a>
<li><a href="#org3800ef9">3.1. Description</a></li>
<li><a href="#orgb431eec">3.2. Templates for front end has/read/write a single numerical attribute</a>
<ul>
<li><a href="#org314bbc3">3.2.1. Introduction</a></li>
<li><a href="#org5a5d11e">3.2.2. C templates for front end</a>
<li><a href="#orgb462736">3.2.1. Introduction</a></li>
<li><a href="#org3def611">3.2.2. C templates for front end</a>
<ul>
<li><a href="#org4ad78fe">3.2.2.1. Function declarations</a></li>
<li><a href="#orgb586ad1">3.2.2.2. Source code for double precision functions</a></li>
<li><a href="#org6251eb3">3.2.2.3. Source code for single precision functions</a></li>
<li><a href="#org60a2251">3.2.2.4. Source code for default functions</a></li>
<li><a href="#org3ef5ed1">3.2.2.1. Function declarations</a></li>
<li><a href="#org8a979c1">3.2.2.2. Source code for double precision functions</a></li>
<li><a href="#org492c284">3.2.2.3. Source code for single precision functions</a></li>
<li><a href="#org0c6c8e2">3.2.2.4. Source code for default functions</a></li>
</ul>
</li>
<li><a href="#org90c71b5">3.2.3. Fortran templates for front end</a></li>
<li><a href="#org6a33d39">3.2.4. Python templates for front end</a></li>
<li><a href="#org05b678d">3.2.3. Fortran templates for front end</a></li>
<li><a href="#org9020f80">3.2.4. Python templates for front end</a></li>
</ul>
</li>
<li><a href="#org15af64d">3.3. Templates for front end has/read/write a dataset of numerical data</a>
<li><a href="#org28d0483">3.3. Templates for front end has/read/write a dataset of numerical data</a>
<ul>
<li><a href="#org098b96b">3.3.1. Introduction</a></li>
<li><a href="#org3d5aa09">3.3.2. C templates for front end</a>
<li><a href="#orgdb4de02">3.3.1. Introduction</a></li>
<li><a href="#orgfbd9861">3.3.2. C templates for front end</a>
<ul>
<li><a href="#org7f4342b">3.3.2.1. Function declarations</a></li>
<li><a href="#orgb180512">3.3.2.2. Source code for double precision functions</a></li>
<li><a href="#orge088cff">3.3.2.3. Source code for single precision functions</a></li>
<li><a href="#org32d9483">3.3.2.4. Source code for memory-safe functions</a></li>
<li><a href="#org3d25e1a">3.3.2.5. Source code for default functions</a></li>
<li><a href="#org1eaf1cb">3.3.2.1. Function declarations</a></li>
<li><a href="#org18569e3">3.3.2.2. Source code for double precision functions</a></li>
<li><a href="#org7a6ead1">3.3.2.3. Source code for single precision functions</a></li>
<li><a href="#orgb9eb6c6">3.3.2.4. Source code for memory-safe functions</a></li>
<li><a href="#org73a3862">3.3.2.5. Source code for default functions</a></li>
</ul>
</li>
<li><a href="#orgeeba40f">3.3.3. Fortran templates for front end</a></li>
<li><a href="#org9471f82">3.3.4. Python templates for front end</a></li>
<li><a href="#org382afb4">3.3.3. Fortran templates for front end</a></li>
<li><a href="#org4fa24bb">3.3.4. Python templates for front end</a></li>
</ul>
</li>
<li><a href="#org4a22be9">3.4. Sparse data structures</a></li>
<li><a href="#org20a9591">3.5. Templates for front end has/read/write a dataset of strings</a>
<li><a href="#org2101ead">3.4. Sparse data structures</a></li>
<li><a href="#orgd3a8489">3.5. Templates for front end has/read/write a dataset of strings</a>
<ul>
<li><a href="#orgac06895">3.5.1. Introduction</a></li>
<li><a href="#orgf3e0ec3">3.5.2. C templates for front end</a>
<li><a href="#orgf3ef748">3.5.1. Introduction</a></li>
<li><a href="#org2e4deeb">3.5.2. C templates for front end</a>
<ul>
<li><a href="#org39b9701">3.5.2.1. Function declarations</a></li>
<li><a href="#orgff3839d">3.5.2.2. Source code for default functions</a></li>
<li><a href="#orge78973d">3.5.2.1. Function declarations</a></li>
<li><a href="#org8105a81">3.5.2.2. Source code for default functions</a></li>
</ul>
</li>
<li><a href="#org6f7563c">3.5.3. Fortran templates for front end</a></li>
<li><a href="#org11b97b3">3.5.4. Python templates for front end</a></li>
<li><a href="#orge529a64">3.5.3. Fortran templates for front end</a></li>
<li><a href="#org63b657a">3.5.4. Python templates for front end</a></li>
</ul>
</li>
<li><a href="#orgff1970b">3.6. Templates for front end has/read/write a single string attribute</a>
<li><a href="#orgd1cc38d">3.6. Templates for front end has/read/write a single string attribute</a>
<ul>
<li><a href="#org51f58d5">3.6.1. Introduction</a></li>
<li><a href="#org4cfcd96">3.6.2. C templates for front end</a>
<li><a href="#orgccc378e">3.6.1. Introduction</a></li>
<li><a href="#org5a35229">3.6.2. C templates for front end</a>
<ul>
<li><a href="#org2e7c209">3.6.2.1. Function declarations</a></li>
<li><a href="#orgc527d1e">3.6.2.2. Source code for default functions</a></li>
<li><a href="#orgda5ca8b">3.6.2.1. Function declarations</a></li>
<li><a href="#org9029f38">3.6.2.2. Source code for default functions</a></li>
</ul>
</li>
<li><a href="#org260f37c">3.6.3. Fortran templates for front end</a></li>
<li><a href="#orgaa16bd7">3.6.4. Python templates for front end</a></li>
<li><a href="#org53ee513">3.6.3. Fortran templates for front end</a></li>
<li><a href="#orgc7787d8">3.6.4. Python templates for front end</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#org890cf40">4. Fortran helper/wrapper functions</a></li>
<li><a href="#org82ebf4f">4. Fortran helper/wrapper functions</a></li>
</ul>
</div>
</div>
<div id="outline-container-org376ee8c" class="outline-2">
<h2 id="org376ee8c"><span class="section-number-2">1</span> Coding conventions</h2>
<div id="outline-container-orgaf2b03b" class="outline-2">
<h2 id="orgaf2b03b"><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>
@ -472,8 +472,8 @@ for the JavaScript code in this tag.
</ul>
</div>
<div id="outline-container-orgc73217c" class="outline-3">
<h3 id="orgc73217c"><span class="section-number-3">1.1</span> Memory allocation</h3>
<div id="outline-container-orgd850942" class="outline-3">
<h3 id="orgd850942"><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
@ -508,8 +508,8 @@ The maximum string size for the filenames is 4096 characters.
</div>
</div>
<div id="outline-container-org48ae4e5" class="outline-2">
<h2 id="org48ae4e5"><span class="section-number-2">2</span> Front end</h2>
<div id="outline-container-org4789b11" class="outline-2">
<h2 id="org4789b11"><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.
@ -517,10 +517,10 @@ TREXIO front end is modular, which simplifies implementation of new back ends.
</p>
</div>
<div id="outline-container-org07ec971" class="outline-3">
<h3 id="org07ec971"><span class="section-number-3">2.1</span> Error handling</h3>
<div id="outline-container-orgec03779" class="outline-3">
<h3 id="orgec03779"><span class="section-number-3">2.1</span> Error handling</h3>
<div class="outline-text-3" id="text-2-1">
<table id="org658bd6e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgd07cd1a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -742,8 +742,8 @@ TREXIO front end is modular, which simplifies implementation of new back ends.
</div>
</div>
<div id="outline-container-org516f643" class="outline-4">
<h4 id="org516f643"><span class="section-number-4">2.1.1</span> Decoding errors</h4>
<div id="outline-container-org00730fe" class="outline-4">
<h4 id="org00730fe"><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
@ -766,8 +766,8 @@ The text strings are extracted from the previous table.
</p>
</div>
<div id="outline-container-org9d29258" class="outline-5">
<h5 id="org9d29258"><span class="section-number-5">2.1.1.1</span> C source code</h5>
<div id="outline-container-org9bfd4a4" class="outline-5">
<h5 id="org9bfd4a4"><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>*
@ -872,8 +872,8 @@ The text strings are extracted from the previous table.
</div>
</div>
<div id="outline-container-org34ec8ac" class="outline-5">
<h5 id="org34ec8ac"><span class="section-number-5">2.1.1.2</span> Fortran interface</h5>
<div id="outline-container-org3cabae1" class="outline-5">
<h5 id="org3cabae1"><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>
@ -889,8 +889,8 @@ The text strings are extracted from the previous table.
</div>
</div>
<div id="outline-container-orgfe9432f" class="outline-5">
<h5 id="orgfe9432f"><span class="section-number-5">2.1.1.3</span> Python interface</h5>
<div id="outline-container-org8d02fcf" class="outline-5">
<h5 id="org8d02fcf"><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>):
@ -929,8 +929,8 @@ The text strings are extracted from the previous table.
</div>
</div>
<div id="outline-container-orgcffbb6e" class="outline-3">
<h3 id="orgcffbb6e"><span class="section-number-3">2.2</span> Back ends</h3>
<div id="outline-container-org845f090" class="outline-3">
<h3 id="org845f090"><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:
@ -954,8 +954,8 @@ lines that correspond to the <code>TREXIO_JSON</code> back end (not implemented
</p>
</div>
<div id="outline-container-orgf2216fe" class="outline-4">
<h4 id="orgf2216fe"><span class="section-number-4">2.2.1</span> C</h4>
<div id="outline-container-org9315d82" class="outline-4">
<h4 id="org9315d82"><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>;
@ -971,8 +971,8 @@ lines that correspond to the <code>TREXIO_JSON</code> back end (not implemented
</div>
</div>
<div id="outline-container-orgbbe364c" class="outline-4">
<h4 id="orgbbe364c"><span class="section-number-4">2.2.2</span> Fortran</h4>
<div id="outline-container-orgbab34d0" class="outline-4">
<h4 id="orgbab34d0"><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>
@ -984,8 +984,8 @@ lines that correspond to the <code>TREXIO_JSON</code> back end (not implemented
</div>
</div>
<div id="outline-container-orgb148faf" class="outline-4">
<h4 id="orgb148faf"><span class="section-number-4">2.2.3</span> Python</h4>
<div id="outline-container-org807a735" class="outline-4">
<h4 id="org807a735"><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>
@ -999,8 +999,8 @@ lines that correspond to the <code>TREXIO_JSON</code> back end (not implemented
</div>
</div>
<div id="outline-container-org74cbea5" class="outline-3">
<h3 id="org74cbea5"><span class="section-number-3">2.3</span> Read/write behavior</h3>
<div id="outline-container-orgf48b794" class="outline-3">
<h3 id="orgf48b794"><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
@ -1028,8 +1028,8 @@ concurrent programs, the behavior is not specified.
</p>
</div>
</div>
<div id="outline-container-org1594cc1" class="outline-3">
<h3 id="org1594cc1"><span class="section-number-3">2.4</span> TREXIO file type</h3>
<div id="outline-container-org4964fa8" class="outline-3">
<h3 id="org4964fa8"><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
@ -1063,8 +1063,8 @@ TREXIO files will have as a first argument the TREXIO file handle.
</div>
</div>
<div id="outline-container-orgf132b0c" class="outline-4">
<h4 id="orgf132b0c"><span class="section-number-4">2.4.1</span> TREXIO<sub>File</sub> Python class</h4>
<div id="outline-container-org1bfa707" class="outline-4">
<h4 id="org1bfa707"><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>:
@ -1137,8 +1137,8 @@ TREXIO files will have as a first argument the TREXIO file handle.
</div>
</div>
<div id="outline-container-org4538535" class="outline-3">
<h3 id="org4538535"><span class="section-number-3">2.5</span> Polymorphism of the file handle</h3>
<div id="outline-container-org8c3df67" class="outline-3">
<h3 id="org8c3df67"><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
@ -1157,8 +1157,8 @@ corresponding types for all back ends can be safely casted to
</div>
</div>
<div id="outline-container-org995fc86" class="outline-3">
<h3 id="org995fc86"><span class="section-number-3">2.6</span> File opening</h3>
<div id="outline-container-org31f6630" class="outline-3">
<h3 id="org31f6630"><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.
@ -1197,8 +1197,8 @@ renaming the <code>.txt</code> data files.
</p>
</div>
<div id="outline-container-org794ad4c" class="outline-4">
<h4 id="org794ad4c"><span class="section-number-4">2.6.1</span> C</h4>
<div id="outline-container-org8db3439" class="outline-4">
<h4 id="org8db3439"><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>*
@ -1365,8 +1365,8 @@ renaming the <code>.txt</code> data files.
</div>
</div>
<div id="outline-container-org63b30b0" class="outline-4">
<h4 id="org63b30b0"><span class="section-number-4">2.6.2</span> Fortran</h4>
<div id="outline-container-org0ec40a3" class="outline-4">
<h4 id="org0ec40a3"><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>
@ -1384,8 +1384,8 @@ renaming the <code>.txt</code> data files.
</div>
</div>
<div id="outline-container-orgf14fbd1" class="outline-4">
<h4 id="orgf14fbd1"><span class="section-number-4">2.6.3</span> Python</h4>
<div id="outline-container-org566495e" class="outline-4">
<h4 id="org566495e"><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>):
@ -1433,8 +1433,8 @@ renaming the <code>.txt</code> data files.
</div>
</div>
<div id="outline-container-org52a1c71" class="outline-4">
<h4 id="org52a1c71"><span class="section-number-4">2.6.4</span> Zero-based versus one-based arrays of indices</h4>
<div id="outline-container-orgab6a366" class="outline-4">
<h4 id="orgab6a366"><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
@ -1467,8 +1467,8 @@ know if we need to shift by 1 arrays of indices.
</div>
</div>
<div id="outline-container-org4f4019c" class="outline-3">
<h3 id="org4f4019c"><span class="section-number-3">2.7</span> File closing</h3>
<div id="outline-container-orgb1f39a8" class="outline-3">
<h3 id="orgb1f39a8"><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.
@ -1485,8 +1485,8 @@ output:
</p>
</div>
<div id="outline-container-org13a171c" class="outline-4">
<h4 id="org13a171c"><span class="section-number-4">2.7.1</span> C</h4>
<div id="outline-container-org740424b" class="outline-4">
<h4 id="org740424b"><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>
@ -1557,8 +1557,8 @@ output:
</div>
</div>
<div id="outline-container-org4d91ea1" class="outline-4">
<h4 id="org4d91ea1"><span class="section-number-4">2.7.2</span> Fortran</h4>
<div id="outline-container-orgf2196aa" class="outline-4">
<h4 id="orgf2196aa"><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>
@ -1572,8 +1572,8 @@ output:
</div>
</div>
<div id="outline-container-org275c09f" class="outline-4">
<h4 id="org275c09f"><span class="section-number-4">2.7.3</span> Python</h4>
<div id="outline-container-orgcf86438" class="outline-4">
<h4 id="orgcf86438"><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):
@ -1595,12 +1595,12 @@ output:
</div>
</div>
<div id="outline-container-orgb64fc80" class="outline-2">
<h2 id="orgb64fc80"><span class="section-number-2">3</span> Templates for front end</h2>
<div id="outline-container-org749a2c6" class="outline-2">
<h2 id="org749a2c6"><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-orga05f6f8" class="outline-3">
<h3 id="orga05f6f8"><span class="section-number-3">3.1</span> Description</h3>
<div id="outline-container-org3800ef9" class="outline-3">
<h3 id="org3800ef9"><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>:
@ -1821,12 +1821,12 @@ value will result in <code>TREXIO_INVALID_ARG_2</code> exit code.
</div>
</div>
<div id="outline-container-org48a280d" class="outline-3">
<h3 id="org48a280d"><span class="section-number-3">3.2</span> Templates for front end has/read/write a single numerical attribute</h3>
<div id="outline-container-orgb431eec" class="outline-3">
<h3 id="orgb431eec"><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-org314bbc3" class="outline-4">
<h4 id="org314bbc3"><span class="section-number-4">3.2.1</span> Introduction</h4>
<div id="outline-container-orgb462736" class="outline-4">
<h4 id="orgb462736"><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,
@ -1897,8 +1897,8 @@ namely single value of int/float types.
</div>
</div>
<div id="outline-container-org5a5d11e" class="outline-4">
<h4 id="org5a5d11e"><span class="section-number-4">3.2.2</span> C templates for front end</h4>
<div id="outline-container-org3def611" class="outline-4">
<h4 id="org3def611"><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
@ -1912,12 +1912,12 @@ precision (see Table above).
</p>
</div>
<div id="outline-container-org4ad78fe" class="outline-5">
<h5 id="org4ad78fe"><span class="section-number-5">3.2.2.1</span> Function declarations</h5>
<div id="outline-container-org3ef5ed1" class="outline-5">
<h5 id="org3ef5ed1"><span class="section-number-5">3.2.2.1</span> Function declarations</h5>
</div>
<div id="outline-container-orgb586ad1" class="outline-5">
<h5 id="orgb586ad1"><span class="section-number-5">3.2.2.2</span> Source code for double precision functions</h5>
<div id="outline-container-org8a979c1" class="outline-5">
<h5 id="org8a979c1"><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>
@ -1978,8 +1978,8 @@ precision (see Table above).
</div>
</div>
<div id="outline-container-org6251eb3" class="outline-5">
<h5 id="org6251eb3"><span class="section-number-5">3.2.2.3</span> Source code for single precision functions</h5>
<div id="outline-container-org492c284" class="outline-5">
<h5 id="org492c284"><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>
@ -2047,8 +2047,8 @@ precision (see Table above).
</div>
</div>
<div id="outline-container-org60a2251" class="outline-5">
<h5 id="org60a2251"><span class="section-number-5">3.2.2.4</span> Source code for default functions</h5>
<div id="outline-container-org0c6c8e2" class="outline-5">
<h5 id="org0c6c8e2"><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>
@ -2101,8 +2101,8 @@ precision (see Table above).
</div>
</div>
<div id="outline-container-org90c71b5" class="outline-4">
<h4 id="org90c71b5"><span class="section-number-4">3.2.3</span> Fortran templates for front end</h4>
<div id="outline-container-org05b678d" class="outline-4">
<h4 id="org05b678d"><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.
@ -2187,8 +2187,8 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
</div>
</div>
<div id="outline-container-org6a33d39" class="outline-4">
<h4 id="org6a33d39"><span class="section-number-4">3.2.4</span> Python templates for front end</h4>
<div id="outline-container-org9020f80" class="outline-4">
<h4 id="org9020f80"><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>:
@ -2273,12 +2273,12 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
</div>
</div>
<div id="outline-container-org15af64d" class="outline-3">
<h3 id="org15af64d"><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-org28d0483" class="outline-3">
<h3 id="org28d0483"><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-org098b96b" class="outline-4">
<h4 id="org098b96b"><span class="section-number-4">3.3.1</span> Introduction</h4>
<div id="outline-container-orgdb4de02" class="outline-4">
<h4 id="orgdb4de02"><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.
@ -2360,8 +2360,8 @@ This section concerns API calls related to datasets.
</div>
</div>
<div id="outline-container-org3d5aa09" class="outline-4">
<h4 id="org3d5aa09"><span class="section-number-4">3.3.2</span> C templates for front end</h4>
<div id="outline-container-orgfbd9861" class="outline-4">
<h4 id="orgfbd9861"><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.
@ -2372,13 +2372,13 @@ The basic (non-suffixed) API call on datasets deals with double precision (see T
</p>
</div>
<div id="outline-container-org7f4342b" class="outline-5">
<h5 id="org7f4342b"><span class="section-number-5">3.3.2.1</span> Function declarations</h5>
<div id="outline-container-org1eaf1cb" class="outline-5">
<h5 id="org1eaf1cb"><span class="section-number-5">3.3.2.1</span> Function declarations</h5>
</div>
<div id="outline-container-orgb180512" class="outline-5">
<h5 id="orgb180512"><span class="section-number-5">3.3.2.2</span> Source code for double precision functions</h5>
<div id="outline-container-org18569e3" class="outline-5">
<h5 id="org18569e3"><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>
@ -2506,8 +2506,8 @@ The basic (non-suffixed) API call on datasets deals with double precision (see T
</div>
</div>
<div id="outline-container-orge088cff" class="outline-5">
<h5 id="orge088cff"><span class="section-number-5">3.3.2.3</span> Source code for single precision functions</h5>
<div id="outline-container-org7a6ead1" class="outline-5">
<h5 id="org7a6ead1"><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>
@ -2648,11 +2648,11 @@ The basic (non-suffixed) API call on datasets deals with double precision (see T
</div>
</div>
<div id="outline-container-org32d9483" class="outline-5">
<h5 id="org32d9483"><span class="section-number-5">3.3.2.4</span> Source code for memory-safe functions</h5>
<div id="outline-container-orgb9eb6c6" class="outline-5">
<h5 id="orgb9eb6c6"><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="orga35853e"><span style="color: #228b22;">trexio_exit_code</span> <span style="color: #a0522d;">rc</span>;
<pre class="src src-c" id="org7c43b44"><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>*/
@ -2808,8 +2808,8 @@ rc = trexio_read_$group_dset_dim$_64(file, &amp;($group_dset_dim$));
</div>
</div>
<div id="outline-container-org3d25e1a" class="outline-5">
<h5 id="org3d25e1a"><span class="section-number-5">3.3.2.5</span> Source code for default functions</h5>
<div id="outline-container-org73a3862" class="outline-5">
<h5 id="org73a3862"><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>
@ -2883,8 +2883,8 @@ rc = trexio_read_$group_dset_dim$_64(file, &amp;($group_dset_dim$));
</div>
</div>
<div id="outline-container-orgeeba40f" class="outline-4">
<h4 id="orgeeba40f"><span class="section-number-4">3.3.3</span> Fortran templates for front end</h4>
<div id="outline-container-org382afb4" class="outline-4">
<h4 id="org382afb4"><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>.
@ -2969,8 +2969,8 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
</div>
</div>
<div id="outline-container-org9471f82" class="outline-4">
<h4 id="org9471f82"><span class="section-number-4">3.3.4</span> Python templates for front end</h4>
<div id="outline-container-org4fa24bb" class="outline-4">
<h4 id="org4fa24bb"><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>:
@ -3165,8 +3165,8 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
</div>
</div>
<div id="outline-container-org4a22be9" class="outline-3">
<h3 id="org4a22be9"><span class="section-number-3">3.4</span> Sparse data structures</h3>
<div id="outline-container-org2101ead" class="outline-3">
<h3 id="org2101ead"><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
@ -3307,12 +3307,12 @@ For the values,
</div>
</div>
<div id="outline-container-org20a9591" class="outline-3">
<h3 id="org20a9591"><span class="section-number-3">3.5</span> Templates for front end has/read/write a dataset of strings</h3>
<div id="outline-container-orgd3a8489" class="outline-3">
<h3 id="orgd3a8489"><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-orgac06895" class="outline-4">
<h4 id="orgac06895"><span class="section-number-4">3.5.1</span> Introduction</h4>
<div id="outline-container-orgf3ef748" class="outline-4">
<h4 id="orgf3ef748"><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.
@ -3352,8 +3352,8 @@ This section concerns API calls related to datasets of strings.
</div>
</div>
<div id="outline-container-orgf3e0ec3" class="outline-4">
<h4 id="orgf3e0ec3"><span class="section-number-4">3.5.2</span> C templates for front end</h4>
<div id="outline-container-org2e4deeb" class="outline-4">
<h4 id="org2e4deeb"><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
@ -3361,12 +3361,12 @@ to/from the <code>TREXIO</code> file (except for <code>trexio_has_</code> functi
</p>
</div>
<div id="outline-container-org39b9701" class="outline-5">
<h5 id="org39b9701"><span class="section-number-5">3.5.2.1</span> Function declarations</h5>
<div id="outline-container-orge78973d" class="outline-5">
<h5 id="orge78973d"><span class="section-number-5">3.5.2.1</span> Function declarations</h5>
</div>
<div id="outline-container-orgff3839d" class="outline-5">
<h5 id="orgff3839d"><span class="section-number-5">3.5.2.2</span> Source code for default functions</h5>
<div id="outline-container-org8105a81" class="outline-5">
<h5 id="org8105a81"><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>
@ -3608,8 +3608,8 @@ to/from the <code>TREXIO</code> file (except for <code>trexio_has_</code> functi
</div>
</div>
<div id="outline-container-org6f7563c" class="outline-4">
<h4 id="org6f7563c"><span class="section-number-4">3.5.3</span> Fortran templates for front end</h4>
<div id="outline-container-orge529a64" class="outline-4">
<h4 id="orge529a64"><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>.
@ -3705,8 +3705,8 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
</div>
</div>
<div id="outline-container-org11b97b3" class="outline-4">
<h4 id="org11b97b3"><span class="section-number-4">3.5.4</span> Python templates for front end</h4>
<div id="outline-container-org63b657a" class="outline-4">
<h4 id="org63b657a"><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>:
@ -3822,12 +3822,12 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
</div>
</div>
<div id="outline-container-orgff1970b" class="outline-3">
<h3 id="orgff1970b"><span class="section-number-3">3.6</span> Templates for front end has/read/write a single string attribute</h3>
<div id="outline-container-orgd1cc38d" class="outline-3">
<h3 id="orgd1cc38d"><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-org51f58d5" class="outline-4">
<h4 id="org51f58d5"><span class="section-number-4">3.6.1</span> Introduction</h4>
<div id="outline-container-orgccc378e" class="outline-4">
<h4 id="orgccc378e"><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.
@ -3867,16 +3867,16 @@ This section concerns API calls related to string attributes.
</div>
</div>
<div id="outline-container-org4cfcd96" class="outline-4">
<h4 id="org4cfcd96"><span class="section-number-4">3.6.2</span> C templates for front end</h4>
<div id="outline-container-org5a35229" class="outline-4">
<h4 id="org5a35229"><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-org2e7c209" class="outline-5">
<h5 id="org2e7c209"><span class="section-number-5">3.6.2.1</span> Function declarations</h5>
<div id="outline-container-orgda5ca8b" class="outline-5">
<h5 id="orgda5ca8b"><span class="section-number-5">3.6.2.1</span> Function declarations</h5>
</div>
<div id="outline-container-orgc527d1e" class="outline-5">
<h5 id="orgc527d1e"><span class="section-number-5">3.6.2.2</span> Source code for default functions</h5>
<div id="outline-container-org9029f38" class="outline-5">
<h5 id="org9029f38"><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>
@ -3976,8 +3976,8 @@ This section concerns API calls related to string attributes.
</div>
</div>
<div id="outline-container-org260f37c" class="outline-4">
<h4 id="org260f37c"><span class="section-number-4">3.6.3</span> Fortran templates for front end</h4>
<div id="outline-container-org53ee513" class="outline-4">
<h4 id="org53ee513"><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.
@ -4054,8 +4054,8 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
</div>
</div>
<div id="outline-container-orgaa16bd7" class="outline-4">
<h4 id="orgaa16bd7"><span class="section-number-4">3.6.4</span> Python templates for front end</h4>
<div id="outline-container-orgc7787d8" class="outline-4">
<h4 id="orgc7787d8"><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>:
@ -4145,8 +4145,8 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
</div>
</div>
<div id="outline-container-org890cf40" class="outline-2">
<h2 id="org890cf40"><span class="section-number-2">4</span> Fortran helper/wrapper functions</h2>
<div id="outline-container-org82ebf4f" class="outline-2">
<h2 id="org82ebf4f"><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.
@ -4281,7 +4281,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-09-30 Thu 19:47</p>
<p class="date">Created: 2021-10-01 Fri 08:49</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-09-30 Thu 19:47 -->
<!-- 2021-10-01 Fri 08:49 -->
<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>
@ -317,27 +317,27 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#orge2c256b">1. HDF5 back end</a>
<li><a href="#org62cada5">1. HDF5 back end</a>
<ul>
<li><a href="#org5417953">1.1. Template for HDF5 definitions</a></li>
<li><a href="#org1eaa4f8">1.2. Template for HDF5 structures</a></li>
<li><a href="#org84513d4">1.3. Template for HDF5 init/deinit</a></li>
<li><a href="#org36091b6">1.4. Template for HDF5 has/read/write the numerical attribute</a></li>
<li><a href="#org7e40736">1.5. Template for HDF5 has/read/write the dataset of numerical data</a></li>
<li><a href="#org3632620">1.6. Template for HDF5 has/read/write the dataset of strings</a></li>
<li><a href="#org27566b7">1.7. Template for HDF5 has/read/write the string attribute</a></li>
<li><a href="#orgbc51ca7">1.1. Template for HDF5 definitions</a></li>
<li><a href="#org54358ff">1.2. Template for HDF5 structures</a></li>
<li><a href="#org5f24c16">1.3. Template for HDF5 init/deinit</a></li>
<li><a href="#org36d9307">1.4. Template for HDF5 has/read/write the numerical attribute</a></li>
<li><a href="#org51b9fc1">1.5. Template for HDF5 has/read/write the dataset of numerical data</a></li>
<li><a href="#org6ab766d">1.6. Template for HDF5 has/read/write the dataset of strings</a></li>
<li><a href="#orgef16114">1.7. Template for HDF5 has/read/write the string attribute</a></li>
</ul>
</li>
</ul>
</div>
</div>
<div id="outline-container-orge2c256b" class="outline-2">
<h2 id="orge2c256b"><span class="section-number-2">1</span> HDF5 back end</h2>
<div id="outline-container-org62cada5" class="outline-2">
<h2 id="org62cada5"><span class="section-number-2">1</span> HDF5 back end</h2>
<div class="outline-text-2" id="text-1">
</div>
<div id="outline-container-org5417953" class="outline-3">
<h3 id="org5417953"><span class="section-number-3">1.1</span> Template for HDF5 definitions</h3>
<div id="outline-container-orgbc51ca7" class="outline-3">
<h3 id="orgbc51ca7"><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>
@ -349,8 +349,8 @@ for the JavaScript code in this tag.
</div>
</div>
<div id="outline-container-org1eaa4f8" class="outline-3">
<h3 id="org1eaa4f8"><span class="section-number-3">1.2</span> Template for HDF5 structures</h3>
<div id="outline-container-org54358ff" class="outline-3">
<h3 id="org54358ff"><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> {
@ -364,8 +364,8 @@ for the JavaScript code in this tag.
</div>
<div id="outline-container-org84513d4" class="outline-3">
<h3 id="org84513d4"><span class="section-number-3">1.3</span> Template for HDF5 init/deinit</h3>
<div id="outline-container-org5f24c16" class="outline-3">
<h3 id="org5f24c16"><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>
@ -445,8 +445,8 @@ for the JavaScript code in this tag.
</div>
</div>
<div id="outline-container-org36091b6" class="outline-3">
<h3 id="org36091b6"><span class="section-number-3">1.4</span> Template for HDF5 has/read/write the numerical attribute</h3>
<div id="outline-container-org36d9307" class="outline-3">
<h3 id="org36d9307"><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>
@ -540,8 +540,8 @@ for the JavaScript code in this tag.
</div>
</div>
<div id="outline-container-org7e40736" class="outline-3">
<h3 id="org7e40736"><span class="section-number-3">1.5</span> Template for HDF5 has/read/write the dataset of numerical data</h3>
<div id="outline-container-org51b9fc1" class="outline-3">
<h3 id="org51b9fc1"><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>
@ -664,8 +664,8 @@ for the JavaScript code in this tag.
</div>
</div>
<div id="outline-container-org3632620" class="outline-3">
<h3 id="org3632620"><span class="section-number-3">1.6</span> Template for HDF5 has/read/write the dataset of strings</h3>
<div id="outline-container-org6ab766d" class="outline-3">
<h3 id="org6ab766d"><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>
@ -870,8 +870,8 @@ for the JavaScript code in this tag.
</div>
</div>
<div id="outline-container-org27566b7" class="outline-3">
<h3 id="org27566b7"><span class="section-number-3">1.7</span> Template for HDF5 has/read/write the string attribute</h3>
<div id="outline-container-orgef16114" class="outline-3">
<h3 id="orgef16114"><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>
@ -998,7 +998,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-09-30 Thu 19:47</p>
<p class="date">Created: 2021-10-01 Fri 08:49</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-09-30 Thu 19:47 -->
<!-- 2021-10-01 Fri 08:49 -->
<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>
@ -317,26 +317,26 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#org2bc3ad4">1. TEXT back end</a>
<li><a href="#org6427297">1. TEXT back end</a>
<ul>
<li><a href="#org2378881">1.1. Template for group-related structures in text back end</a></li>
<li><a href="#org6dc8d31">1.2. Template for general structure in text back end</a></li>
<li><a href="#orgd7c7a39">1.3. Initialize function (constant part)</a></li>
<li><a href="#orgbcde88c">1.4. Deinitialize function (templated part)</a></li>
<li><a href="#org5ed3188">1.5. Template for text read struct</a></li>
<li><a href="#org4e13caa">1.6. Template for text flush struct</a></li>
<li><a href="#orgb89cc82">1.7. Template for text free memory</a></li>
<li><a href="#orgde1f115">1.8. Template for has/read/write the numerical attribute</a></li>
<li><a href="#org8e15dc1">1.9. Template for has/read/write the dataset of numerical data</a></li>
<li><a href="#orgcdea889">1.10. Template for has/read/write the dataset of strings</a></li>
<li><a href="#orgfc184e3">1.11. Template for has/read/write the string attribute</a></li>
<li><a href="#orgc9b00f5">1.12. RDM struct (hard-coded)</a>
<li><a href="#org4eee2c4">1.1. Template for group-related structures in text back end</a></li>
<li><a href="#org64957e9">1.2. Template for general structure in text back end</a></li>
<li><a href="#org2ab93d1">1.3. Initialize function (constant part)</a></li>
<li><a href="#org8f72f5b">1.4. Deinitialize function (templated part)</a></li>
<li><a href="#orgfb419d0">1.5. Template for text read struct</a></li>
<li><a href="#org0d7fd77">1.6. Template for text flush struct</a></li>
<li><a href="#org9afadd5">1.7. Template for text free memory</a></li>
<li><a href="#org8066609">1.8. Template for has/read/write the numerical attribute</a></li>
<li><a href="#org7bfa8e1">1.9. Template for has/read/write the dataset of numerical data</a></li>
<li><a href="#orgdaf8652">1.10. Template for has/read/write the dataset of strings</a></li>
<li><a href="#orgedb1c52">1.11. Template for has/read/write the string attribute</a></li>
<li><a href="#org32f1a0a">1.12. RDM struct (hard-coded)</a>
<ul>
<li><a href="#orga9016a5">1.12.1. Read the complete struct</a></li>
<li><a href="#orgb35e9fe">1.12.2. Flush the complete struct</a></li>
<li><a href="#org872ef09">1.12.3. Free memory</a></li>
<li><a href="#orgf842fc6">1.12.4. Read/Write the one<sub>e</sub> attribute</a></li>
<li><a href="#org2581fcd">1.12.5. Read/Write the two<sub>e</sub> attribute</a></li>
<li><a href="#org10793df">1.12.1. Read the complete struct</a></li>
<li><a href="#org74e5f27">1.12.2. Flush the complete struct</a></li>
<li><a href="#org8acc941">1.12.3. Free memory</a></li>
<li><a href="#orgf3fef1d">1.12.4. Read/Write the one<sub>e</sub> attribute</a></li>
<li><a href="#orga08f7a8">1.12.5. Read/Write the two<sub>e</sub> attribute</a></li>
</ul>
</li>
</ul>
@ -345,8 +345,8 @@ for the JavaScript code in this tag.
</div>
</div>
<div id="outline-container-org2bc3ad4" class="outline-2">
<h2 id="org2bc3ad4"><span class="section-number-2">1</span> TEXT back end</h2>
<div id="outline-container-org6427297" class="outline-2">
<h2 id="org6427297"><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
@ -367,8 +367,8 @@ The file is written when closed, or when the flush function is called.
</p>
</div>
<div id="outline-container-org2378881" class="outline-3">
<h3 id="org2378881"><span class="section-number-3">1.1</span> Template for group-related structures in text back end</h3>
<div id="outline-container-org4eee2c4" class="outline-3">
<h3 id="org4eee2c4"><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 {
@ -387,8 +387,8 @@ The file is written when closed, or when the flush function is called.
</div>
</div>
<div id="outline-container-org6dc8d31" class="outline-3">
<h3 id="org6dc8d31"><span class="section-number-3">1.2</span> Template for general structure in text back end</h3>
<div id="outline-container-org64957e9" class="outline-3">
<h3 id="org64957e9"><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> {
@ -414,8 +414,8 @@ The file is written when closed, or when the flush function is called.
</div>
</div>
<div id="outline-container-orgd7c7a39" class="outline-3">
<h3 id="orgd7c7a39"><span class="section-number-3">1.3</span> Initialize function (constant part)</h3>
<div id="outline-container-org2ab93d1" class="outline-3">
<h3 id="org2ab93d1"><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>
@ -516,8 +516,8 @@ The file is written when closed, or when the flush function is called.
</div>
</div>
<div id="outline-container-orgbcde88c" class="outline-3">
<h3 id="orgbcde88c"><span class="section-number-3">1.4</span> Deinitialize function (templated part)</h3>
<div id="outline-container-org8f72f5b" class="outline-3">
<h3 id="org8f72f5b"><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>
@ -542,8 +542,8 @@ The file is written when closed, or when the flush function is called.
</div>
</div>
<div id="outline-container-org5ed3188" class="outline-3">
<h3 id="org5ed3188"><span class="section-number-3">1.5</span> Template for text read struct</h3>
<div id="outline-container-orgfb419d0" class="outline-3">
<h3 id="orgfb419d0"><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*
@ -837,8 +837,8 @@ trexio_text_read_$group$ (<span style="color: #228b22;">trexio_text_t</span>* <s
</div>
</div>
<div id="outline-container-org4e13caa" class="outline-3">
<h3 id="org4e13caa"><span class="section-number-3">1.6</span> Template for text flush struct</h3>
<div id="outline-container-org0d7fd77" class="outline-3">
<h3 id="org0d7fd77"><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>
@ -903,8 +903,8 @@ trexio_text_read_$group$ (<span style="color: #228b22;">trexio_text_t</span>* <s
</div>
</div>
<div id="outline-container-orgb89cc82" class="outline-3">
<h3 id="orgb89cc82"><span class="section-number-3">1.7</span> Template for text free memory</h3>
<div id="outline-container-org9afadd5" class="outline-3">
<h3 id="org9afadd5"><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.
@ -949,8 +949,8 @@ Memory is allocated when reading. The following function frees memory.
</div>
</div>
<div id="outline-container-orgde1f115" class="outline-3">
<h3 id="orgde1f115"><span class="section-number-3">1.8</span> Template for has/read/write the numerical attribute</h3>
<div id="outline-container-org8066609" class="outline-3">
<h3 id="org8066609"><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>
@ -1013,8 +1013,8 @@ Memory is allocated when reading. The following function frees memory.
</div>
</div>
<div id="outline-container-org8e15dc1" class="outline-3">
<h3 id="org8e15dc1"><span class="section-number-3">1.9</span> Template for has/read/write the dataset of numerical data</h3>
<div id="outline-container-org7bfa8e1" class="outline-3">
<h3 id="org7bfa8e1"><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.
@ -1110,8 +1110,8 @@ The <code>group_dset</code> array is assumed allocated with the appropriate size
</div>
</div>
</div>
<div id="outline-container-orgcdea889" class="outline-3">
<h3 id="orgcdea889"><span class="section-number-3">1.10</span> Template for has/read/write the dataset of strings</h3>
<div id="outline-container-orgdaf8652" class="outline-3">
<h3 id="orgdaf8652"><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.
@ -1212,8 +1212,8 @@ The <code>group_dset</code> array is assumed allocated with the appropriate size
</div>
</div>
</div>
<div id="outline-container-orgfc184e3" class="outline-3">
<h3 id="orgfc184e3"><span class="section-number-3">1.11</span> Template for has/read/write the string attribute</h3>
<div id="outline-container-orgedb1c52" class="outline-3">
<h3 id="orgedb1c52"><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>
@ -1287,12 +1287,12 @@ The <code>group_dset</code> array is assumed allocated with the appropriate size
</div>
</div>
</div>
<div id="outline-container-orgc9b00f5" class="outline-3">
<h3 id="orgc9b00f5"><span class="section-number-3">1.12</span> RDM struct (hard-coded)</h3>
<div id="outline-container-org32f1a0a" class="outline-3">
<h3 id="org32f1a0a"><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-orga9016a5" class="outline-4">
<h4 id="orga9016a5"><span class="section-number-4">1.12.1</span> Read the complete struct</h4>
<div id="outline-container-org10793df" class="outline-4">
<h4 id="org10793df"><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>);
@ -1387,8 +1387,8 @@ The <code>group_dset</code> array is assumed allocated with the appropriate size
</div>
</div>
<div id="outline-container-orgb35e9fe" class="outline-4">
<h4 id="orgb35e9fe"><span class="section-number-4">1.12.2</span> Flush the complete struct</h4>
<div id="outline-container-org74e5f27" class="outline-4">
<h4 id="org74e5f27"><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>);
@ -1430,8 +1430,8 @@ The <code>group_dset</code> array is assumed allocated with the appropriate size
</div>
</div>
<div id="outline-container-org872ef09" class="outline-4">
<h4 id="org872ef09"><span class="section-number-4">1.12.3</span> Free memory</h4>
<div id="outline-container-org8acc941" class="outline-4">
<h4 id="org8acc941"><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.
@ -1467,8 +1467,8 @@ Memory is allocated when reading. The followig function frees memory.
</div>
</div>
<div id="outline-container-orgf842fc6" class="outline-4">
<h4 id="orgf842fc6"><span class="section-number-4">1.12.4</span> Read/Write the one<sub>e</sub> attribute</h4>
<div id="outline-container-orgf3fef1d" class="outline-4">
<h4 id="orgf3fef1d"><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.
@ -1534,8 +1534,8 @@ The <code>one_e</code> array is assumed allocated with the appropriate size.
</div>
</div>
<div id="outline-container-org2581fcd" class="outline-4">
<h4 id="org2581fcd"><span class="section-number-4">1.12.5</span> Read/Write the two<sub>e</sub> attribute</h4>
<div id="outline-container-orga08f7a8" class="outline-4">
<h4 id="orga08f7a8"><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
@ -1643,7 +1643,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-09-30 Thu 19:47</p>
<p class="date">Created: 2021-10-01 Fri 08:49</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>

118
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-09-30 Thu 19:47 -->
<!-- 2021-10-01 Fri 08:49 -->
<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>
@ -339,28 +339,28 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#org6e55e02">1. Metadata (metadata group)</a></li>
<li><a href="#org9db995a">2. Electron (electron group)</a></li>
<li><a href="#org2ad13ed">3. Nucleus (nucleus group)</a></li>
<li><a href="#orgc63a65a">4. Effective core potentials (ecp group)</a></li>
<li><a href="#org9ef8385">5. Basis set (basis group)</a></li>
<li><a href="#org0d08cf0">6. Atomic orbitals (ao group)</a>
<li><a href="#org128c846">1. Metadata (metadata group)</a></li>
<li><a href="#orga3b6a37">2. Electron (electron group)</a></li>
<li><a href="#orgd86557c">3. Nucleus (nucleus group)</a></li>
<li><a href="#org5967272">4. Effective core potentials (ecp group)</a></li>
<li><a href="#orgc4dff1f">5. Basis set (basis group)</a></li>
<li><a href="#org5818478">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="#orgb1e1923">7. Molecular orbitals (mo group)</a>
<li><a href="#org541dc94">7. Molecular orbitals (mo group)</a>
<ul>
<li><a href="#org4b00d86">7.1. One-electron integrals (<code>mo_1e_int</code> group)</a></li>
<li><a href="#orgf9f46f2">7.2. Two-electron integrals (<code>mo_2e_int</code> group)</a></li>
<li><a href="#org20f3b18">7.1. One-electron integrals (<code>mo_1e_int</code> group)</a></li>
<li><a href="#orgf0330c0">7.2. Two-electron integrals (<code>mo_2e_int</code> group)</a></li>
</ul>
</li>
<li><a href="#org7dfa876">8. <span class="todo TODO">TODO</span> Slater determinants</a></li>
<li><a href="#orgc21a6f0">9. <span class="todo TODO">TODO</span> Reduced density matrices (rdm group)</a></li>
<li><a href="#org30505a4">10. Appendix</a>
<li><a href="#org74ec9e0">8. <span class="todo TODO">TODO</span> Slater determinants</a></li>
<li><a href="#org5f8c5b3">9. <span class="todo TODO">TODO</span> Reduced density matrices (rdm group)</a></li>
<li><a href="#orgfbadfc0">10. Appendix</a>
<ul>
<li><a href="#org039e88b">10.1. Python script from table to json</a></li>
<li><a href="#orga6f804d">10.1. Python script from table to json</a></li>
</ul>
</li>
</ul>
@ -402,8 +402,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-org6e55e02" class="outline-2">
<h2 id="org6e55e02"><span class="section-number-2">1</span> Metadata (metadata group)</h2>
<div id="outline-container-org128c846" class="outline-2">
<h2 id="org128c846"><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
@ -413,7 +413,7 @@ which have participated to the creation of the file, a list of
authors of the file, and a textual description.
</p>
<table id="org7c48f01" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgf740cb7" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -480,15 +480,15 @@ authors of the file, and a textual description.
</div>
</div>
<div id="outline-container-org9db995a" class="outline-2">
<h2 id="org9db995a"><span class="section-number-2">2</span> Electron (electron group)</h2>
<div id="outline-container-orga3b6a37" class="outline-2">
<h2 id="orga3b6a37"><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="orgad0adca" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgb49a490" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -527,15 +527,15 @@ the number of &uarr; and &darr; electrons is fixed.
</div>
</div>
<div id="outline-container-org2ad13ed" class="outline-2">
<h2 id="org2ad13ed"><span class="section-number-2">3</span> Nucleus (nucleus group)</h2>
<div id="outline-container-orgd86557c" class="outline-2">
<h2 id="orgd86557c"><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="orgf4b81d7" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orge941549" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -595,8 +595,8 @@ given in Cartesian \((x,y,z)\) format.
</div>
</div>
<div id="outline-container-orgc63a65a" class="outline-2">
<h2 id="orgc63a65a"><span class="section-number-2">4</span> Effective core potentials (ecp group)</h2>
<div id="outline-container-org5967272" class="outline-2">
<h2 id="org5967272"><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
@ -624,7 +624,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> for more info.
</p>
<table id="orgdc45b88" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org6fce35d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -733,8 +733,8 @@ See <a href="http://dx.doi.org/10.1063/1.4984046">http://dx.doi.org/10.1063/1.49
</div>
</div>
<div id="outline-container-org9ef8385" class="outline-2">
<h2 id="org9ef8385"><span class="section-number-2">5</span> Basis set (basis group)</h2>
<div id="outline-container-orgc4dff1f" class="outline-2">
<h2 id="orgc4dff1f"><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
@ -787,7 +787,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="orgfa757ca" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgb9b3843" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -956,8 +956,8 @@ prim_factor =
</div>
</div>
<div id="outline-container-org0d08cf0" class="outline-2">
<h2 id="org0d08cf0"><span class="section-number-2">6</span> Atomic orbitals (ao group)</h2>
<div id="outline-container-org5818478" class="outline-2">
<h2 id="org5818478"><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
@ -1005,13 +1005,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="#org9ef8385">Basis set</a> section) to \(\mathcal{N}_{z^2}\), which is the
the <a href="#orgc4dff1f">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="orgb6ad7aa" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org2fedd7f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1063,8 +1063,8 @@ introduced here should be \(\frac{\mathcal{N}_{xy}}{\mathcal{N}_{z^2}}\).
</table>
</div>
<div id="outline-container-orgac2f827" class="outline-3">
<h3 id="ao_one_e"><a id="orgac2f827"></a><span class="section-number-3">6.1</span> One-electron integrals (<code>ao_1e_int</code> group)</h3>
<div id="outline-container-org785768a" class="outline-3">
<h3 id="ao_one_e"><a id="org785768a"></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}}
@ -1082,7 +1082,7 @@ The one-electron integrals for a one-electron operator \(\hat{O}\) are
over atomic orbitals.
</p>
<table id="orgb6d23b6" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgfc0ec52" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1149,8 +1149,8 @@ over atomic orbitals.
</div>
</div>
<div id="outline-container-orgf3037c7" class="outline-3">
<h3 id="ao_two_e"><a id="orgf3037c7"></a><span class="section-number-3">6.2</span> Two-electron integrals (<code>ao_2e_int</code> group)</h3>
<div id="outline-container-org8ed89a2" class="outline-3">
<h3 id="ao_two_e"><a id="org8ed89a2"></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
@ -1171,7 +1171,7 @@ notation.
\mathbf{r}_j \vert)}{\vert \mathbf{r}_i - \mathbf{r}_j \vert} \] : electron-electron long range potential</li>
</ul>
<table id="orgb2b8ef3" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org2183904" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1211,10 +1211,10 @@ notation.
</div>
</div>
<div id="outline-container-orgb1e1923" class="outline-2">
<h2 id="orgb1e1923"><span class="section-number-2">7</span> Molecular orbitals (mo group)</h2>
<div id="outline-container-org541dc94" class="outline-2">
<h2 id="org541dc94"><span class="section-number-2">7</span> Molecular orbitals (mo group)</h2>
<div class="outline-text-2" id="text-7">
<table id="orgd30c679" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org7d1e607" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1280,8 +1280,8 @@ notation.
</table>
</div>
<div id="outline-container-org4b00d86" class="outline-3">
<h3 id="org4b00d86"><span class="section-number-3">7.1</span> One-electron integrals (<code>mo_1e_int</code> group)</h3>
<div id="outline-container-org20f3b18" class="outline-3">
<h3 id="org20f3b18"><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
@ -1289,7 +1289,7 @@ The operators as the same as those defined in the
the basis of molecular orbitals.
</p>
<table id="org32c0e62" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgf3ee24c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1356,8 +1356,8 @@ the basis of molecular orbitals.
</div>
</div>
<div id="outline-container-orgf9f46f2" class="outline-3">
<h3 id="orgf9f46f2"><span class="section-number-3">7.2</span> Two-electron integrals (<code>mo_2e_int</code> group)</h3>
<div id="outline-container-orgf0330c0" class="outline-3">
<h3 id="orgf0330c0"><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
@ -1365,7 +1365,7 @@ The operators as the same as those defined in the
the basis of molecular orbitals.
</p>
<table id="org9e8f49b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org66ad3bf" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1405,13 +1405,13 @@ the basis of molecular orbitals.
</div>
</div>
<div id="outline-container-org7dfa876" class="outline-2">
<h2 id="org7dfa876"><span class="section-number-2">8</span> <span class="todo TODO">TODO</span> Slater determinants</h2>
<div id="outline-container-org74ec9e0" class="outline-2">
<h2 id="org74ec9e0"><span class="section-number-2">8</span> <span class="todo TODO">TODO</span> Slater determinants</h2>
</div>
<div id="outline-container-orgc21a6f0" class="outline-2">
<h2 id="orgc21a6f0"><span class="section-number-2">9</span> <span class="todo TODO">TODO</span> Reduced density matrices (rdm group)</h2>
<div id="outline-container-org5f8c5b3" class="outline-2">
<h2 id="org5f8c5b3"><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="orge1c31de" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org62db209" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1464,15 +1464,15 @@ the basis of molecular orbitals.
</div>
</div>
<div id="outline-container-org30505a4" class="outline-2">
<h2 id="org30505a4"><span class="section-number-2">10</span> Appendix</h2>
<div id="outline-container-orgfbadfc0" class="outline-2">
<h2 id="orgfbadfc0"><span class="section-number-2">10</span> Appendix</h2>
<div class="outline-text-2" id="text-10">
</div>
<div id="outline-container-org039e88b" class="outline-3">
<h3 id="org039e88b"><span class="section-number-3">10.1</span> Python script from table to json</h3>
<div id="outline-container-orga6f804d" class="outline-3">
<h3 id="orga6f804d"><span class="section-number-3">10.1</span> Python script from table to json</h3>
<div class="outline-text-3" id="text-10-1">
<div class="org-src-container">
<pre class="src src-python" id="org5adfa72"><span style="color: #a020f0;">print</span>(<span style="color: #8b2252;">"""#+begin_src python :tangle trex.json"""</span>)
<pre class="src src-python" id="orga5def63"><span style="color: #a020f0;">print</span>(<span style="color: #8b2252;">"""#+begin_src python :tangle trex.json"""</span>)
<span style="color: #a020f0;">print</span>(<span style="color: #8b2252;">""" "%s": {"""</span>%(title))
<span style="color: #a0522d;">indent</span> = <span style="color: #8b2252;">" "</span>
<span style="color: #a0522d;">f1</span> = 0 ; <span style="color: #a0522d;">f2</span> = 0 ; <span style="color: #a0522d;">f3</span> = 0
@ -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-09-30 Thu 19:47</p>
<p class="date">Created: 2021-10-01 Fri 08:49</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>