1
0
mirror of https://github.com/TREX-CoE/trexio.git synced 2024-11-04 05:03:58 +01:00

Deploying to gh-pages from @ TREX-CoE/trexio@1812deb9dd 🚀

This commit is contained in:
scemama 2021-10-14 08:54:31 +00:00
parent 4703e52b99
commit 397f4637c3
7 changed files with 337 additions and 337 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-13 Wed 15:44 -->
<!-- 2021-10-14 Thu 08:54 -->
<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-13 Wed 15:44</p>
<p class="date">Created: 2021-10-14 Thu 08:54</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-13 Wed 15:44 -->
<!-- 2021-10-14 Thu 08:54 -->
<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="#org753a5a5">1. Text back end</a></li>
<li><a href="#org4f08e9d">2. HDF5 Back end</a></li>
<li><a href="#org859b3de">1. Text back end</a></li>
<li><a href="#orgd623740">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-org753a5a5" class="outline-2">
<h2 id="org753a5a5"><span class="section-number-2">1</span> Text back end</h2>
<div id="outline-container-org859b3de" class="outline-2">
<h2 id="org859b3de"><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-org4f08e9d" class="outline-2">
<h2 id="org4f08e9d"><span class="section-number-2">2</span> HDF5 Back end</h2>
<div id="outline-container-orgd623740" class="outline-2">
<h2 id="orgd623740"><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-13 Wed 15:44</p>
<p class="date">Created: 2021-10-14 Thu 08:54</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-13 Wed 15:44 -->
<!-- 2021-10-14 Thu 08:54 -->
<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-13 Wed 15:44</p>
<p class="date">Created: 2021-10-14 Thu 08:54</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-13 Wed 15:44 -->
<!-- 2021-10-14 Thu 08:54 -->
<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="#org4ca747e">1. Coding conventions</a>
<li><a href="#orgde3a11c">1. Coding conventions</a>
<ul>
<li><a href="#org8fe7644">1.1. Memory allocation</a></li>
<li><a href="#org389e8bb">1.1. Memory allocation</a></li>
</ul>
</li>
<li><a href="#orga0e83f6">2. Front end</a>
<li><a href="#orgd05ea22">2. Front end</a>
<ul>
<li><a href="#org9dc3ff1">2.1. Error handling</a>
<li><a href="#orga5c73d4">2.1. Error handling</a>
<ul>
<li><a href="#orga91d636">2.1.1. Decoding errors</a>
<li><a href="#org5ea8c9f">2.1.1. Decoding errors</a>
<ul>
<li><a href="#orgd736777">2.1.1.1. C source code</a></li>
<li><a href="#orgbc0e7bd">2.1.1.2. Fortran interface</a></li>
<li><a href="#org505fc1e">2.1.1.3. Python interface</a></li>
<li><a href="#org0848953">2.1.1.1. C source code</a></li>
<li><a href="#orgcbe506c">2.1.1.2. Fortran interface</a></li>
<li><a href="#org2d1d5e6">2.1.1.3. Python interface</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#orgf4f119b">2.2. Back ends</a>
<li><a href="#org9058249">2.2. Back ends</a>
<ul>
<li><a href="#orgbbc769f">2.2.1. C</a></li>
<li><a href="#org79c6964">2.2.2. Fortran</a></li>
<li><a href="#org43cf73f">2.2.3. Python</a></li>
<li><a href="#orgf0b7606">2.2.1. C</a></li>
<li><a href="#org5bda2da">2.2.2. Fortran</a></li>
<li><a href="#org04fa2a8">2.2.3. Python</a></li>
</ul>
</li>
<li><a href="#orgc3f00c6">2.3. Read/write behavior</a></li>
<li><a href="#orgce4a4e1">2.4. TREXIO file type</a>
<li><a href="#orgb4f64ff">2.3. Read/write behavior</a></li>
<li><a href="#org262cc84">2.4. TREXIO file type</a>
<ul>
<li><a href="#org83fec1e">2.4.1. TREXIO<sub>File</sub> Python class</a></li>
<li><a href="#orge9d4fed">2.4.1. TREXIO<sub>File</sub> Python class</a></li>
</ul>
</li>
<li><a href="#org77be345">2.5. Polymorphism of the file handle</a></li>
<li><a href="#org0e94556">2.6. File opening</a>
<li><a href="#org0e721b8">2.5. Polymorphism of the file handle</a></li>
<li><a href="#orgb9a6eeb">2.6. File opening</a>
<ul>
<li><a href="#org3b6facf">2.6.1. C</a></li>
<li><a href="#orgc3534dd">2.6.2. Fortran</a></li>
<li><a href="#org2cb8ae4">2.6.3. Python</a></li>
<li><a href="#orgf4c5d3a">2.6.4. Zero-based versus one-based arrays of indices</a></li>
<li><a href="#org2261ae1">2.6.1. C</a></li>
<li><a href="#orgfe0c647">2.6.2. Fortran</a></li>
<li><a href="#org840ceb4">2.6.3. Python</a></li>
<li><a href="#org7b4f93e">2.6.4. Zero-based versus one-based arrays of indices</a></li>
</ul>
</li>
<li><a href="#orgc55098c">2.7. File closing</a>
<li><a href="#org63fe5b8">2.7. File closing</a>
<ul>
<li><a href="#orgea74c64">2.7.1. C</a></li>
<li><a href="#orgf643c2d">2.7.2. Fortran</a></li>
<li><a href="#org755d641">2.7.3. Python</a></li>
<li><a href="#orga0380e0">2.7.1. C</a></li>
<li><a href="#orgc983a9d">2.7.2. Fortran</a></li>
<li><a href="#org1c336a3">2.7.3. Python</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#org709858c">3. Templates for front end</a>
<li><a href="#orgb96761a">3. Templates for front end</a>
<ul>
<li><a href="#org0eb59bb">3.1. Description</a></li>
<li><a href="#org39839e4">3.2. Templates for front end has/read/write a single numerical attribute</a>
<li><a href="#orga862c73">3.1. Description</a></li>
<li><a href="#orgd6d6a9f">3.2. Templates for front end has/read/write a single numerical attribute</a>
<ul>
<li><a href="#org0e0b00c">3.2.1. Introduction</a></li>
<li><a href="#orgeb8ab9b">3.2.2. C templates for front end</a>
<li><a href="#org8c394d8">3.2.1. Introduction</a></li>
<li><a href="#org8334678">3.2.2. C templates for front end</a>
<ul>
<li><a href="#org9e75abe">3.2.2.1. Function declarations</a></li>
<li><a href="#org74195cf">3.2.2.2. Source code for double precision functions</a></li>
<li><a href="#orgd9c2a41">3.2.2.3. Source code for single precision functions</a></li>
<li><a href="#org8eb403d">3.2.2.4. Source code for default functions</a></li>
<li><a href="#orgb70f428">3.2.2.1. Function declarations</a></li>
<li><a href="#org3b0602e">3.2.2.2. Source code for double precision functions</a></li>
<li><a href="#org9da1607">3.2.2.3. Source code for single precision functions</a></li>
<li><a href="#org6e4859f">3.2.2.4. Source code for default functions</a></li>
</ul>
</li>
<li><a href="#org4a3285d">3.2.3. Fortran templates for front end</a></li>
<li><a href="#orgcd24e79">3.2.4. Python templates for front end</a></li>
<li><a href="#org850a94b">3.2.3. Fortran templates for front end</a></li>
<li><a href="#orgdab8152">3.2.4. Python templates for front end</a></li>
</ul>
</li>
<li><a href="#org8e4e4b3">3.3. Templates for front end has/read/write a dataset of numerical data</a>
<li><a href="#orgcbbac4e">3.3. Templates for front end has/read/write a dataset of numerical data</a>
<ul>
<li><a href="#org45b9278">3.3.1. Introduction</a></li>
<li><a href="#orge1cf3c2">3.3.2. C templates for front end</a>
<li><a href="#org4677dd2">3.3.1. Introduction</a></li>
<li><a href="#org2cfd42d">3.3.2. C templates for front end</a>
<ul>
<li><a href="#org3bb0ae8">3.3.2.1. Function declarations</a></li>
<li><a href="#org0afdf43">3.3.2.2. Source code for double precision functions</a></li>
<li><a href="#org16d5409">3.3.2.3. Source code for single precision functions</a></li>
<li><a href="#orgd45b2d5">3.3.2.4. Source code for memory-safe functions</a></li>
<li><a href="#org49fdc42">3.3.2.5. Source code for default functions</a></li>
<li><a href="#org406e1a6">3.3.2.1. Function declarations</a></li>
<li><a href="#org28a488a">3.3.2.2. Source code for double precision functions</a></li>
<li><a href="#org43c7247">3.3.2.3. Source code for single precision functions</a></li>
<li><a href="#orgbfc12b7">3.3.2.4. Source code for memory-safe functions</a></li>
<li><a href="#orgd68804e">3.3.2.5. Source code for default functions</a></li>
</ul>
</li>
<li><a href="#orgd9066c9">3.3.3. Fortran templates for front end</a></li>
<li><a href="#org849d306">3.3.4. Python templates for front end</a></li>
<li><a href="#orgef8422a">3.3.3. Fortran templates for front end</a></li>
<li><a href="#org9271465">3.3.4. Python templates for front end</a></li>
</ul>
</li>
<li><a href="#org45bee93">3.4. Sparse data structures</a></li>
<li><a href="#orga1c7721">3.5. Templates for front end has/read/write a dataset of strings</a>
<li><a href="#org21bc41e">3.4. Sparse data structures</a></li>
<li><a href="#org01bfdb1">3.5. Templates for front end has/read/write a dataset of strings</a>
<ul>
<li><a href="#org6c6196e">3.5.1. Introduction</a></li>
<li><a href="#orga515816">3.5.2. C templates for front end</a>
<li><a href="#org815d753">3.5.1. Introduction</a></li>
<li><a href="#orgf75a30b">3.5.2. C templates for front end</a>
<ul>
<li><a href="#orgb57217e">3.5.2.1. Function declarations</a></li>
<li><a href="#org26df813">3.5.2.2. Source code for default functions</a></li>
<li><a href="#orgf93aea8">3.5.2.1. Function declarations</a></li>
<li><a href="#org5386cc6">3.5.2.2. Source code for default functions</a></li>
</ul>
</li>
<li><a href="#org5ba0509">3.5.3. Fortran templates for front end</a></li>
<li><a href="#org57180cc">3.5.4. Python templates for front end</a></li>
<li><a href="#orgb45316e">3.5.3. Fortran templates for front end</a></li>
<li><a href="#org82ea3a5">3.5.4. Python templates for front end</a></li>
</ul>
</li>
<li><a href="#org272d868">3.6. Templates for front end has/read/write a single string attribute</a>
<li><a href="#orgdd3cfcd">3.6. Templates for front end has/read/write a single string attribute</a>
<ul>
<li><a href="#org88cb11b">3.6.1. Introduction</a></li>
<li><a href="#org1af648a">3.6.2. C templates for front end</a>
<li><a href="#orga9343b6">3.6.1. Introduction</a></li>
<li><a href="#org9a95c2f">3.6.2. C templates for front end</a>
<ul>
<li><a href="#orgba69a9b">3.6.2.1. Function declarations</a></li>
<li><a href="#orga977a73">3.6.2.2. Source code for default functions</a></li>
<li><a href="#orgda12edd">3.6.2.1. Function declarations</a></li>
<li><a href="#org5a9191d">3.6.2.2. Source code for default functions</a></li>
</ul>
</li>
<li><a href="#org8eee9bd">3.6.3. Fortran templates for front end</a></li>
<li><a href="#orgde8723f">3.6.4. Python templates for front end</a></li>
<li><a href="#org9a0834f">3.6.3. Fortran templates for front end</a></li>
<li><a href="#orgfabe2ca">3.6.4. Python templates for front end</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#orgd4a1f93">4. Fortran helper/wrapper functions</a></li>
<li><a href="#orgd86db68">4. Fortran helper/wrapper functions</a></li>
</ul>
</div>
</div>
<div id="outline-container-org4ca747e" class="outline-2">
<h2 id="org4ca747e"><span class="section-number-2">1</span> Coding conventions</h2>
<div id="outline-container-orgde3a11c" class="outline-2">
<h2 id="orgde3a11c"><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-org8fe7644" class="outline-3">
<h3 id="org8fe7644"><span class="section-number-3">1.1</span> Memory allocation</h3>
<div id="outline-container-org389e8bb" class="outline-3">
<h3 id="org389e8bb"><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-orga0e83f6" class="outline-2">
<h2 id="orga0e83f6"><span class="section-number-2">2</span> Front end</h2>
<div id="outline-container-orgd05ea22" class="outline-2">
<h2 id="orgd05ea22"><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-org9dc3ff1" class="outline-3">
<h3 id="org9dc3ff1"><span class="section-number-3">2.1</span> Error handling</h3>
<div id="outline-container-orga5c73d4" class="outline-3">
<h3 id="orga5c73d4"><span class="section-number-3">2.1</span> Error handling</h3>
<div class="outline-text-3" id="text-2-1">
<table id="org56d9b14" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org5d1869d" 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-orga91d636" class="outline-4">
<h4 id="orga91d636"><span class="section-number-4">2.1.1</span> Decoding errors</h4>
<div id="outline-container-org5ea8c9f" class="outline-4">
<h4 id="org5ea8c9f"><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-orgd736777" class="outline-5">
<h5 id="orgd736777"><span class="section-number-5">2.1.1.1</span> C source code</h5>
<div id="outline-container-org0848953" class="outline-5">
<h5 id="org0848953"><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-orgbc0e7bd" class="outline-5">
<h5 id="orgbc0e7bd"><span class="section-number-5">2.1.1.2</span> Fortran interface</h5>
<div id="outline-container-orgcbe506c" class="outline-5">
<h5 id="orgcbe506c"><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-org505fc1e" class="outline-5">
<h5 id="org505fc1e"><span class="section-number-5">2.1.1.3</span> Python interface</h5>
<div id="outline-container-org2d1d5e6" class="outline-5">
<h5 id="org2d1d5e6"><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-orgf4f119b" class="outline-3">
<h3 id="orgf4f119b"><span class="section-number-3">2.2</span> Back ends</h3>
<div id="outline-container-org9058249" class="outline-3">
<h3 id="org9058249"><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-orgbbc769f" class="outline-4">
<h4 id="orgbbc769f"><span class="section-number-4">2.2.1</span> C</h4>
<div id="outline-container-orgf0b7606" class="outline-4">
<h4 id="orgf0b7606"><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-org79c6964" class="outline-4">
<h4 id="org79c6964"><span class="section-number-4">2.2.2</span> Fortran</h4>
<div id="outline-container-org5bda2da" class="outline-4">
<h4 id="org5bda2da"><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-org43cf73f" class="outline-4">
<h4 id="org43cf73f"><span class="section-number-4">2.2.3</span> Python</h4>
<div id="outline-container-org04fa2a8" class="outline-4">
<h4 id="org04fa2a8"><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-orgc3f00c6" class="outline-3">
<h3 id="orgc3f00c6"><span class="section-number-3">2.3</span> Read/write behavior</h3>
<div id="outline-container-orgb4f64ff" class="outline-3">
<h3 id="orgb4f64ff"><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-orgce4a4e1" class="outline-3">
<h3 id="orgce4a4e1"><span class="section-number-3">2.4</span> TREXIO file type</h3>
<div id="outline-container-org262cc84" class="outline-3">
<h3 id="org262cc84"><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-org83fec1e" class="outline-4">
<h4 id="org83fec1e"><span class="section-number-4">2.4.1</span> TREXIO<sub>File</sub> Python class</h4>
<div id="outline-container-orge9d4fed" class="outline-4">
<h4 id="orge9d4fed"><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-org77be345" class="outline-3">
<h3 id="org77be345"><span class="section-number-3">2.5</span> Polymorphism of the file handle</h3>
<div id="outline-container-org0e721b8" class="outline-3">
<h3 id="org0e721b8"><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-org0e94556" class="outline-3">
<h3 id="org0e94556"><span class="section-number-3">2.6</span> File opening</h3>
<div id="outline-container-orgb9a6eeb" class="outline-3">
<h3 id="orgb9a6eeb"><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-org3b6facf" class="outline-4">
<h4 id="org3b6facf"><span class="section-number-4">2.6.1</span> C</h4>
<div id="outline-container-org2261ae1" class="outline-4">
<h4 id="org2261ae1"><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-orgc3534dd" class="outline-4">
<h4 id="orgc3534dd"><span class="section-number-4">2.6.2</span> Fortran</h4>
<div id="outline-container-orgfe0c647" class="outline-4">
<h4 id="orgfe0c647"><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-org2cb8ae4" class="outline-4">
<h4 id="org2cb8ae4"><span class="section-number-4">2.6.3</span> Python</h4>
<div id="outline-container-org840ceb4" class="outline-4">
<h4 id="org840ceb4"><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-orgf4c5d3a" class="outline-4">
<h4 id="orgf4c5d3a"><span class="section-number-4">2.6.4</span> Zero-based versus one-based arrays of indices</h4>
<div id="outline-container-org7b4f93e" class="outline-4">
<h4 id="org7b4f93e"><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-orgc55098c" class="outline-3">
<h3 id="orgc55098c"><span class="section-number-3">2.7</span> File closing</h3>
<div id="outline-container-org63fe5b8" class="outline-3">
<h3 id="org63fe5b8"><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-orgea74c64" class="outline-4">
<h4 id="orgea74c64"><span class="section-number-4">2.7.1</span> C</h4>
<div id="outline-container-orga0380e0" class="outline-4">
<h4 id="orga0380e0"><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-orgf643c2d" class="outline-4">
<h4 id="orgf643c2d"><span class="section-number-4">2.7.2</span> Fortran</h4>
<div id="outline-container-orgc983a9d" class="outline-4">
<h4 id="orgc983a9d"><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-org755d641" class="outline-4">
<h4 id="org755d641"><span class="section-number-4">2.7.3</span> Python</h4>
<div id="outline-container-org1c336a3" class="outline-4">
<h4 id="org1c336a3"><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-org709858c" class="outline-2">
<h2 id="org709858c"><span class="section-number-2">3</span> Templates for front end</h2>
<div id="outline-container-orgb96761a" class="outline-2">
<h2 id="orgb96761a"><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-org0eb59bb" class="outline-3">
<h3 id="org0eb59bb"><span class="section-number-3">3.1</span> Description</h3>
<div id="outline-container-orga862c73" class="outline-3">
<h3 id="orga862c73"><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-org39839e4" class="outline-3">
<h3 id="org39839e4"><span class="section-number-3">3.2</span> Templates for front end has/read/write a single numerical attribute</h3>
<div id="outline-container-orgd6d6a9f" class="outline-3">
<h3 id="orgd6d6a9f"><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-org0e0b00c" class="outline-4">
<h4 id="org0e0b00c"><span class="section-number-4">3.2.1</span> Introduction</h4>
<div id="outline-container-org8c394d8" class="outline-4">
<h4 id="org8c394d8"><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-orgeb8ab9b" class="outline-4">
<h4 id="orgeb8ab9b"><span class="section-number-4">3.2.2</span> C templates for front end</h4>
<div id="outline-container-org8334678" class="outline-4">
<h4 id="org8334678"><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-org9e75abe" class="outline-5">
<h5 id="org9e75abe"><span class="section-number-5">3.2.2.1</span> Function declarations</h5>
<div id="outline-container-orgb70f428" class="outline-5">
<h5 id="orgb70f428"><span class="section-number-5">3.2.2.1</span> Function declarations</h5>
</div>
<div id="outline-container-org74195cf" class="outline-5">
<h5 id="org74195cf"><span class="section-number-5">3.2.2.2</span> Source code for double precision functions</h5>
<div id="outline-container-org3b0602e" class="outline-5">
<h5 id="org3b0602e"><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-orgd9c2a41" class="outline-5">
<h5 id="orgd9c2a41"><span class="section-number-5">3.2.2.3</span> Source code for single precision functions</h5>
<div id="outline-container-org9da1607" class="outline-5">
<h5 id="org9da1607"><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-org8eb403d" class="outline-5">
<h5 id="org8eb403d"><span class="section-number-5">3.2.2.4</span> Source code for default functions</h5>
<div id="outline-container-org6e4859f" class="outline-5">
<h5 id="org6e4859f"><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-org4a3285d" class="outline-4">
<h4 id="org4a3285d"><span class="section-number-4">3.2.3</span> Fortran templates for front end</h4>
<div id="outline-container-org850a94b" class="outline-4">
<h4 id="org850a94b"><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-orgcd24e79" class="outline-4">
<h4 id="orgcd24e79"><span class="section-number-4">3.2.4</span> Python templates for front end</h4>
<div id="outline-container-orgdab8152" class="outline-4">
<h4 id="orgdab8152"><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-org8e4e4b3" class="outline-3">
<h3 id="org8e4e4b3"><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-orgcbbac4e" class="outline-3">
<h3 id="orgcbbac4e"><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-org45b9278" class="outline-4">
<h4 id="org45b9278"><span class="section-number-4">3.3.1</span> Introduction</h4>
<div id="outline-container-org4677dd2" class="outline-4">
<h4 id="org4677dd2"><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-orge1cf3c2" class="outline-4">
<h4 id="orge1cf3c2"><span class="section-number-4">3.3.2</span> C templates for front end</h4>
<div id="outline-container-org2cfd42d" class="outline-4">
<h4 id="org2cfd42d"><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-org3bb0ae8" class="outline-5">
<h5 id="org3bb0ae8"><span class="section-number-5">3.3.2.1</span> Function declarations</h5>
<div id="outline-container-org406e1a6" class="outline-5">
<h5 id="org406e1a6"><span class="section-number-5">3.3.2.1</span> Function declarations</h5>
</div>
<div id="outline-container-org0afdf43" class="outline-5">
<h5 id="org0afdf43"><span class="section-number-5">3.3.2.2</span> Source code for double precision functions</h5>
<div id="outline-container-org28a488a" class="outline-5">
<h5 id="org28a488a"><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-org16d5409" class="outline-5">
<h5 id="org16d5409"><span class="section-number-5">3.3.2.3</span> Source code for single precision functions</h5>
<div id="outline-container-org43c7247" class="outline-5">
<h5 id="org43c7247"><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-orgd45b2d5" class="outline-5">
<h5 id="orgd45b2d5"><span class="section-number-5">3.3.2.4</span> Source code for memory-safe functions</h5>
<div id="outline-container-orgbfc12b7" class="outline-5">
<h5 id="orgbfc12b7"><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="orgaba2b52"><span style="color: #228b22;">trexio_exit_code</span> <span style="color: #a0522d;">rc</span>;
<pre class="src src-c" id="orgd112b36"><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-org49fdc42" class="outline-5">
<h5 id="org49fdc42"><span class="section-number-5">3.3.2.5</span> Source code for default functions</h5>
<div id="outline-container-orgd68804e" class="outline-5">
<h5 id="orgd68804e"><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-orgd9066c9" class="outline-4">
<h4 id="orgd9066c9"><span class="section-number-4">3.3.3</span> Fortran templates for front end</h4>
<div id="outline-container-orgef8422a" class="outline-4">
<h4 id="orgef8422a"><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-org849d306" class="outline-4">
<h4 id="org849d306"><span class="section-number-4">3.3.4</span> Python templates for front end</h4>
<div id="outline-container-org9271465" class="outline-4">
<h4 id="org9271465"><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-org45bee93" class="outline-3">
<h3 id="org45bee93"><span class="section-number-3">3.4</span> Sparse data structures</h3>
<div id="outline-container-org21bc41e" class="outline-3">
<h3 id="org21bc41e"><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-orga1c7721" class="outline-3">
<h3 id="orga1c7721"><span class="section-number-3">3.5</span> Templates for front end has/read/write a dataset of strings</h3>
<div id="outline-container-org01bfdb1" class="outline-3">
<h3 id="org01bfdb1"><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-org6c6196e" class="outline-4">
<h4 id="org6c6196e"><span class="section-number-4">3.5.1</span> Introduction</h4>
<div id="outline-container-org815d753" class="outline-4">
<h4 id="org815d753"><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-orga515816" class="outline-4">
<h4 id="orga515816"><span class="section-number-4">3.5.2</span> C templates for front end</h4>
<div id="outline-container-orgf75a30b" class="outline-4">
<h4 id="orgf75a30b"><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-orgb57217e" class="outline-5">
<h5 id="orgb57217e"><span class="section-number-5">3.5.2.1</span> Function declarations</h5>
<div id="outline-container-orgf93aea8" class="outline-5">
<h5 id="orgf93aea8"><span class="section-number-5">3.5.2.1</span> Function declarations</h5>
</div>
<div id="outline-container-org26df813" class="outline-5">
<h5 id="org26df813"><span class="section-number-5">3.5.2.2</span> Source code for default functions</h5>
<div id="outline-container-org5386cc6" class="outline-5">
<h5 id="org5386cc6"><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-org5ba0509" class="outline-4">
<h4 id="org5ba0509"><span class="section-number-4">3.5.3</span> Fortran templates for front end</h4>
<div id="outline-container-orgb45316e" class="outline-4">
<h4 id="orgb45316e"><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-org57180cc" class="outline-4">
<h4 id="org57180cc"><span class="section-number-4">3.5.4</span> Python templates for front end</h4>
<div id="outline-container-org82ea3a5" class="outline-4">
<h4 id="org82ea3a5"><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-org272d868" class="outline-3">
<h3 id="org272d868"><span class="section-number-3">3.6</span> Templates for front end has/read/write a single string attribute</h3>
<div id="outline-container-orgdd3cfcd" class="outline-3">
<h3 id="orgdd3cfcd"><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-org88cb11b" class="outline-4">
<h4 id="org88cb11b"><span class="section-number-4">3.6.1</span> Introduction</h4>
<div id="outline-container-orga9343b6" class="outline-4">
<h4 id="orga9343b6"><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-org1af648a" class="outline-4">
<h4 id="org1af648a"><span class="section-number-4">3.6.2</span> C templates for front end</h4>
<div id="outline-container-org9a95c2f" class="outline-4">
<h4 id="org9a95c2f"><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-orgba69a9b" class="outline-5">
<h5 id="orgba69a9b"><span class="section-number-5">3.6.2.1</span> Function declarations</h5>
<div id="outline-container-orgda12edd" class="outline-5">
<h5 id="orgda12edd"><span class="section-number-5">3.6.2.1</span> Function declarations</h5>
</div>
<div id="outline-container-orga977a73" class="outline-5">
<h5 id="orga977a73"><span class="section-number-5">3.6.2.2</span> Source code for default functions</h5>
<div id="outline-container-org5a9191d" class="outline-5">
<h5 id="org5a9191d"><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-org8eee9bd" class="outline-4">
<h4 id="org8eee9bd"><span class="section-number-4">3.6.3</span> Fortran templates for front end</h4>
<div id="outline-container-org9a0834f" class="outline-4">
<h4 id="org9a0834f"><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-orgde8723f" class="outline-4">
<h4 id="orgde8723f"><span class="section-number-4">3.6.4</span> Python templates for front end</h4>
<div id="outline-container-orgfabe2ca" class="outline-4">
<h4 id="orgfabe2ca"><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-orgd4a1f93" class="outline-2">
<h2 id="orgd4a1f93"><span class="section-number-2">4</span> Fortran helper/wrapper functions</h2>
<div id="outline-container-orgd86db68" class="outline-2">
<h2 id="orgd86db68"><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-13 Wed 15:44</p>
<p class="date">Created: 2021-10-14 Thu 08:54</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-13 Wed 15:44 -->
<!-- 2021-10-14 Thu 08:54 -->
<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="#org6506c1f">1. HDF5 back end</a>
<li><a href="#org26211eb">1. HDF5 back end</a>
<ul>
<li><a href="#org62e0c7b">1.1. Template for HDF5 definitions</a></li>
<li><a href="#orgca96998">1.2. Template for HDF5 structures</a></li>
<li><a href="#org95282e5">1.3. Template for HDF5 init/deinit</a></li>
<li><a href="#org1bc2853">1.4. Template for HDF5 has/read/write the numerical attribute</a></li>
<li><a href="#orge7b6e80">1.5. Template for HDF5 has/read/write the dataset of numerical data</a></li>
<li><a href="#org1a22ff2">1.6. Template for HDF5 has/read/write the dataset of strings</a></li>
<li><a href="#org24e06ea">1.7. Template for HDF5 has/read/write the string attribute</a></li>
<li><a href="#org03e88f5">1.1. Template for HDF5 definitions</a></li>
<li><a href="#orge1d6ea7">1.2. Template for HDF5 structures</a></li>
<li><a href="#org30b93dd">1.3. Template for HDF5 init/deinit</a></li>
<li><a href="#org19294ee">1.4. Template for HDF5 has/read/write the numerical attribute</a></li>
<li><a href="#org4d7a272">1.5. Template for HDF5 has/read/write the dataset of numerical data</a></li>
<li><a href="#orgce47e27">1.6. Template for HDF5 has/read/write the dataset of strings</a></li>
<li><a href="#org8551e26">1.7. Template for HDF5 has/read/write the string attribute</a></li>
</ul>
</li>
</ul>
</div>
</div>
<div id="outline-container-org6506c1f" class="outline-2">
<h2 id="org6506c1f"><span class="section-number-2">1</span> HDF5 back end</h2>
<div id="outline-container-org26211eb" class="outline-2">
<h2 id="org26211eb"><span class="section-number-2">1</span> HDF5 back end</h2>
<div class="outline-text-2" id="text-1">
</div>
<div id="outline-container-org62e0c7b" class="outline-3">
<h3 id="org62e0c7b"><span class="section-number-3">1.1</span> Template for HDF5 definitions</h3>
<div id="outline-container-org03e88f5" class="outline-3">
<h3 id="org03e88f5"><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-orgca96998" class="outline-3">
<h3 id="orgca96998"><span class="section-number-3">1.2</span> Template for HDF5 structures</h3>
<div id="outline-container-orge1d6ea7" class="outline-3">
<h3 id="orge1d6ea7"><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-org95282e5" class="outline-3">
<h3 id="org95282e5"><span class="section-number-3">1.3</span> Template for HDF5 init/deinit</h3>
<div id="outline-container-org30b93dd" class="outline-3">
<h3 id="org30b93dd"><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-org1bc2853" class="outline-3">
<h3 id="org1bc2853"><span class="section-number-3">1.4</span> Template for HDF5 has/read/write the numerical attribute</h3>
<div id="outline-container-org19294ee" class="outline-3">
<h3 id="org19294ee"><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-orge7b6e80" class="outline-3">
<h3 id="orge7b6e80"><span class="section-number-3">1.5</span> Template for HDF5 has/read/write the dataset of numerical data</h3>
<div id="outline-container-org4d7a272" class="outline-3">
<h3 id="org4d7a272"><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-org1a22ff2" class="outline-3">
<h3 id="org1a22ff2"><span class="section-number-3">1.6</span> Template for HDF5 has/read/write the dataset of strings</h3>
<div id="outline-container-orgce47e27" class="outline-3">
<h3 id="orgce47e27"><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-org24e06ea" class="outline-3">
<h3 id="org24e06ea"><span class="section-number-3">1.7</span> Template for HDF5 has/read/write the string attribute</h3>
<div id="outline-container-org8551e26" class="outline-3">
<h3 id="org8551e26"><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-13 Wed 15:44</p>
<p class="date">Created: 2021-10-14 Thu 08:54</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-13 Wed 15:44 -->
<!-- 2021-10-14 Thu 08:54 -->
<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="#orgd40589b">1. TEXT back end</a>
<li><a href="#orgc3cd0a5">1. TEXT back end</a>
<ul>
<li><a href="#orga2e1f70">1.1. Template for group-related structures in text back end</a></li>
<li><a href="#orgb8ad10d">1.2. Template for general structure in text back end</a></li>
<li><a href="#orgb2f8f9f">1.3. Initialize function (constant part)</a></li>
<li><a href="#org715035c">1.4. Deinitialize function (templated part)</a></li>
<li><a href="#org2d81245">1.5. Template for text read struct</a></li>
<li><a href="#org277f07e">1.6. Template for text flush struct</a></li>
<li><a href="#org8a820e9">1.7. Template for text free memory</a></li>
<li><a href="#orga516891">1.8. Template for has/read/write the numerical attribute</a></li>
<li><a href="#orge7bec40">1.9. Template for has/read/write the dataset of numerical data</a></li>
<li><a href="#org4034bdb">1.10. Template for has/read/write the dataset of strings</a></li>
<li><a href="#org9b83a67">1.11. Template for has/read/write the string attribute</a></li>
<li><a href="#org02b19bb">1.12. RDM struct (hard-coded)</a>
<li><a href="#orge099b8a">1.1. Template for group-related structures in text back end</a></li>
<li><a href="#org0888cf5">1.2. Template for general structure in text back end</a></li>
<li><a href="#orgb16eb03">1.3. Initialize function (constant part)</a></li>
<li><a href="#org2e7b702">1.4. Deinitialize function (templated part)</a></li>
<li><a href="#orgb97e7a0">1.5. Template for text read struct</a></li>
<li><a href="#orgd4754d3">1.6. Template for text flush struct</a></li>
<li><a href="#org64eb7c8">1.7. Template for text free memory</a></li>
<li><a href="#orgaa0b91e">1.8. Template for has/read/write the numerical attribute</a></li>
<li><a href="#org73ad028">1.9. Template for has/read/write the dataset of numerical data</a></li>
<li><a href="#org64f2ea3">1.10. Template for has/read/write the dataset of strings</a></li>
<li><a href="#org14a66ec">1.11. Template for has/read/write the string attribute</a></li>
<li><a href="#org56a4136">1.12. RDM struct (hard-coded)</a>
<ul>
<li><a href="#org49287c3">1.12.1. Read the complete struct</a></li>
<li><a href="#orgd279259">1.12.2. Flush the complete struct</a></li>
<li><a href="#org133df6b">1.12.3. Free memory</a></li>
<li><a href="#orgd7cbd35">1.12.4. Read/Write the one<sub>e</sub> attribute</a></li>
<li><a href="#org3946190">1.12.5. Read/Write the two<sub>e</sub> attribute</a></li>
<li><a href="#orgaa1cda3">1.12.1. Read the complete struct</a></li>
<li><a href="#org85e012e">1.12.2. Flush the complete struct</a></li>
<li><a href="#org5e09b82">1.12.3. Free memory</a></li>
<li><a href="#org714daf6">1.12.4. Read/Write the one<sub>e</sub> attribute</a></li>
<li><a href="#orgc5f20b1">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-orgd40589b" class="outline-2">
<h2 id="orgd40589b"><span class="section-number-2">1</span> TEXT back end</h2>
<div id="outline-container-orgc3cd0a5" class="outline-2">
<h2 id="orgc3cd0a5"><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-orga2e1f70" class="outline-3">
<h3 id="orga2e1f70"><span class="section-number-3">1.1</span> Template for group-related structures in text back end</h3>
<div id="outline-container-orge099b8a" class="outline-3">
<h3 id="orge099b8a"><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-orgb8ad10d" class="outline-3">
<h3 id="orgb8ad10d"><span class="section-number-3">1.2</span> Template for general structure in text back end</h3>
<div id="outline-container-org0888cf5" class="outline-3">
<h3 id="org0888cf5"><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-orgb2f8f9f" class="outline-3">
<h3 id="orgb2f8f9f"><span class="section-number-3">1.3</span> Initialize function (constant part)</h3>
<div id="outline-container-orgb16eb03" class="outline-3">
<h3 id="orgb16eb03"><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>
@ -472,7 +472,7 @@ The file is written when closed, or when the flush function is called.
<span style="color: #b22222;"> Create a dummy temporary file for dummy locking.</span>
<span style="color: #b22222;"> </span>*/
<span style="color: #228b22;">char</span> <span style="color: #a0522d;">dirname</span>[TREXIO_MAX_FILENAME_LENGTH] = <span style="color: #8b2252;">"/tmp/trexio.XXXXXX"</span>;
mkdtemp(dirname);
<span style="color: #a020f0;">if</span> (mkdtemp(dirname) == <span style="color: #008b8b;">NULL</span>) <span style="color: #a020f0;">return</span> TREXIO_ERRNO;
strncpy (file_name, dirname, TREXIO_MAX_FILENAME_LENGTH);
strncat (file_name, lock_file_name, TREXIO_MAX_FILENAME_LENGTH-strlen(lock_file_name));
f-&gt;lock_file = open(file_name,O_WRONLY|O_CREAT|O_TRUNC, 0644);
@ -540,8 +540,8 @@ The file is written when closed, or when the flush function is called.
</div>
</div>
<div id="outline-container-org715035c" class="outline-3">
<h3 id="org715035c"><span class="section-number-3">1.4</span> Deinitialize function (templated part)</h3>
<div id="outline-container-org2e7b702" class="outline-3">
<h3 id="org2e7b702"><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-org2d81245" class="outline-3">
<h3 id="org2d81245"><span class="section-number-3">1.5</span> Template for text read struct</h3>
<div id="outline-container-orgb97e7a0" class="outline-3">
<h3 id="orgb97e7a0"><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-org277f07e" class="outline-3">
<h3 id="org277f07e"><span class="section-number-3">1.6</span> Template for text flush struct</h3>
<div id="outline-container-orgd4754d3" class="outline-3">
<h3 id="orgd4754d3"><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-org8a820e9" class="outline-3">
<h3 id="org8a820e9"><span class="section-number-3">1.7</span> Template for text free memory</h3>
<div id="outline-container-org64eb7c8" class="outline-3">
<h3 id="org64eb7c8"><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-orga516891" class="outline-3">
<h3 id="orga516891"><span class="section-number-3">1.8</span> Template for has/read/write the numerical attribute</h3>
<div id="outline-container-orgaa0b91e" class="outline-3">
<h3 id="orgaa0b91e"><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-orge7bec40" class="outline-3">
<h3 id="orge7bec40"><span class="section-number-3">1.9</span> Template for has/read/write the dataset of numerical data</h3>
<div id="outline-container-org73ad028" class="outline-3">
<h3 id="org73ad028"><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-org4034bdb" class="outline-3">
<h3 id="org4034bdb"><span class="section-number-3">1.10</span> Template for has/read/write the dataset of strings</h3>
<div id="outline-container-org64f2ea3" class="outline-3">
<h3 id="org64f2ea3"><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-org9b83a67" class="outline-3">
<h3 id="org9b83a67"><span class="section-number-3">1.11</span> Template for has/read/write the string attribute</h3>
<div id="outline-container-org14a66ec" class="outline-3">
<h3 id="org14a66ec"><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-org02b19bb" class="outline-3">
<h3 id="org02b19bb"><span class="section-number-3">1.12</span> RDM struct (hard-coded)</h3>
<div id="outline-container-org56a4136" class="outline-3">
<h3 id="org56a4136"><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-org49287c3" class="outline-4">
<h4 id="org49287c3"><span class="section-number-4">1.12.1</span> Read the complete struct</h4>
<div id="outline-container-orgaa1cda3" class="outline-4">
<h4 id="orgaa1cda3"><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-orgd279259" class="outline-4">
<h4 id="orgd279259"><span class="section-number-4">1.12.2</span> Flush the complete struct</h4>
<div id="outline-container-org85e012e" class="outline-4">
<h4 id="org85e012e"><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-org133df6b" class="outline-4">
<h4 id="org133df6b"><span class="section-number-4">1.12.3</span> Free memory</h4>
<div id="outline-container-org5e09b82" class="outline-4">
<h4 id="org5e09b82"><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-orgd7cbd35" class="outline-4">
<h4 id="orgd7cbd35"><span class="section-number-4">1.12.4</span> Read/Write the one<sub>e</sub> attribute</h4>
<div id="outline-container-org714daf6" class="outline-4">
<h4 id="org714daf6"><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-org3946190" class="outline-4">
<h4 id="org3946190"><span class="section-number-4">1.12.5</span> Read/Write the two<sub>e</sub> attribute</h4>
<div id="outline-container-orgc5f20b1" class="outline-4">
<h4 id="orgc5f20b1"><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-13 Wed 15:44</p>
<p class="date">Created: 2021-10-14 Thu 08:54</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>

