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@6705f199b8 🚀

This commit is contained in:
scemama 2021-12-15 12:52:20 +00:00
parent 98889fa9fe
commit dbb8186477
7 changed files with 342 additions and 342 deletions

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2021-12-07 Tue 17:02 -->
<!-- 2021-12-15 Wed 12:52 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name=google-site-verification content=jdDnuP2rYGJVy8AHSd-8LkmOmvK_dyz5buZ98wilYII />
@ -347,7 +347,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-12-07 Tue 17:02</p>
<p class="date">Created: 2021-12-15 Wed 12:52</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-12-07 Tue 17:02 -->
<!-- 2021-12-15 Wed 12:52 -->
<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="#org85d31a3">1. Text back end</a></li>
<li><a href="#org6e63f02">2. HDF5 Back end</a></li>
<li><a href="#org4492593">1. Text back end</a></li>
<li><a href="#orgdf0b5cc">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-org85d31a3" class="outline-2">
<h2 id="org85d31a3"><span class="section-number-2">1</span> Text back end</h2>
<div id="outline-container-org4492593" class="outline-2">
<h2 id="org4492593"><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-org6e63f02" class="outline-2">
<h2 id="org6e63f02"><span class="section-number-2">2</span> HDF5 Back end</h2>
<div id="outline-container-orgdf0b5cc" class="outline-2">
<h2 id="orgdf0b5cc"><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-12-07 Tue 17:02</p>
<p class="date">Created: 2021-12-15 Wed 12:52</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-12-07 Tue 17:02 -->
<!-- 2021-12-15 Wed 12:52 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name=google-site-verification content=jdDnuP2rYGJVy8AHSd-8LkmOmvK_dyz5buZ98wilYII />
@ -347,7 +347,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-12-07 Tue 17:02</p>
<p class="date">Created: 2021-12-15 Wed 12:52</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-12-07 Tue 17:01 -->
<!-- 2021-12-15 Wed 12:52 -->
<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="#org8e97a9b">1. Coding conventions</a>
<li><a href="#orgad35363">1. Coding conventions</a>
<ul>
<li><a href="#orgb37e78a">1.1. Memory allocation</a></li>
<li><a href="#org47e46ec">1.1. Memory allocation</a></li>
</ul>
</li>
<li><a href="#org47ac5de">2. Front end</a>
<li><a href="#orgd83bf7b">2. Front end</a>
<ul>
<li><a href="#org703493d">2.1. Error handling</a>
<li><a href="#orgef86bff">2.1. Error handling</a>
<ul>
<li><a href="#orgf22f73c">2.1.1. Decoding errors</a>
<li><a href="#org35fd761">2.1.1. Decoding errors</a>
<ul>
<li><a href="#org37762ed">2.1.1.1. C source code</a></li>
<li><a href="#orgc438221">2.1.1.2. Fortran interface</a></li>
<li><a href="#orgcd4ed77">2.1.1.3. Python interface</a></li>
<li><a href="#org98617d8">2.1.1.1. C source code</a></li>
<li><a href="#orgc34ab27">2.1.1.2. Fortran interface</a></li>
<li><a href="#org22e5069">2.1.1.3. Python interface</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#org10c01bc">2.2. Back ends</a>
<li><a href="#orgf235953">2.2. Back ends</a>
<ul>
<li><a href="#org13c082e">2.2.1. C</a></li>
<li><a href="#orgc77f7b3">2.2.2. Fortran</a></li>
<li><a href="#org406e461">2.2.3. Python</a></li>
<li><a href="#org1ff27bb">2.2.1. C</a></li>
<li><a href="#org727bcf4">2.2.2. Fortran</a></li>
<li><a href="#org66e92d2">2.2.3. Python</a></li>
</ul>
</li>
<li><a href="#orgef02bff">2.3. Read/write behavior</a></li>
<li><a href="#org8a99fae">2.4. TREXIO file type</a>
<li><a href="#org0d9d802">2.3. Read/write behavior</a></li>
<li><a href="#orgb9fe252">2.4. TREXIO file type</a>
<ul>
<li><a href="#orgf0aabc6">2.4.1. TREXIO<sub>File</sub> Python class</a></li>
<li><a href="#org0278e79">2.4.1. TREXIO<sub>File</sub> Python class</a></li>
</ul>
</li>
<li><a href="#org1a0fb99">2.5. Polymorphism of the file handle</a></li>
<li><a href="#org380c573">2.6. File opening</a>
<li><a href="#orge0dae54">2.5. Polymorphism of the file handle</a></li>
<li><a href="#orgb7fe6de">2.6. File opening</a>
<ul>
<li><a href="#org7a272df">2.6.1. C</a></li>
<li><a href="#org2f00bc0">2.6.2. Fortran</a></li>
<li><a href="#orgc290910">2.6.3. Python</a></li>
<li><a href="#org40c4f7d">2.6.4. Zero-based versus one-based arrays of indices</a></li>
<li><a href="#org13ef41f">2.6.1. C</a></li>
<li><a href="#orgd952a69">2.6.2. Fortran</a></li>
<li><a href="#orgcaff6ac">2.6.3. Python</a></li>
<li><a href="#org7945e6b">2.6.4. Zero-based versus one-based arrays of indices</a></li>
</ul>
</li>
<li><a href="#org0730bea">2.7. File closing</a>
<li><a href="#org2f81ca2">2.7. File closing</a>
<ul>
<li><a href="#orgc87e084">2.7.1. C</a></li>
<li><a href="#org5973846">2.7.2. Fortran</a></li>
<li><a href="#org5ad78ff">2.7.3. Python</a></li>
<li><a href="#org0820261">2.7.1. C</a></li>
<li><a href="#orgb44e965">2.7.2. Fortran</a></li>
<li><a href="#orgfd2f85c">2.7.3. Python</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#org5057e5d">3. Templates for front end</a>
<li><a href="#org906701c">3. Templates for front end</a>
<ul>
<li><a href="#org8e73bc9">3.1. Description</a></li>
<li><a href="#org373c93b">3.2. Templates for front end has/read/write a single numerical attribute</a>
<li><a href="#org49b9fbe">3.1. Description</a></li>
<li><a href="#org7176b88">3.2. Templates for front end has/read/write a single numerical attribute</a>
<ul>
<li><a href="#org4861253">3.2.1. Introduction</a></li>
<li><a href="#orgd634f99">3.2.2. C templates for front end</a>
<li><a href="#org1dd5cdf">3.2.1. Introduction</a></li>
<li><a href="#orgbce4843">3.2.2. C templates for front end</a>
<ul>
<li><a href="#orgdc5b9af">3.2.2.1. Function declarations</a></li>
<li><a href="#org00ec232">3.2.2.2. Source code for double precision functions</a></li>
<li><a href="#org0f829c4">3.2.2.3. Source code for single precision functions</a></li>
<li><a href="#orgfe56927">3.2.2.4. Source code for default functions</a></li>
<li><a href="#org9329ada">3.2.2.1. Function declarations</a></li>
<li><a href="#org9ec6c84">3.2.2.2. Source code for double precision functions</a></li>
<li><a href="#org551aaa7">3.2.2.3. Source code for single precision functions</a></li>
<li><a href="#orgccb18c8">3.2.2.4. Source code for default functions</a></li>
</ul>
</li>
<li><a href="#org43f897c">3.2.3. Fortran templates for front end</a></li>
<li><a href="#org6921c1a">3.2.4. Python templates for front end</a></li>
<li><a href="#org4d5be04">3.2.3. Fortran templates for front end</a></li>
<li><a href="#org4f5c1d4">3.2.4. Python templates for front end</a></li>
</ul>
</li>
<li><a href="#org1daeba4">3.3. Templates for front end has/read/write a dataset of numerical data</a>
<li><a href="#orgfce0489">3.3. Templates for front end has/read/write a dataset of numerical data</a>
<ul>
<li><a href="#org0f9e1f2">3.3.1. Introduction</a></li>
<li><a href="#org33bf2f2">3.3.2. C templates for front end</a>
<li><a href="#org8482be2">3.3.1. Introduction</a></li>
<li><a href="#org21ed6cc">3.3.2. C templates for front end</a>
<ul>
<li><a href="#orgdbb5a8c">3.3.2.1. Function declarations</a></li>
<li><a href="#org52753b7">3.3.2.2. Source code for double precision functions</a></li>
<li><a href="#org85979a1">3.3.2.3. Source code for single precision functions</a></li>
<li><a href="#org1134d18">3.3.2.4. Source code for memory-safe functions</a></li>
<li><a href="#org1a3e2dd">3.3.2.5. Source code for default functions</a></li>
<li><a href="#orgea64389">3.3.2.1. Function declarations</a></li>
<li><a href="#orgedb5a50">3.3.2.2. Source code for double precision functions</a></li>
<li><a href="#orgaf97693">3.3.2.3. Source code for single precision functions</a></li>
<li><a href="#org2484dc7">3.3.2.4. Source code for memory-safe functions</a></li>
<li><a href="#orgfdda14e">3.3.2.5. Source code for default functions</a></li>
</ul>
</li>
<li><a href="#org1619b97">3.3.3. Fortran templates for front end</a></li>
<li><a href="#org5de8f4f">3.3.4. Python templates for front end</a></li>
<li><a href="#org6c1d07f">3.3.3. Fortran templates for front end</a></li>
<li><a href="#org1a7baa6">3.3.4. Python templates for front end</a></li>
</ul>
</li>
<li><a href="#org4d13bf6">3.4. Sparse data structures</a></li>
<li><a href="#org9881784">3.5. Templates for front end has/read/write a dataset of strings</a>
<li><a href="#org89c7b2e">3.4. Sparse data structures</a></li>
<li><a href="#orgd915a8b">3.5. Templates for front end has/read/write a dataset of strings</a>
<ul>
<li><a href="#org8fc27d5">3.5.1. Introduction</a></li>
<li><a href="#orgf38cfd3">3.5.2. C templates for front end</a>
<li><a href="#orgda23e71">3.5.1. Introduction</a></li>
<li><a href="#orgf0f7eaf">3.5.2. C templates for front end</a>
<ul>
<li><a href="#org309e967">3.5.2.1. Function declarations</a></li>
<li><a href="#org8f2758a">3.5.2.2. Source code for default functions</a></li>
<li><a href="#org45d62ab">3.5.2.1. Function declarations</a></li>
<li><a href="#org1c7197a">3.5.2.2. Source code for default functions</a></li>
</ul>
</li>
<li><a href="#org3725614">3.5.3. Fortran templates for front end</a></li>
<li><a href="#orgcee94db">3.5.4. Python templates for front end</a></li>
<li><a href="#orgdac5dcf">3.5.3. Fortran templates for front end</a></li>
<li><a href="#org91134e4">3.5.4. Python templates for front end</a></li>
</ul>
</li>
<li><a href="#org4a5036a">3.6. Templates for front end has/read/write a single string attribute</a>
<li><a href="#orgd49ceb6">3.6. Templates for front end has/read/write a single string attribute</a>
<ul>
<li><a href="#org534958f">3.6.1. Introduction</a></li>
<li><a href="#org5541d8b">3.6.2. C templates for front end</a>
<li><a href="#orgf7645cf">3.6.1. Introduction</a></li>
<li><a href="#orgf7b311f">3.6.2. C templates for front end</a>
<ul>
<li><a href="#orgb9f07f7">3.6.2.1. Function declarations</a></li>
<li><a href="#org1b259df">3.6.2.2. Source code for default functions</a></li>
<li><a href="#org10c9157">3.6.2.1. Function declarations</a></li>
<li><a href="#orgd45dd3d">3.6.2.2. Source code for default functions</a></li>
</ul>
</li>
<li><a href="#org62d2c6b">3.6.3. Fortran templates for front end</a></li>
<li><a href="#org1a95988">3.6.4. Python templates for front end</a></li>
<li><a href="#orgcb8c681">3.6.3. Fortran templates for front end</a></li>
<li><a href="#org1ed3e59">3.6.4. Python templates for front end</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#org6eea969">4. Fortran helper/wrapper functions</a></li>
<li><a href="#org1fdff7b">4. Fortran helper/wrapper functions</a></li>
</ul>
</div>
</div>
<div id="outline-container-org8e97a9b" class="outline-2">
<h2 id="org8e97a9b"><span class="section-number-2">1</span> Coding conventions</h2>
<div id="outline-container-orgad35363" class="outline-2">
<h2 id="orgad35363"><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-orgb37e78a" class="outline-3">
<h3 id="orgb37e78a"><span class="section-number-3">1.1</span> Memory allocation</h3>
<div id="outline-container-org47e46ec" class="outline-3">
<h3 id="org47e46ec"><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-org47ac5de" class="outline-2">
<h2 id="org47ac5de"><span class="section-number-2">2</span> Front end</h2>
<div id="outline-container-orgd83bf7b" class="outline-2">
<h2 id="orgd83bf7b"><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-org703493d" class="outline-3">
<h3 id="org703493d"><span class="section-number-3">2.1</span> Error handling</h3>
<div id="outline-container-orgef86bff" class="outline-3">
<h3 id="orgef86bff"><span class="section-number-3">2.1</span> Error handling</h3>
<div class="outline-text-3" id="text-2-1">
<table id="org4d746fa" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org249f9f0" 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-orgf22f73c" class="outline-4">
<h4 id="orgf22f73c"><span class="section-number-4">2.1.1</span> Decoding errors</h4>
<div id="outline-container-org35fd761" class="outline-4">
<h4 id="org35fd761"><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-org37762ed" class="outline-5">
<h5 id="org37762ed"><span class="section-number-5">2.1.1.1</span> C source code</h5>
<div id="outline-container-org98617d8" class="outline-5">
<h5 id="org98617d8"><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>*
@ -875,8 +875,8 @@ The text strings are extracted from the previous table.
</div>
</div>
<div id="outline-container-orgc438221" class="outline-5">
<h5 id="orgc438221"><span class="section-number-5">2.1.1.2</span> Fortran interface</h5>
<div id="outline-container-orgc34ab27" class="outline-5">
<h5 id="orgc34ab27"><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>
@ -892,8 +892,8 @@ The text strings are extracted from the previous table.
</div>
</div>
<div id="outline-container-orgcd4ed77" class="outline-5">
<h5 id="orgcd4ed77"><span class="section-number-5">2.1.1.3</span> Python interface</h5>
<div id="outline-container-org22e5069" class="outline-5">
<h5 id="org22e5069"><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>):
@ -932,8 +932,8 @@ The text strings are extracted from the previous table.
</div>
</div>
<div id="outline-container-org10c01bc" class="outline-3">
<h3 id="org10c01bc"><span class="section-number-3">2.2</span> Back ends</h3>
<div id="outline-container-orgf235953" class="outline-3">
<h3 id="orgf235953"><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:
@ -957,8 +957,8 @@ lines that correspond to the <code>TREXIO_JSON</code> back end (not implemented
</p>
</div>
<div id="outline-container-org13c082e" class="outline-4">
<h4 id="org13c082e"><span class="section-number-4">2.2.1</span> C</h4>
<div id="outline-container-org1ff27bb" class="outline-4">
<h4 id="org1ff27bb"><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>;
@ -1001,8 +1001,8 @@ This is useful due to the fact that HDF5 back end can be disabled at configure s
</div>
</div>
<div id="outline-container-orgc77f7b3" class="outline-4">
<h4 id="orgc77f7b3"><span class="section-number-4">2.2.2</span> Fortran</h4>
<div id="outline-container-org727bcf4" class="outline-4">
<h4 id="org727bcf4"><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>
@ -1028,8 +1028,8 @@ The function below is a Fortran interface for the aforementioned C-compatible <c
</div>
</div>
<div id="outline-container-org406e461" class="outline-4">
<h4 id="org406e461"><span class="section-number-4">2.2.3</span> Python</h4>
<div id="outline-container-org66e92d2" class="outline-4">
<h4 id="org66e92d2"><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>
@ -1043,8 +1043,8 @@ The function below is a Fortran interface for the aforementioned C-compatible <c
</div>
</div>
<div id="outline-container-orgef02bff" class="outline-3">
<h3 id="orgef02bff"><span class="section-number-3">2.3</span> Read/write behavior</h3>
<div id="outline-container-org0d9d802" class="outline-3">
<h3 id="org0d9d802"><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
@ -1072,8 +1072,8 @@ concurrent programs, the behavior is not specified.
</p>
</div>
</div>
<div id="outline-container-org8a99fae" class="outline-3">
<h3 id="org8a99fae"><span class="section-number-3">2.4</span> TREXIO file type</h3>
<div id="outline-container-orgb9fe252" class="outline-3">
<h3 id="orgb9fe252"><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
@ -1107,8 +1107,8 @@ TREXIO files will have as a first argument the TREXIO file handle.
</div>
</div>
<div id="outline-container-orgf0aabc6" class="outline-4">
<h4 id="orgf0aabc6"><span class="section-number-4">2.4.1</span> TREXIO<sub>File</sub> Python class</h4>
<div id="outline-container-org0278e79" class="outline-4">
<h4 id="org0278e79"><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>:
@ -1181,8 +1181,8 @@ TREXIO files will have as a first argument the TREXIO file handle.
</div>
</div>
<div id="outline-container-org1a0fb99" class="outline-3">
<h3 id="org1a0fb99"><span class="section-number-3">2.5</span> Polymorphism of the file handle</h3>
<div id="outline-container-orge0dae54" class="outline-3">
<h3 id="orge0dae54"><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
@ -1201,8 +1201,8 @@ corresponding types for all back ends can be safely casted to
</div>
</div>
<div id="outline-container-org380c573" class="outline-3">
<h3 id="org380c573"><span class="section-number-3">2.6</span> File opening</h3>
<div id="outline-container-orgb7fe6de" class="outline-3">
<h3 id="orgb7fe6de"><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.
@ -1241,8 +1241,8 @@ renaming the <code>.txt</code> data files.
</p>
</div>
<div id="outline-container-org7a272df" class="outline-4">
<h4 id="org7a272df"><span class="section-number-4">2.6.1</span> C</h4>
<div id="outline-container-org13ef41f" class="outline-4">
<h4 id="org13ef41f"><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>*
@ -1429,8 +1429,8 @@ renaming the <code>.txt</code> data files.
</div>
</div>
<div id="outline-container-org2f00bc0" class="outline-4">
<h4 id="org2f00bc0"><span class="section-number-4">2.6.2</span> Fortran</h4>
<div id="outline-container-orgd952a69" class="outline-4">
<h4 id="orgd952a69"><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>
@ -1448,8 +1448,8 @@ renaming the <code>.txt</code> data files.
</div>
</div>
<div id="outline-container-orgc290910" class="outline-4">
<h4 id="orgc290910"><span class="section-number-4">2.6.3</span> Python</h4>
<div id="outline-container-orgcaff6ac" class="outline-4">
<h4 id="orgcaff6ac"><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>):
@ -1497,8 +1497,8 @@ renaming the <code>.txt</code> data files.
</div>
</div>
<div id="outline-container-org40c4f7d" class="outline-4">
<h4 id="org40c4f7d"><span class="section-number-4">2.6.4</span> Zero-based versus one-based arrays of indices</h4>
<div id="outline-container-org7945e6b" class="outline-4">
<h4 id="org7945e6b"><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
@ -1531,8 +1531,8 @@ know if we need to shift by 1 arrays of indices.
</div>
</div>
<div id="outline-container-org0730bea" class="outline-3">
<h3 id="org0730bea"><span class="section-number-3">2.7</span> File closing</h3>
<div id="outline-container-org2f81ca2" class="outline-3">
<h3 id="org2f81ca2"><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.
@ -1549,8 +1549,8 @@ output:
</p>
</div>
<div id="outline-container-orgc87e084" class="outline-4">
<h4 id="orgc87e084"><span class="section-number-4">2.7.1</span> C</h4>
<div id="outline-container-org0820261" class="outline-4">
<h4 id="org0820261"><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>
@ -1629,8 +1629,8 @@ output:
</div>
</div>
<div id="outline-container-org5973846" class="outline-4">
<h4 id="org5973846"><span class="section-number-4">2.7.2</span> Fortran</h4>
<div id="outline-container-orgb44e965" class="outline-4">
<h4 id="orgb44e965"><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>
@ -1644,8 +1644,8 @@ output:
</div>
</div>
<div id="outline-container-org5ad78ff" class="outline-4">
<h4 id="org5ad78ff"><span class="section-number-4">2.7.3</span> Python</h4>
<div id="outline-container-orgfd2f85c" class="outline-4">
<h4 id="orgfd2f85c"><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):
@ -1667,12 +1667,12 @@ output:
</div>
</div>
<div id="outline-container-org5057e5d" class="outline-2">
<h2 id="org5057e5d"><span class="section-number-2">3</span> Templates for front end</h2>
<div id="outline-container-org906701c" class="outline-2">
<h2 id="org906701c"><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-org8e73bc9" class="outline-3">
<h3 id="org8e73bc9"><span class="section-number-3">3.1</span> Description</h3>
<div id="outline-container-org49b9fbe" class="outline-3">
<h3 id="org49b9fbe"><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>:
@ -1893,12 +1893,12 @@ value will result in <code>TREXIO_INVALID_ARG_2</code> exit code.
</div>
</div>
<div id="outline-container-org373c93b" class="outline-3">
<h3 id="org373c93b"><span class="section-number-3">3.2</span> Templates for front end has/read/write a single numerical attribute</h3>
<div id="outline-container-org7176b88" class="outline-3">
<h3 id="org7176b88"><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-org4861253" class="outline-4">
<h4 id="org4861253"><span class="section-number-4">3.2.1</span> Introduction</h4>
<div id="outline-container-org1dd5cdf" class="outline-4">
<h4 id="org1dd5cdf"><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,
@ -1969,8 +1969,8 @@ namely single value of int/float types.
</div>
</div>
<div id="outline-container-orgd634f99" class="outline-4">
<h4 id="orgd634f99"><span class="section-number-4">3.2.2</span> C templates for front end</h4>
<div id="outline-container-orgbce4843" class="outline-4">
<h4 id="orgbce4843"><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
@ -1984,12 +1984,12 @@ precision (see Table above).
</p>
</div>
<div id="outline-container-orgdc5b9af" class="outline-5">
<h5 id="orgdc5b9af"><span class="section-number-5">3.2.2.1</span> Function declarations</h5>
<div id="outline-container-org9329ada" class="outline-5">
<h5 id="org9329ada"><span class="section-number-5">3.2.2.1</span> Function declarations</h5>
</div>
<div id="outline-container-org00ec232" class="outline-5">
<h5 id="org00ec232"><span class="section-number-5">3.2.2.2</span> Source code for double precision functions</h5>
<div id="outline-container-org9ec6c84" class="outline-5">
<h5 id="org9ec6c84"><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>
@ -2058,8 +2058,8 @@ precision (see Table above).
</div>
</div>
<div id="outline-container-org0f829c4" class="outline-5">
<h5 id="org0f829c4"><span class="section-number-5">3.2.2.3</span> Source code for single precision functions</h5>
<div id="outline-container-org551aaa7" class="outline-5">
<h5 id="org551aaa7"><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>
@ -2135,8 +2135,8 @@ precision (see Table above).
</div>
</div>
<div id="outline-container-orgfe56927" class="outline-5">
<h5 id="orgfe56927"><span class="section-number-5">3.2.2.4</span> Source code for default functions</h5>
<div id="outline-container-orgccb18c8" class="outline-5">
<h5 id="orgccb18c8"><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>
@ -2193,8 +2193,8 @@ precision (see Table above).
</div>
</div>
<div id="outline-container-org43f897c" class="outline-4">
<h4 id="org43f897c"><span class="section-number-4">3.2.3</span> Fortran templates for front end</h4>
<div id="outline-container-org4d5be04" class="outline-4">
<h4 id="org4d5be04"><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.
@ -2279,8 +2279,8 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
</div>
</div>
<div id="outline-container-org6921c1a" class="outline-4">
<h4 id="org6921c1a"><span class="section-number-4">3.2.4</span> Python templates for front end</h4>
<div id="outline-container-org4f5c1d4" class="outline-4">
<h4 id="org4f5c1d4"><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>:
@ -2365,12 +2365,12 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
</div>
</div>
<div id="outline-container-org1daeba4" class="outline-3">
<h3 id="org1daeba4"><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-orgfce0489" class="outline-3">
<h3 id="orgfce0489"><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-org0f9e1f2" class="outline-4">
<h4 id="org0f9e1f2"><span class="section-number-4">3.3.1</span> Introduction</h4>
<div id="outline-container-org8482be2" class="outline-4">
<h4 id="org8482be2"><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.
@ -2452,8 +2452,8 @@ This section concerns API calls related to datasets.
</div>
</div>
<div id="outline-container-org33bf2f2" class="outline-4">
<h4 id="org33bf2f2"><span class="section-number-4">3.3.2</span> C templates for front end</h4>
<div id="outline-container-org21ed6cc" class="outline-4">
<h4 id="org21ed6cc"><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.
@ -2464,13 +2464,13 @@ The basic (non-suffixed) API call on datasets deals with double precision (see T
</p>
</div>
<div id="outline-container-orgdbb5a8c" class="outline-5">
<h5 id="orgdbb5a8c"><span class="section-number-5">3.3.2.1</span> Function declarations</h5>
<div id="outline-container-orgea64389" class="outline-5">
<h5 id="orgea64389"><span class="section-number-5">3.3.2.1</span> Function declarations</h5>
</div>
<div id="outline-container-org52753b7" class="outline-5">
<h5 id="org52753b7"><span class="section-number-5">3.3.2.2</span> Source code for double precision functions</h5>
<div id="outline-container-orgedb5a50" class="outline-5">
<h5 id="orgedb5a50"><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>
@ -2606,8 +2606,8 @@ The basic (non-suffixed) API call on datasets deals with double precision (see T
</div>
</div>
<div id="outline-container-org85979a1" class="outline-5">
<h5 id="org85979a1"><span class="section-number-5">3.3.2.3</span> Source code for single precision functions</h5>
<div id="outline-container-orgaf97693" class="outline-5">
<h5 id="orgaf97693"><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>
@ -2756,11 +2756,11 @@ The basic (non-suffixed) API call on datasets deals with double precision (see T
</div>
</div>
<div id="outline-container-org1134d18" class="outline-5">
<h5 id="org1134d18"><span class="section-number-5">3.3.2.4</span> Source code for memory-safe functions</h5>
<div id="outline-container-org2484dc7" class="outline-5">
<h5 id="org2484dc7"><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="org911a490"><span style="color: #228b22;">trexio_exit_code</span> <span style="color: #a0522d;">rc</span>;
<pre class="src src-c" id="org7a78c05"><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>*/
@ -2916,8 +2916,8 @@ rc = trexio_read_$group_dset_dim$_64(file, &amp;($group_dset_dim$));
</div>
</div>
<div id="outline-container-org1a3e2dd" class="outline-5">
<h5 id="org1a3e2dd"><span class="section-number-5">3.3.2.5</span> Source code for default functions</h5>
<div id="outline-container-orgfdda14e" class="outline-5">
<h5 id="orgfdda14e"><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>
@ -2995,8 +2995,8 @@ rc = trexio_read_$group_dset_dim$_64(file, &amp;($group_dset_dim$));
</div>
</div>
<div id="outline-container-org1619b97" class="outline-4">
<h4 id="org1619b97"><span class="section-number-4">3.3.3</span> Fortran templates for front end</h4>
<div id="outline-container-org6c1d07f" class="outline-4">
<h4 id="org6c1d07f"><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>.
@ -3081,8 +3081,8 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
</div>
</div>
<div id="outline-container-org5de8f4f" class="outline-4">
<h4 id="org5de8f4f"><span class="section-number-4">3.3.4</span> Python templates for front end</h4>
<div id="outline-container-org1a7baa6" class="outline-4">
<h4 id="org1a7baa6"><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>:
@ -3277,8 +3277,8 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
</div>
</div>
<div id="outline-container-org4d13bf6" class="outline-3">
<h3 id="org4d13bf6"><span class="section-number-3">3.4</span> Sparse data structures</h3>
<div id="outline-container-org89c7b2e" class="outline-3">
<h3 id="org89c7b2e"><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
@ -3419,12 +3419,12 @@ For the values,
</div>
</div>
<div id="outline-container-org9881784" class="outline-3">
<h3 id="org9881784"><span class="section-number-3">3.5</span> Templates for front end has/read/write a dataset of strings</h3>
<div id="outline-container-orgd915a8b" class="outline-3">
<h3 id="orgd915a8b"><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-org8fc27d5" class="outline-4">
<h4 id="org8fc27d5"><span class="section-number-4">3.5.1</span> Introduction</h4>
<div id="outline-container-orgda23e71" class="outline-4">
<h4 id="orgda23e71"><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.
@ -3464,8 +3464,8 @@ This section concerns API calls related to datasets of strings.
</div>
</div>
<div id="outline-container-orgf38cfd3" class="outline-4">
<h4 id="orgf38cfd3"><span class="section-number-4">3.5.2</span> C templates for front end</h4>
<div id="outline-container-orgf0f7eaf" class="outline-4">
<h4 id="orgf0f7eaf"><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
@ -3473,12 +3473,12 @@ to/from the <code>TREXIO</code> file (except for <code>trexio_has_</code> functi
</p>
</div>
<div id="outline-container-org309e967" class="outline-5">
<h5 id="org309e967"><span class="section-number-5">3.5.2.1</span> Function declarations</h5>
<div id="outline-container-org45d62ab" class="outline-5">
<h5 id="org45d62ab"><span class="section-number-5">3.5.2.1</span> Function declarations</h5>
</div>
<div id="outline-container-org8f2758a" class="outline-5">
<h5 id="org8f2758a"><span class="section-number-5">3.5.2.2</span> Source code for default functions</h5>
<div id="outline-container-org1c7197a" class="outline-5">
<h5 id="org1c7197a"><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>
@ -3732,8 +3732,8 @@ to/from the <code>TREXIO</code> file (except for <code>trexio_has_</code> functi
</div>
</div>
<div id="outline-container-org3725614" class="outline-4">
<h4 id="org3725614"><span class="section-number-4">3.5.3</span> Fortran templates for front end</h4>
<div id="outline-container-orgdac5dcf" class="outline-4">
<h4 id="orgdac5dcf"><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>.
@ -3829,8 +3829,8 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
</div>
</div>
<div id="outline-container-orgcee94db" class="outline-4">
<h4 id="orgcee94db"><span class="section-number-4">3.5.4</span> Python templates for front end</h4>
<div id="outline-container-org91134e4" class="outline-4">
<h4 id="org91134e4"><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>:
@ -3946,12 +3946,12 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
</div>
</div>
<div id="outline-container-org4a5036a" class="outline-3">
<h3 id="org4a5036a"><span class="section-number-3">3.6</span> Templates for front end has/read/write a single string attribute</h3>
<div id="outline-container-orgd49ceb6" class="outline-3">
<h3 id="orgd49ceb6"><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-org534958f" class="outline-4">
<h4 id="org534958f"><span class="section-number-4">3.6.1</span> Introduction</h4>
<div id="outline-container-orgf7645cf" class="outline-4">
<h4 id="orgf7645cf"><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.
@ -3991,16 +3991,16 @@ This section concerns API calls related to string attributes.
</div>
</div>
<div id="outline-container-org5541d8b" class="outline-4">
<h4 id="org5541d8b"><span class="section-number-4">3.6.2</span> C templates for front end</h4>
<div id="outline-container-orgf7b311f" class="outline-4">
<h4 id="orgf7b311f"><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-orgb9f07f7" class="outline-5">
<h5 id="orgb9f07f7"><span class="section-number-5">3.6.2.1</span> Function declarations</h5>
<div id="outline-container-org10c9157" class="outline-5">
<h5 id="org10c9157"><span class="section-number-5">3.6.2.1</span> Function declarations</h5>
</div>
<div id="outline-container-org1b259df" class="outline-5">
<h5 id="org1b259df"><span class="section-number-5">3.6.2.2</span> Source code for default functions</h5>
<div id="outline-container-orgd45dd3d" class="outline-5">
<h5 id="orgd45dd3d"><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>
@ -4112,8 +4112,8 @@ This section concerns API calls related to string attributes.
</div>
</div>
<div id="outline-container-org62d2c6b" class="outline-4">
<h4 id="org62d2c6b"><span class="section-number-4">3.6.3</span> Fortran templates for front end</h4>
<div id="outline-container-orgcb8c681" class="outline-4">
<h4 id="orgcb8c681"><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.
@ -4190,8 +4190,8 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
</div>
</div>
<div id="outline-container-org1a95988" class="outline-4">
<h4 id="org1a95988"><span class="section-number-4">3.6.4</span> Python templates for front end</h4>
<div id="outline-container-org1ed3e59" class="outline-4">
<h4 id="org1ed3e59"><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>:
@ -4281,8 +4281,8 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
</div>
</div>
<div id="outline-container-org6eea969" class="outline-2">
<h2 id="org6eea969"><span class="section-number-2">4</span> Fortran helper/wrapper functions</h2>
<div id="outline-container-org1fdff7b" class="outline-2">
<h2 id="org1fdff7b"><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.
@ -4417,7 +4417,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-12-07 Tue 17:01</p>
<p class="date">Created: 2021-12-15 Wed 12:52</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-12-07 Tue 17:02 -->
<!-- 2021-12-15 Wed 12:52 -->
<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="#org3d178cb">1. HDF5 back end</a>
<li><a href="#orgd6e2c3d">1. HDF5 back end</a>
<ul>
<li><a href="#orgea8f208">1.1. Template for HDF5 definitions</a></li>
<li><a href="#org2114022">1.2. Template for HDF5 structures</a></li>
<li><a href="#org86fbe24">1.3. Template for HDF5 init/deinit</a></li>
<li><a href="#orgffaa4b9">1.4. Template for HDF5 has/read/write the numerical attribute</a></li>
<li><a href="#org70a8c0d">1.5. Template for HDF5 has/read/write the dataset of numerical data</a></li>
<li><a href="#org3bc110b">1.6. Template for HDF5 has/read/write the dataset of strings</a></li>
<li><a href="#org3f41223">1.7. Template for HDF5 has/read/write the string attribute</a></li>
<li><a href="#orgd0d32e4">1.1. Template for HDF5 definitions</a></li>
<li><a href="#org7f9e817">1.2. Template for HDF5 structures</a></li>
<li><a href="#orgf1e10e8">1.3. Template for HDF5 init/deinit</a></li>
<li><a href="#org06f99a4">1.4. Template for HDF5 has/read/write the numerical attribute</a></li>
<li><a href="#orgcd7e6e5">1.5. Template for HDF5 has/read/write the dataset of numerical data</a></li>
<li><a href="#org6f87ffa">1.6. Template for HDF5 has/read/write the dataset of strings</a></li>
<li><a href="#org721b617">1.7. Template for HDF5 has/read/write the string attribute</a></li>
</ul>
</li>
</ul>
</div>
</div>
<div id="outline-container-org3d178cb" class="outline-2">
<h2 id="org3d178cb"><span class="section-number-2">1</span> HDF5 back end</h2>
<div id="outline-container-orgd6e2c3d" class="outline-2">
<h2 id="orgd6e2c3d"><span class="section-number-2">1</span> HDF5 back end</h2>
<div class="outline-text-2" id="text-1">
</div>
<div id="outline-container-orgea8f208" class="outline-3">
<h3 id="orgea8f208"><span class="section-number-3">1.1</span> Template for HDF5 definitions</h3>
<div id="outline-container-orgd0d32e4" class="outline-3">
<h3 id="orgd0d32e4"><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-org2114022" class="outline-3">
<h3 id="org2114022"><span class="section-number-3">1.2</span> Template for HDF5 structures</h3>
<div id="outline-container-org7f9e817" class="outline-3">
<h3 id="org7f9e817"><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-org86fbe24" class="outline-3">
<h3 id="org86fbe24"><span class="section-number-3">1.3</span> Template for HDF5 init/deinit</h3>
<div id="outline-container-orgf1e10e8" class="outline-3">
<h3 id="orgf1e10e8"><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-orgffaa4b9" class="outline-3">
<h3 id="orgffaa4b9"><span class="section-number-3">1.4</span> Template for HDF5 has/read/write the numerical attribute</h3>
<div id="outline-container-org06f99a4" class="outline-3">
<h3 id="org06f99a4"><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-org70a8c0d" class="outline-3">
<h3 id="org70a8c0d"><span class="section-number-3">1.5</span> Template for HDF5 has/read/write the dataset of numerical data</h3>
<div id="outline-container-orgcd7e6e5" class="outline-3">
<h3 id="orgcd7e6e5"><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-org3bc110b" class="outline-3">
<h3 id="org3bc110b"><span class="section-number-3">1.6</span> Template for HDF5 has/read/write the dataset of strings</h3>
<div id="outline-container-org6f87ffa" class="outline-3">
<h3 id="org6f87ffa"><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-org3f41223" class="outline-3">
<h3 id="org3f41223"><span class="section-number-3">1.7</span> Template for HDF5 has/read/write the string attribute</h3>
<div id="outline-container-org721b617" class="outline-3">
<h3 id="org721b617"><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-12-07 Tue 17:02</p>
<p class="date">Created: 2021-12-15 Wed 12:52</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-12-07 Tue 17:02 -->
<!-- 2021-12-15 Wed 12:52 -->
<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="#org8879338">1. TEXT back end</a>
<li><a href="#org2b8d2f5">1. TEXT back end</a>
<ul>
<li><a href="#orgb150be4">1.1. Template for group-related structures in text back end</a></li>
<li><a href="#org97f70d9">1.2. Template for general structure in text back end</a></li>
<li><a href="#org0f87b54">1.3. Initialize function (constant part)</a></li>
<li><a href="#orgbf4fd31">1.4. Deinitialize function (templated part)</a></li>
<li><a href="#orgc9acbf0">1.5. Template for text read struct</a></li>
<li><a href="#orgfcb7eb6">1.6. Template for text flush struct</a></li>
<li><a href="#org9a42075">1.7. Template for text free memory</a></li>
<li><a href="#org35bb2cc">1.8. Template for has/read/write the numerical attribute</a></li>
<li><a href="#org6e5b901">1.9. Template for has/read/write the dataset of numerical data</a></li>
<li><a href="#org5e4cf88">1.10. Template for has/read/write the dataset of strings</a></li>
<li><a href="#org3d1036a">1.11. Template for has/read/write the string attribute</a></li>
<li><a href="#orgc234938">1.12. RDM struct (hard-coded)</a>
<li><a href="#org6a20649">1.1. Template for group-related structures in text back end</a></li>
<li><a href="#org013ce67">1.2. Template for general structure in text back end</a></li>
<li><a href="#orgc7e54d4">1.3. Initialize function (constant part)</a></li>
<li><a href="#orgd03286c">1.4. Deinitialize function (templated part)</a></li>
<li><a href="#org1895b33">1.5. Template for text read struct</a></li>
<li><a href="#org06643a4">1.6. Template for text flush struct</a></li>
<li><a href="#org114eb05">1.7. Template for text free memory</a></li>
<li><a href="#org2de53e4">1.8. Template for has/read/write the numerical attribute</a></li>
<li><a href="#org8041127">1.9. Template for has/read/write the dataset of numerical data</a></li>
<li><a href="#org7453c6c">1.10. Template for has/read/write the dataset of strings</a></li>
<li><a href="#orgea2ce26">1.11. Template for has/read/write the string attribute</a></li>
<li><a href="#org3b0405f">1.12. RDM struct (hard-coded)</a>
<ul>
<li><a href="#orgec3be76">1.12.1. Read the complete struct</a></li>
<li><a href="#org86d4cac">1.12.2. Flush the complete struct</a></li>
<li><a href="#org2c41d1d">1.12.3. Free memory</a></li>
<li><a href="#org51590f7">1.12.4. Read/Write the one<sub>e</sub> attribute</a></li>
<li><a href="#org3627914">1.12.5. Read/Write the two<sub>e</sub> attribute</a></li>
<li><a href="#org8804736">1.12.1. Read the complete struct</a></li>
<li><a href="#org547f3a8">1.12.2. Flush the complete struct</a></li>
<li><a href="#orga2fca0b">1.12.3. Free memory</a></li>
<li><a href="#org81035e6">1.12.4. Read/Write the one<sub>e</sub> attribute</a></li>
<li><a href="#org971e9fb">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-org8879338" class="outline-2">
<h2 id="org8879338"><span class="section-number-2">1</span> TEXT back end</h2>
<div id="outline-container-org2b8d2f5" class="outline-2">
<h2 id="org2b8d2f5"><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-orgb150be4" class="outline-3">
<h3 id="orgb150be4"><span class="section-number-3">1.1</span> Template for group-related structures in text back end</h3>
<div id="outline-container-org6a20649" class="outline-3">
<h3 id="org6a20649"><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-org97f70d9" class="outline-3">
<h3 id="org97f70d9"><span class="section-number-3">1.2</span> Template for general structure in text back end</h3>
<div id="outline-container-org013ce67" class="outline-3">
<h3 id="org013ce67"><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-org0f87b54" class="outline-3">
<h3 id="org0f87b54"><span class="section-number-3">1.3</span> Initialize function (constant part)</h3>
<div id="outline-container-orgc7e54d4" class="outline-3">
<h3 id="orgc7e54d4"><span class="section-number-3">1.3</span> Initialize function (constant part)</h3>
<div class="outline-text-3" id="text-1-3">
<div class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
@ -540,8 +540,8 @@ The file is written when closed, or when the flush function is called.
</div>
</div>
<div id="outline-container-orgbf4fd31" class="outline-3">
<h3 id="orgbf4fd31"><span class="section-number-3">1.4</span> Deinitialize function (templated part)</h3>
<div id="outline-container-orgd03286c" class="outline-3">
<h3 id="orgd03286c"><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-orgc9acbf0" class="outline-3">
<h3 id="orgc9acbf0"><span class="section-number-3">1.5</span> Template for text read struct</h3>
<div id="outline-container-org1895b33" class="outline-3">
<h3 id="org1895b33"><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-orgfcb7eb6" class="outline-3">
<h3 id="orgfcb7eb6"><span class="section-number-3">1.6</span> Template for text flush struct</h3>
<div id="outline-container-org06643a4" class="outline-3">
<h3 id="org06643a4"><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-org9a42075" class="outline-3">
<h3 id="org9a42075"><span class="section-number-3">1.7</span> Template for text free memory</h3>
<div id="outline-container-org114eb05" class="outline-3">
<h3 id="org114eb05"><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-org35bb2cc" class="outline-3">
<h3 id="org35bb2cc"><span class="section-number-3">1.8</span> Template for has/read/write the numerical attribute</h3>
<div id="outline-container-org2de53e4" class="outline-3">
<h3 id="org2de53e4"><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-org6e5b901" class="outline-3">
<h3 id="org6e5b901"><span class="section-number-3">1.9</span> Template for has/read/write the dataset of numerical data</h3>
<div id="outline-container-org8041127" class="outline-3">
<h3 id="org8041127"><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-org5e4cf88" class="outline-3">
<h3 id="org5e4cf88"><span class="section-number-3">1.10</span> Template for has/read/write the dataset of strings</h3>
<div id="outline-container-org7453c6c" class="outline-3">
<h3 id="org7453c6c"><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-org3d1036a" class="outline-3">
<h3 id="org3d1036a"><span class="section-number-3">1.11</span> Template for has/read/write the string attribute</h3>
<div id="outline-container-orgea2ce26" class="outline-3">
<h3 id="orgea2ce26"><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-orgc234938" class="outline-3">
<h3 id="orgc234938"><span class="section-number-3">1.12</span> RDM struct (hard-coded)</h3>
<div id="outline-container-org3b0405f" class="outline-3">
<h3 id="org3b0405f"><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-orgec3be76" class="outline-4">
<h4 id="orgec3be76"><span class="section-number-4">1.12.1</span> Read the complete struct</h4>
<div id="outline-container-org8804736" class="outline-4">
<h4 id="org8804736"><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-org86d4cac" class="outline-4">
<h4 id="org86d4cac"><span class="section-number-4">1.12.2</span> Flush the complete struct</h4>
<div id="outline-container-org547f3a8" class="outline-4">
<h4 id="org547f3a8"><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-org2c41d1d" class="outline-4">
<h4 id="org2c41d1d"><span class="section-number-4">1.12.3</span> Free memory</h4>
<div id="outline-container-orga2fca0b" class="outline-4">
<h4 id="orga2fca0b"><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-org51590f7" class="outline-4">
<h4 id="org51590f7"><span class="section-number-4">1.12.4</span> Read/Write the one<sub>e</sub> attribute</h4>
<div id="outline-container-org81035e6" class="outline-4">
<h4 id="org81035e6"><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-org3627914" class="outline-4">
<h4 id="org3627914"><span class="section-number-4">1.12.5</span> Read/Write the two<sub>e</sub> attribute</h4>
<div id="outline-container-org971e9fb" class="outline-4">
<h4 id="org971e9fb"><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-12-07 Tue 17:02</p>
<p class="date">Created: 2021-12-15 Wed 12:52</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>

116
trex.html
View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2021-12-07 Tue 17:02 -->
<!-- 2021-12-15 Wed 12:52 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>TREX Configuration file</title>
@ -333,33 +333,33 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#org2c77b4a">1. Metadata (metadata group)</a></li>
<li><a href="#orged59845">2. Electron (electron group)</a></li>
<li><a href="#org0ecd57e">3. Nucleus (nucleus group)</a></li>
<li><a href="#org4eb200c">4. Effective core potentials (ecp group)</a>
<li><a href="#orga4b6d95">1. Metadata (metadata group)</a></li>
<li><a href="#org53a6c1a">2. Electron (electron group)</a></li>
<li><a href="#orgca1b0fa">3. Nucleus (nucleus group)</a></li>
<li><a href="#orgc1089f8">4. Effective core potentials (ecp group)</a>
<ul>
<li><a href="#org3b400be">4.1. Example</a></li>
<li><a href="#orgd0a36b5">4.1. Example</a></li>
</ul>
</li>
<li><a href="#org732ed3b">5. Basis set (basis group)</a>
<li><a href="#org87eeb97">5. Basis set (basis group)</a>
<ul>
<li><a href="#org4f6a51b">5.1. Example</a></li>
<li><a href="#org0661d44">5.1. Example</a></li>
</ul>
</li>
<li><a href="#org030c6ff">6. Atomic orbitals (ao group)</a>
<li><a href="#orgeb82a41">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="#org6d28a9e">7. Molecular orbitals (mo group)</a>
<li><a href="#org38158ff">7. Molecular orbitals (mo group)</a>
<ul>
<li><a href="#org600602e">7.1. One-electron integrals (<code>mo_1e_int</code> group)</a></li>
<li><a href="#org37f34bf">7.2. Two-electron integrals (<code>mo_2e_int</code> group)</a></li>
<li><a href="#org458f567">7.1. One-electron integrals (<code>mo_1e_int</code> group)</a></li>
<li><a href="#org334c599">7.2. Two-electron integrals (<code>mo_2e_int</code> group)</a></li>
</ul>
</li>
<li><a href="#org66e3b79">8. <span class="todo TODO">TODO</span> Slater determinants</a></li>
<li><a href="#orgdca46a8">9. <span class="todo TODO">TODO</span> Reduced density matrices (rdm group)</a></li>
<li><a href="#org42982ec">8. <span class="todo TODO">TODO</span> Slater determinants</a></li>
<li><a href="#org4b3b24b">9. <span class="todo TODO">TODO</span> Reduced density matrices (rdm group)</a></li>
</ul>
</div>
</div>
@ -399,8 +399,8 @@ arrays are 0-based. Hence, we introduce the <code>index</code> type which is an
1-based <code>int</code> in the Fortran interface and 0-based otherwise.
</p>
<div id="outline-container-org2c77b4a" class="outline-2">
<h2 id="org2c77b4a"><span class="section-number-2">1</span> Metadata (metadata group)</h2>
<div id="outline-container-orga4b6d95" class="outline-2">
<h2 id="orga4b6d95"><span class="section-number-2">1</span> Metadata (metadata group)</h2>
<div class="outline-text-2" id="text-1">
<p>
As we expect our files to be archived in open-data repositories, we
@ -410,7 +410,7 @@ which have participated to the creation of the file, a list of
authors of the file, and a textual description.
</p>
<table id="org8fde4c1" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org3ddc984" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -477,15 +477,15 @@ authors of the file, and a textual description.
</div>
</div>
<div id="outline-container-orged59845" class="outline-2">
<h2 id="orged59845"><span class="section-number-2">2</span> Electron (electron group)</h2>
<div id="outline-container-org53a6c1a" class="outline-2">
<h2 id="org53a6c1a"><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="org23c696f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org752c516" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -524,15 +524,15 @@ the number of &uarr; and &darr; electrons is fixed.
</div>
</div>
<div id="outline-container-org0ecd57e" class="outline-2">
<h2 id="org0ecd57e"><span class="section-number-2">3</span> Nucleus (nucleus group)</h2>
<div id="outline-container-orgca1b0fa" class="outline-2">
<h2 id="orgca1b0fa"><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="orga69e626" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org5512202" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -592,8 +592,8 @@ given in Cartesian \((x,y,z)\) format.
</div>
</div>
<div id="outline-container-org4eb200c" class="outline-2">
<h2 id="org4eb200c"><span class="section-number-2">4</span> Effective core potentials (ecp group)</h2>
<div id="outline-container-orgc1089f8" class="outline-2">
<h2 id="orgc1089f8"><span class="section-number-2">4</span> Effective core potentials (ecp group)</h2>
<div class="outline-text-2" id="text-4">
<p>
An effective core potential (ECP) \(V_A^{\text{ECP}}\) replacing the
@ -626,7 +626,7 @@ The functions \(V_{A\ell}\) are parameterized as:
See <a href="http://dx.doi.org/10.1063/1.4984046">http://dx.doi.org/10.1063/1.4984046</a> or <a href="https://doi.org/10.1063/1.5121006">https://doi.org/10.1063/1.5121006</a> for more info.
</p>
<table id="org7b2b137" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org179fc63" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -724,8 +724,8 @@ The latter causes issues when written before <code>ang_mom</code> in the TREXIO
</p>
</div>
<div id="outline-container-org3b400be" class="outline-3">
<h3 id="org3b400be"><span class="section-number-3">4.1</span> Example</h3>
<div id="outline-container-orgd0a36b5" class="outline-3">
<h3 id="orgd0a36b5"><span class="section-number-3">4.1</span> Example</h3>
<div class="outline-text-3" id="text-4-1">
<p>
For example, consider H<sub>2</sub> molecule with the following
@ -788,8 +788,8 @@ power = [
</div>
</div>
<div id="outline-container-org732ed3b" class="outline-2">
<h2 id="org732ed3b"><span class="section-number-2">5</span> Basis set (basis group)</h2>
<div id="outline-container-org87eeb97" class="outline-2">
<h2 id="org87eeb97"><span class="section-number-2">5</span> Basis set (basis group)</h2>
<div class="outline-text-2" id="text-5">
<p>
We consider here basis functions centered on nuclei. Hence, we enable
@ -842,7 +842,7 @@ If the the basis function is not considered normalized, \(\mathcal{N}_s=1\).
All the basis set parameters are stored in one-dimensional arrays:
</p>
<table id="org6e40673" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgceeba88" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -936,8 +936,8 @@ All the basis set parameters are stored in one-dimensional arrays:
</table>
</div>
<div id="outline-container-org4f6a51b" class="outline-3">
<h3 id="org4f6a51b"><span class="section-number-3">5.1</span> Example</h3>
<div id="outline-container-org0661d44" class="outline-3">
<h3 id="org0661d44"><span class="section-number-3">5.1</span> Example</h3>
<div class="outline-text-3" id="text-5-1">
<p>
For example, consider H<sub>2</sub> with the following basis set (in GAMESS
@ -1015,8 +1015,8 @@ prim_factor =
</div>
</div>
<div id="outline-container-org030c6ff" class="outline-2">
<h2 id="org030c6ff"><span class="section-number-2">6</span> Atomic orbitals (ao group)</h2>
<div id="outline-container-orgeb82a41" class="outline-2">
<h2 id="orgeb82a41"><span class="section-number-2">6</span> Atomic orbitals (ao group)</h2>
<div class="outline-text-2" id="text-6">
<p>
Going from the atomic basis set to AOs implies a systematic
@ -1064,13 +1064,13 @@ shell, as in the GAMESS convention where
<p>
In such a case, one should set the normalization of the shell (in
the <a href="#org732ed3b">Basis set</a> section) to \(\mathcal{N}_{z^2}\), which is the
the <a href="#org87eeb97">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="orge8780d8" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org9a807ea" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1122,8 +1122,8 @@ introduced here should be \(\frac{\mathcal{N}_{xy}}{\mathcal{N}_{z^2}}\).
</table>
</div>
<div id="outline-container-org1f7b2e0" class="outline-3">
<h3 id="ao_one_e"><a id="org1f7b2e0"></a><span class="section-number-3">6.1</span> One-electron integrals (<code>ao_1e_int</code> group)</h3>
<div id="outline-container-org66434c4" class="outline-3">
<h3 id="ao_one_e"><a id="org66434c4"></a><span class="section-number-3">6.1</span> One-electron integrals (<code>ao_1e_int</code> group)</h3>
<div class="outline-text-3" id="text-ao_one_e">
<ul class="org-ul">
<li>\[ \hat{V}_{\text{ne}} = \sum_{A=1}^{N_\text{nucl}}
@ -1141,7 +1141,7 @@ The one-electron integrals for a one-electron operator \(\hat{O}\) are
over atomic orbitals.
</p>
<table id="org7e00678" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgd2e958f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1208,8 +1208,8 @@ over atomic orbitals.
</div>
</div>
<div id="outline-container-orgfcaeddc" class="outline-3">
<h3 id="ao_two_e"><a id="orgfcaeddc"></a><span class="section-number-3">6.2</span> Two-electron integrals (<code>ao_2e_int</code> group)</h3>
<div id="outline-container-org8e1dc5c" class="outline-3">
<h3 id="ao_two_e"><a id="org8e1dc5c"></a><span class="section-number-3">6.2</span> Two-electron integrals (<code>ao_2e_int</code> group)</h3>
<div class="outline-text-3" id="text-ao_two_e">
<p>
The two-electron integrals for a two-electron operator \(\hat{O}\) are
@ -1230,7 +1230,7 @@ notation.
\mathbf{r}_j \vert)}{\vert \mathbf{r}_i - \mathbf{r}_j \vert} \] : electron-electron long range potential</li>
</ul>
<table id="org0fffd53" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org8c6a6c7" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1270,10 +1270,10 @@ notation.
</div>
</div>
<div id="outline-container-org6d28a9e" class="outline-2">
<h2 id="org6d28a9e"><span class="section-number-2">7</span> Molecular orbitals (mo group)</h2>
<div id="outline-container-org38158ff" class="outline-2">
<h2 id="org38158ff"><span class="section-number-2">7</span> Molecular orbitals (mo group)</h2>
<div class="outline-text-2" id="text-7">
<table id="org9277458" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgc1d6a25" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1339,8 +1339,8 @@ notation.
</table>
</div>
<div id="outline-container-org600602e" class="outline-3">
<h3 id="org600602e"><span class="section-number-3">7.1</span> One-electron integrals (<code>mo_1e_int</code> group)</h3>
<div id="outline-container-org458f567" class="outline-3">
<h3 id="org458f567"><span class="section-number-3">7.1</span> One-electron integrals (<code>mo_1e_int</code> group)</h3>
<div class="outline-text-3" id="text-7-1">
<p>
The operators as the same as those defined in the
@ -1348,7 +1348,7 @@ The operators as the same as those defined in the
the basis of molecular orbitals.
</p>
<table id="org9ff82e3" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org17e3c5f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1415,8 +1415,8 @@ the basis of molecular orbitals.
</div>
</div>
<div id="outline-container-org37f34bf" class="outline-3">
<h3 id="org37f34bf"><span class="section-number-3">7.2</span> Two-electron integrals (<code>mo_2e_int</code> group)</h3>
<div id="outline-container-org334c599" class="outline-3">
<h3 id="org334c599"><span class="section-number-3">7.2</span> Two-electron integrals (<code>mo_2e_int</code> group)</h3>
<div class="outline-text-3" id="text-7-2">
<p>
The operators as the same as those defined in the
@ -1424,7 +1424,7 @@ The operators as the same as those defined in the
the basis of molecular orbitals.
</p>
<table id="org810c5db" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgf2c4f89" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1464,13 +1464,13 @@ the basis of molecular orbitals.
</div>
</div>
<div id="outline-container-org66e3b79" class="outline-2">
<h2 id="org66e3b79"><span class="section-number-2">8</span> <span class="todo TODO">TODO</span> Slater determinants</h2>
<div id="outline-container-org42982ec" class="outline-2">
<h2 id="org42982ec"><span class="section-number-2">8</span> <span class="todo TODO">TODO</span> Slater determinants</h2>
</div>
<div id="outline-container-orgdca46a8" class="outline-2">
<h2 id="orgdca46a8"><span class="section-number-2">9</span> <span class="todo TODO">TODO</span> Reduced density matrices (rdm group)</h2>
<div id="outline-container-org4b3b24b" class="outline-2">
<h2 id="org4b3b24b"><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="org1f4e53c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orga6f991a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1525,7 +1525,7 @@ the basis of molecular orbitals.
</div>
<div id="postamble" class="status">
<p class="author">Author: TREX-CoE</p>
<p class="date">Created: 2021-12-07 Tue 17:02</p>
<p class="date">Created: 2021-12-15 Wed 12:52</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>