104
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-13 Wed 15:44 -->
<!-- 2021-10-14 Thu 08:54 -->
<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,25 +333,25 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#orgff81722">1. Metadata (metadata group)</a></li>
<li><a href="#org68c8a90">2. Electron (electron group)</a></li>
<li><a href="#orgbf052df">3. Nucleus (nucleus group)</a></li>
<li><a href="#orgbe43031">4. Effective core potentials (ecp group)</a></li>
<li><a href="#org98541a6">5. Basis set (basis group)</a></li>
<li><a href="#org507a0bb">6. Atomic orbitals (ao group)</a>
<li><a href="#orga666507">1. Metadata (metadata group)</a></li>
<li><a href="#org8860e5e">2. Electron (electron group)</a></li>
<li><a href="#org82903b1">3. Nucleus (nucleus group)</a></li>
<li><a href="#orge387f16">4. Effective core potentials (ecp group)</a></li>
<li><a href="#org2c624d0">5. Basis set (basis group)</a></li>
<li><a href="#org58ec6f8">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="#org31840c7">7. Molecular orbitals (mo group)</a>
<li><a href="#org4c03c6d">7. Molecular orbitals (mo group)</a>
<ul>
<li><a href="#orga607072">7.1. One-electron integrals (<code>mo_1e_int</code> group)</a></li>
<li><a href="#org03e8f5a">7.2. Two-electron integrals (<code>mo_2e_int</code> group)</a></li>
<li><a href="#orga6d4476">7.1. One-electron integrals (<code>mo_1e_int</code> group)</a></li>
<li><a href="#org2ada9d5">7.2. Two-electron integrals (<code>mo_2e_int</code> group)</a></li>
</ul>
</li>
<li><a href="#orgbd35971">8. <span class="todo TODO">TODO</span> Slater determinants</a></li>
<li><a href="#org9718db1">9. <span class="todo TODO">TODO</span> Reduced density matrices (rdm group)</a></li>
<li><a href="#org8becd46">8. <span class="todo TODO">TODO</span> Slater determinants</a></li>
<li><a href="#org07d493a">9. <span class="todo TODO">TODO</span> Reduced density matrices (rdm group)</a></li>
</ul>
</div>
</div>
@ -391,8 +391,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-orgff81722" class="outline-2">
<h2 id="orgff81722"><span class="section-number-2">1</span> Metadata (metadata group)</h2>
<div id="outline-container-orga666507" class="outline-2">
<h2 id="orga666507"><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
@ -402,7 +402,7 @@ which have participated to the creation of the file, a list of
authors of the file, and a textual description.
</p>
<table id="org00f297a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org2041497" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -469,15 +469,15 @@ authors of the file, and a textual description.
</div>
</div>
<div id="outline-container-org68c8a90" class="outline-2">
<h2 id="org68c8a90"><span class="section-number-2">2</span> Electron (electron group)</h2>
<div id="outline-container-org8860e5e" class="outline-2">
<h2 id="org8860e5e"><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="orga030124" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org06b3a78" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -516,15 +516,15 @@ the number of &uarr; and &darr; electrons is fixed.
</div>
</div>
<div id="outline-container-orgbf052df" class="outline-2">
<h2 id="orgbf052df"><span class="section-number-2">3</span> Nucleus (nucleus group)</h2>
<div id="outline-container-org82903b1" class="outline-2">
<h2 id="org82903b1"><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="org78ba037" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org75a9ef5" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -584,8 +584,8 @@ given in Cartesian \((x,y,z)\) format.
</div>
</div>
<div id="outline-container-orgbe43031" class="outline-2">
<h2 id="orgbe43031"><span class="section-number-2">4</span> Effective core potentials (ecp group)</h2>
<div id="outline-container-orge387f16" class="outline-2">
<h2 id="orge387f16"><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
@ -613,7 +613,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="org1fd5bc9" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org71183f7" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -722,8 +722,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-org98541a6" class="outline-2">
<h2 id="org98541a6"><span class="section-number-2">5</span> Basis set (basis group)</h2>
<div id="outline-container-org2c624d0" class="outline-2">
<h2 id="org2c624d0"><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
@ -776,7 +776,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="orge75a1c9" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgbf786b3" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -945,8 +945,8 @@ prim_factor =
</div>
</div>
<div id="outline-container-org507a0bb" class="outline-2">
<h2 id="org507a0bb"><span class="section-number-2">6</span> Atomic orbitals (ao group)</h2>
<div id="outline-container-org58ec6f8" class="outline-2">
<h2 id="org58ec6f8"><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
@ -994,13 +994,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="#org98541a6">Basis set</a> section) to \(\mathcal{N}_{z^2}\), which is the
the <a href="#org2c624d0">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="org71d7e3c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgaafa4fd" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1052,8 +1052,8 @@ introduced here should be \(\frac{\mathcal{N}_{xy}}{\mathcal{N}_{z^2}}\).
</table>
</div>
<div id="outline-container-orgcbb9ef2" class="outline-3">
<h3 id="ao_one_e"><a id="orgcbb9ef2"></a><span class="section-number-3">6.1</span> One-electron integrals (<code>ao_1e_int</code> group)</h3>
<div id="outline-container-org550874a" class="outline-3">
<h3 id="ao_one_e"><a id="org550874a"></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}}
@ -1071,7 +1071,7 @@ The one-electron integrals for a one-electron operator \(\hat{O}\) are
over atomic orbitals.
</p>
<table id="orgbf00206" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgfe8c68a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1138,8 +1138,8 @@ over atomic orbitals.
</div>
</div>
<div id="outline-container-orge452d09" class="outline-3">
<h3 id="ao_two_e"><a id="orge452d09"></a><span class="section-number-3">6.2</span> Two-electron integrals (<code>ao_2e_int</code> group)</h3>
<div id="outline-container-org017b7de" class="outline-3">
<h3 id="ao_two_e"><a id="org017b7de"></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
@ -1160,7 +1160,7 @@ notation.
\mathbf{r}_j \vert)}{\vert \mathbf{r}_i - \mathbf{r}_j \vert} \] : electron-electron long range potential</li>
</ul>
<table id="org38edf27" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org93c120a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1200,10 +1200,10 @@ notation.
</div>
</div>
<div id="outline-container-org31840c7" class="outline-2">
<h2 id="org31840c7"><span class="section-number-2">7</span> Molecular orbitals (mo group)</h2>
<div id="outline-container-org4c03c6d" class="outline-2">
<h2 id="org4c03c6d"><span class="section-number-2">7</span> Molecular orbitals (mo group)</h2>
<div class="outline-text-2" id="text-7">
<table id="org1b8c43b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orge8c20b7" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1269,8 +1269,8 @@ notation.
</table>
</div>
<div id="outline-container-orga607072" class="outline-3">
<h3 id="orga607072"><span class="section-number-3">7.1</span> One-electron integrals (<code>mo_1e_int</code> group)</h3>
<div id="outline-container-orga6d4476" class="outline-3">
<h3 id="orga6d4476"><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
@ -1278,7 +1278,7 @@ The operators as the same as those defined in the
the basis of molecular orbitals.
</p>
<table id="org62856b9" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgf4567d0" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1345,8 +1345,8 @@ the basis of molecular orbitals.
</div>
</div>
<div id="outline-container-org03e8f5a" class="outline-3">
<h3 id="org03e8f5a"><span class="section-number-3">7.2</span> Two-electron integrals (<code>mo_2e_int</code> group)</h3>
<div id="outline-container-org2ada9d5" class="outline-3">
<h3 id="org2ada9d5"><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
@ -1354,7 +1354,7 @@ The operators as the same as those defined in the
the basis of molecular orbitals.
</p>
<table id="orge39b16b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org6ed290a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1394,13 +1394,13 @@ the basis of molecular orbitals.
</div>
</div>
<div id="outline-container-orgbd35971" class="outline-2">
<h2 id="orgbd35971"><span class="section-number-2">8</span> <span class="todo TODO">TODO</span> Slater determinants</h2>
<div id="outline-container-org8becd46" class="outline-2">
<h2 id="org8becd46"><span class="section-number-2">8</span> <span class="todo TODO">TODO</span> Slater determinants</h2>
</div>
<div id="outline-container-org9718db1" class="outline-2">
<h2 id="org9718db1"><span class="section-number-2">9</span> <span class="todo TODO">TODO</span> Reduced density matrices (rdm group)</h2>
<div id="outline-container-org07d493a" class="outline-2">
<h2 id="org07d493a"><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="org66c5564" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgea66931" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1455,7 +1455,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-13 Wed 15:44</p>
<p class="date">Created: 2021-10-14 Thu 08:54</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>