1
0
mirror of https://github.com/TREX-CoE/trexio.git synced 2024-12-25 05:43:53 +01:00

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

This commit is contained in:
scemama 2021-11-17 13:18:13 +00:00
parent 8856510d70
commit b52caba958
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-11-08 Mon 19:47 -->
<!-- 2021-11-17 Wed 13:18 -->
<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-11-08 Mon 19:47</p>
<p class="date">Created: 2021-11-17 Wed 13:18</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-11-08 Mon 19:47 -->
<!-- 2021-11-17 Wed 13:18 -->
<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="#orge1118ec">1. Text back end</a></li>
<li><a href="#orgfea29a8">2. HDF5 Back end</a></li>
<li><a href="#org72a0023">1. Text back end</a></li>
<li><a href="#org19b0c52">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-orge1118ec" class="outline-2">
<h2 id="orge1118ec"><span class="section-number-2">1</span> Text back end</h2>
<div id="outline-container-org72a0023" class="outline-2">
<h2 id="org72a0023"><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-orgfea29a8" class="outline-2">
<h2 id="orgfea29a8"><span class="section-number-2">2</span> HDF5 Back end</h2>
<div id="outline-container-org19b0c52" class="outline-2">
<h2 id="org19b0c52"><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-11-08 Mon 19:47</p>
<p class="date">Created: 2021-11-17 Wed 13:18</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-11-08 Mon 19:47 -->
<!-- 2021-11-17 Wed 13:18 -->
<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-11-08 Mon 19:47</p>
<p class="date">Created: 2021-11-17 Wed 13:18</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-11-08 Mon 19:47 -->
<!-- 2021-11-17 Wed 13:18 -->
<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="#orgec0d9eb">1. Coding conventions</a>
<li><a href="#orgf789848">1. Coding conventions</a>
<ul>
<li><a href="#org0e75f70">1.1. Memory allocation</a></li>
<li><a href="#org5dfbfc9">1.1. Memory allocation</a></li>
</ul>
</li>
<li><a href="#org6372c88">2. Front end</a>
<li><a href="#orgf16a786">2. Front end</a>
<ul>
<li><a href="#org8bf254b">2.1. Error handling</a>
<li><a href="#org0e0e1ad">2.1. Error handling</a>
<ul>
<li><a href="#orgaa53dc3">2.1.1. Decoding errors</a>
<li><a href="#orgcc88b17">2.1.1. Decoding errors</a>
<ul>
<li><a href="#orgf4d2c1f">2.1.1.1. C source code</a></li>
<li><a href="#orgf9e5383">2.1.1.2. Fortran interface</a></li>
<li><a href="#org05e524e">2.1.1.3. Python interface</a></li>
<li><a href="#org9e4ce1f">2.1.1.1. C source code</a></li>
<li><a href="#org236ed3b">2.1.1.2. Fortran interface</a></li>
<li><a href="#orgc312514">2.1.1.3. Python interface</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#orgbb7b64d">2.2. Back ends</a>
<li><a href="#org1ce805f">2.2. Back ends</a>
<ul>
<li><a href="#org6578dab">2.2.1. C</a></li>
<li><a href="#org566bddd">2.2.2. Fortran</a></li>
<li><a href="#org2084ae6">2.2.3. Python</a></li>
<li><a href="#orgd026f15">2.2.1. C</a></li>
<li><a href="#org69df03a">2.2.2. Fortran</a></li>
<li><a href="#org34c13ba">2.2.3. Python</a></li>
</ul>
</li>
<li><a href="#orgc345fdf">2.3. Read/write behavior</a></li>
<li><a href="#org390b021">2.4. TREXIO file type</a>
<li><a href="#orgc5e42c7">2.3. Read/write behavior</a></li>
<li><a href="#org491b545">2.4. TREXIO file type</a>
<ul>
<li><a href="#org77d06fb">2.4.1. TREXIO<sub>File</sub> Python class</a></li>
<li><a href="#org40ecde0">2.4.1. TREXIO<sub>File</sub> Python class</a></li>
</ul>
</li>
<li><a href="#orgcb8e01b">2.5. Polymorphism of the file handle</a></li>
<li><a href="#orgc7ea98c">2.6. File opening</a>
<li><a href="#orgf5319ff">2.5. Polymorphism of the file handle</a></li>
<li><a href="#org430cb53">2.6. File opening</a>
<ul>
<li><a href="#org25230b0">2.6.1. C</a></li>
<li><a href="#org5772e26">2.6.2. Fortran</a></li>
<li><a href="#org05463a3">2.6.3. Python</a></li>
<li><a href="#org12d0bcb">2.6.4. Zero-based versus one-based arrays of indices</a></li>
<li><a href="#orgc04db55">2.6.1. C</a></li>
<li><a href="#orgde42092">2.6.2. Fortran</a></li>
<li><a href="#org76230d7">2.6.3. Python</a></li>
<li><a href="#org5d6edaa">2.6.4. Zero-based versus one-based arrays of indices</a></li>
</ul>
</li>
<li><a href="#orgac08f99">2.7. File closing</a>
<li><a href="#org44f7c7a">2.7. File closing</a>
<ul>
<li><a href="#org7f6f915">2.7.1. C</a></li>
<li><a href="#org9e820cc">2.7.2. Fortran</a></li>
<li><a href="#org2bddd46">2.7.3. Python</a></li>
<li><a href="#orgdd7329a">2.7.1. C</a></li>
<li><a href="#orgeeb17c5">2.7.2. Fortran</a></li>
<li><a href="#orgffbb320">2.7.3. Python</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#org222d86b">3. Templates for front end</a>
<li><a href="#org0252c18">3. Templates for front end</a>
<ul>
<li><a href="#org5c755e6">3.1. Description</a></li>
<li><a href="#org11fcb47">3.2. Templates for front end has/read/write a single numerical attribute</a>
<li><a href="#org4f5e82f">3.1. Description</a></li>
<li><a href="#org165d32c">3.2. Templates for front end has/read/write a single numerical attribute</a>
<ul>
<li><a href="#orgf200354">3.2.1. Introduction</a></li>
<li><a href="#orgb295e15">3.2.2. C templates for front end</a>
<li><a href="#orge193c1e">3.2.1. Introduction</a></li>
<li><a href="#orgc0a4b61">3.2.2. C templates for front end</a>
<ul>
<li><a href="#org1ff2734">3.2.2.1. Function declarations</a></li>
<li><a href="#org3e9fb71">3.2.2.2. Source code for double precision functions</a></li>
<li><a href="#orgacb0e37">3.2.2.3. Source code for single precision functions</a></li>
<li><a href="#orge3fc65f">3.2.2.4. Source code for default functions</a></li>
<li><a href="#orgf05e356">3.2.2.1. Function declarations</a></li>
<li><a href="#org1cce195">3.2.2.2. Source code for double precision functions</a></li>
<li><a href="#orgdfdf73d">3.2.2.3. Source code for single precision functions</a></li>
<li><a href="#org4512700">3.2.2.4. Source code for default functions</a></li>
</ul>
</li>
<li><a href="#org1ae067b">3.2.3. Fortran templates for front end</a></li>
<li><a href="#org2731608">3.2.4. Python templates for front end</a></li>
<li><a href="#org7f27069">3.2.3. Fortran templates for front end</a></li>
<li><a href="#org36d6039">3.2.4. Python templates for front end</a></li>
</ul>
</li>
<li><a href="#org10ad016">3.3. Templates for front end has/read/write a dataset of numerical data</a>
<li><a href="#org4d87892">3.3. Templates for front end has/read/write a dataset of numerical data</a>
<ul>
<li><a href="#org3a7c3f5">3.3.1. Introduction</a></li>
<li><a href="#orgdee0207">3.3.2. C templates for front end</a>
<li><a href="#org9875828">3.3.1. Introduction</a></li>
<li><a href="#orgf923ee8">3.3.2. C templates for front end</a>
<ul>
<li><a href="#org1c32f6c">3.3.2.1. Function declarations</a></li>
<li><a href="#orga4e08e5">3.3.2.2. Source code for double precision functions</a></li>
<li><a href="#orgc6597f0">3.3.2.3. Source code for single precision functions</a></li>
<li><a href="#org14937ca">3.3.2.4. Source code for memory-safe functions</a></li>
<li><a href="#orgbae4e9c">3.3.2.5. Source code for default functions</a></li>
<li><a href="#orga9d3ee8">3.3.2.1. Function declarations</a></li>
<li><a href="#orgae612b7">3.3.2.2. Source code for double precision functions</a></li>
<li><a href="#orgacfd7ae">3.3.2.3. Source code for single precision functions</a></li>
<li><a href="#org06879f2">3.3.2.4. Source code for memory-safe functions</a></li>
<li><a href="#org32c325e">3.3.2.5. Source code for default functions</a></li>
</ul>
</li>
<li><a href="#org824379d">3.3.3. Fortran templates for front end</a></li>
<li><a href="#orgb48e8fa">3.3.4. Python templates for front end</a></li>
<li><a href="#org868cea9">3.3.3. Fortran templates for front end</a></li>
<li><a href="#org086e334">3.3.4. Python templates for front end</a></li>
</ul>
</li>
<li><a href="#org9c81006">3.4. Sparse data structures</a></li>
<li><a href="#org2fb666d">3.5. Templates for front end has/read/write a dataset of strings</a>
<li><a href="#org7bffb82">3.4. Sparse data structures</a></li>
<li><a href="#orga10aa96">3.5. Templates for front end has/read/write a dataset of strings</a>
<ul>
<li><a href="#org8454a7e">3.5.1. Introduction</a></li>
<li><a href="#org1cb4ccd">3.5.2. C templates for front end</a>
<li><a href="#org53d449d">3.5.1. Introduction</a></li>
<li><a href="#orgc24c4c7">3.5.2. C templates for front end</a>
<ul>
<li><a href="#orgaf439ce">3.5.2.1. Function declarations</a></li>
<li><a href="#org72925a5">3.5.2.2. Source code for default functions</a></li>
<li><a href="#org56f44a8">3.5.2.1. Function declarations</a></li>
<li><a href="#org1dc15fe">3.5.2.2. Source code for default functions</a></li>
</ul>
</li>
<li><a href="#org93e1d6b">3.5.3. Fortran templates for front end</a></li>
<li><a href="#org50d98f0">3.5.4. Python templates for front end</a></li>
<li><a href="#org6c39cea">3.5.3. Fortran templates for front end</a></li>
<li><a href="#org9e1fd4a">3.5.4. Python templates for front end</a></li>
</ul>
</li>
<li><a href="#org77a0db9">3.6. Templates for front end has/read/write a single string attribute</a>
<li><a href="#org2465a60">3.6. Templates for front end has/read/write a single string attribute</a>
<ul>
<li><a href="#orgfceb278">3.6.1. Introduction</a></li>
<li><a href="#orgdf96fc0">3.6.2. C templates for front end</a>
<li><a href="#org941f7fe">3.6.1. Introduction</a></li>
<li><a href="#orga68b075">3.6.2. C templates for front end</a>
<ul>
<li><a href="#orgff6428b">3.6.2.1. Function declarations</a></li>
<li><a href="#org211a3bc">3.6.2.2. Source code for default functions</a></li>
<li><a href="#org4950592">3.6.2.1. Function declarations</a></li>
<li><a href="#orgf608d87">3.6.2.2. Source code for default functions</a></li>
</ul>
</li>
<li><a href="#org298d6e6">3.6.3. Fortran templates for front end</a></li>
<li><a href="#org61459ff">3.6.4. Python templates for front end</a></li>
<li><a href="#orgd6b81f1">3.6.3. Fortran templates for front end</a></li>
<li><a href="#org18811a1">3.6.4. Python templates for front end</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#orgf2a0add">4. Fortran helper/wrapper functions</a></li>
<li><a href="#orgff37ee5">4. Fortran helper/wrapper functions</a></li>
</ul>
</div>
</div>
<div id="outline-container-orgec0d9eb" class="outline-2">
<h2 id="orgec0d9eb"><span class="section-number-2">1</span> Coding conventions</h2>
<div id="outline-container-orgf789848" class="outline-2">
<h2 id="orgf789848"><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-org0e75f70" class="outline-3">
<h3 id="org0e75f70"><span class="section-number-3">1.1</span> Memory allocation</h3>
<div id="outline-container-org5dfbfc9" class="outline-3">
<h3 id="org5dfbfc9"><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-org6372c88" class="outline-2">
<h2 id="org6372c88"><span class="section-number-2">2</span> Front end</h2>
<div id="outline-container-orgf16a786" class="outline-2">
<h2 id="orgf16a786"><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-org8bf254b" class="outline-3">
<h3 id="org8bf254b"><span class="section-number-3">2.1</span> Error handling</h3>
<div id="outline-container-org0e0e1ad" class="outline-3">
<h3 id="org0e0e1ad"><span class="section-number-3">2.1</span> Error handling</h3>
<div class="outline-text-3" id="text-2-1">
<table id="orgc1f6747" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org3463af9" 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-orgaa53dc3" class="outline-4">
<h4 id="orgaa53dc3"><span class="section-number-4">2.1.1</span> Decoding errors</h4>
<div id="outline-container-orgcc88b17" class="outline-4">
<h4 id="orgcc88b17"><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-orgf4d2c1f" class="outline-5">
<h5 id="orgf4d2c1f"><span class="section-number-5">2.1.1.1</span> C source code</h5>
<div id="outline-container-org9e4ce1f" class="outline-5">
<h5 id="org9e4ce1f"><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-orgf9e5383" class="outline-5">
<h5 id="orgf9e5383"><span class="section-number-5">2.1.1.2</span> Fortran interface</h5>
<div id="outline-container-org236ed3b" class="outline-5">
<h5 id="org236ed3b"><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-org05e524e" class="outline-5">
<h5 id="org05e524e"><span class="section-number-5">2.1.1.3</span> Python interface</h5>
<div id="outline-container-orgc312514" class="outline-5">
<h5 id="orgc312514"><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-orgbb7b64d" class="outline-3">
<h3 id="orgbb7b64d"><span class="section-number-3">2.2</span> Back ends</h3>
<div id="outline-container-org1ce805f" class="outline-3">
<h3 id="org1ce805f"><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-org6578dab" class="outline-4">
<h4 id="org6578dab"><span class="section-number-4">2.2.1</span> C</h4>
<div id="outline-container-orgd026f15" class="outline-4">
<h4 id="orgd026f15"><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-org566bddd" class="outline-4">
<h4 id="org566bddd"><span class="section-number-4">2.2.2</span> Fortran</h4>
<div id="outline-container-org69df03a" class="outline-4">
<h4 id="org69df03a"><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-org2084ae6" class="outline-4">
<h4 id="org2084ae6"><span class="section-number-4">2.2.3</span> Python</h4>
<div id="outline-container-org34c13ba" class="outline-4">
<h4 id="org34c13ba"><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-orgc345fdf" class="outline-3">
<h3 id="orgc345fdf"><span class="section-number-3">2.3</span> Read/write behavior</h3>
<div id="outline-container-orgc5e42c7" class="outline-3">
<h3 id="orgc5e42c7"><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-org390b021" class="outline-3">
<h3 id="org390b021"><span class="section-number-3">2.4</span> TREXIO file type</h3>
<div id="outline-container-org491b545" class="outline-3">
<h3 id="org491b545"><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-org77d06fb" class="outline-4">
<h4 id="org77d06fb"><span class="section-number-4">2.4.1</span> TREXIO<sub>File</sub> Python class</h4>
<div id="outline-container-org40ecde0" class="outline-4">
<h4 id="org40ecde0"><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-orgcb8e01b" class="outline-3">
<h3 id="orgcb8e01b"><span class="section-number-3">2.5</span> Polymorphism of the file handle</h3>
<div id="outline-container-orgf5319ff" class="outline-3">
<h3 id="orgf5319ff"><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-orgc7ea98c" class="outline-3">
<h3 id="orgc7ea98c"><span class="section-number-3">2.6</span> File opening</h3>
<div id="outline-container-org430cb53" class="outline-3">
<h3 id="org430cb53"><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-org25230b0" class="outline-4">
<h4 id="org25230b0"><span class="section-number-4">2.6.1</span> C</h4>
<div id="outline-container-orgc04db55" class="outline-4">
<h4 id="orgc04db55"><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-org5772e26" class="outline-4">
<h4 id="org5772e26"><span class="section-number-4">2.6.2</span> Fortran</h4>
<div id="outline-container-orgde42092" class="outline-4">
<h4 id="orgde42092"><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-org05463a3" class="outline-4">
<h4 id="org05463a3"><span class="section-number-4">2.6.3</span> Python</h4>
<div id="outline-container-org76230d7" class="outline-4">
<h4 id="org76230d7"><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-org12d0bcb" class="outline-4">
<h4 id="org12d0bcb"><span class="section-number-4">2.6.4</span> Zero-based versus one-based arrays of indices</h4>
<div id="outline-container-org5d6edaa" class="outline-4">
<h4 id="org5d6edaa"><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-orgac08f99" class="outline-3">
<h3 id="orgac08f99"><span class="section-number-3">2.7</span> File closing</h3>
<div id="outline-container-org44f7c7a" class="outline-3">
<h3 id="org44f7c7a"><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-org7f6f915" class="outline-4">
<h4 id="org7f6f915"><span class="section-number-4">2.7.1</span> C</h4>
<div id="outline-container-orgdd7329a" class="outline-4">
<h4 id="orgdd7329a"><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-org9e820cc" class="outline-4">
<h4 id="org9e820cc"><span class="section-number-4">2.7.2</span> Fortran</h4>
<div id="outline-container-orgeeb17c5" class="outline-4">
<h4 id="orgeeb17c5"><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-org2bddd46" class="outline-4">
<h4 id="org2bddd46"><span class="section-number-4">2.7.3</span> Python</h4>
<div id="outline-container-orgffbb320" class="outline-4">
<h4 id="orgffbb320"><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-org222d86b" class="outline-2">
<h2 id="org222d86b"><span class="section-number-2">3</span> Templates for front end</h2>
<div id="outline-container-org0252c18" class="outline-2">
<h2 id="org0252c18"><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-org5c755e6" class="outline-3">
<h3 id="org5c755e6"><span class="section-number-3">3.1</span> Description</h3>
<div id="outline-container-org4f5e82f" class="outline-3">
<h3 id="org4f5e82f"><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-org11fcb47" class="outline-3">
<h3 id="org11fcb47"><span class="section-number-3">3.2</span> Templates for front end has/read/write a single numerical attribute</h3>
<div id="outline-container-org165d32c" class="outline-3">
<h3 id="org165d32c"><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-orgf200354" class="outline-4">
<h4 id="orgf200354"><span class="section-number-4">3.2.1</span> Introduction</h4>
<div id="outline-container-orge193c1e" class="outline-4">
<h4 id="orge193c1e"><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-orgb295e15" class="outline-4">
<h4 id="orgb295e15"><span class="section-number-4">3.2.2</span> C templates for front end</h4>
<div id="outline-container-orgc0a4b61" class="outline-4">
<h4 id="orgc0a4b61"><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-org1ff2734" class="outline-5">
<h5 id="org1ff2734"><span class="section-number-5">3.2.2.1</span> Function declarations</h5>
<div id="outline-container-orgf05e356" class="outline-5">
<h5 id="orgf05e356"><span class="section-number-5">3.2.2.1</span> Function declarations</h5>
</div>
<div id="outline-container-org3e9fb71" class="outline-5">
<h5 id="org3e9fb71"><span class="section-number-5">3.2.2.2</span> Source code for double precision functions</h5>
<div id="outline-container-org1cce195" class="outline-5">
<h5 id="org1cce195"><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-orgacb0e37" class="outline-5">
<h5 id="orgacb0e37"><span class="section-number-5">3.2.2.3</span> Source code for single precision functions</h5>
<div id="outline-container-orgdfdf73d" class="outline-5">
<h5 id="orgdfdf73d"><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-orge3fc65f" class="outline-5">
<h5 id="orge3fc65f"><span class="section-number-5">3.2.2.4</span> Source code for default functions</h5>
<div id="outline-container-org4512700" class="outline-5">
<h5 id="org4512700"><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-org1ae067b" class="outline-4">
<h4 id="org1ae067b"><span class="section-number-4">3.2.3</span> Fortran templates for front end</h4>
<div id="outline-container-org7f27069" class="outline-4">
<h4 id="org7f27069"><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-org2731608" class="outline-4">
<h4 id="org2731608"><span class="section-number-4">3.2.4</span> Python templates for front end</h4>
<div id="outline-container-org36d6039" class="outline-4">
<h4 id="org36d6039"><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-org10ad016" class="outline-3">
<h3 id="org10ad016"><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-org4d87892" class="outline-3">
<h3 id="org4d87892"><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-org3a7c3f5" class="outline-4">
<h4 id="org3a7c3f5"><span class="section-number-4">3.3.1</span> Introduction</h4>
<div id="outline-container-org9875828" class="outline-4">
<h4 id="org9875828"><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-orgdee0207" class="outline-4">
<h4 id="orgdee0207"><span class="section-number-4">3.3.2</span> C templates for front end</h4>
<div id="outline-container-orgf923ee8" class="outline-4">
<h4 id="orgf923ee8"><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-org1c32f6c" class="outline-5">
<h5 id="org1c32f6c"><span class="section-number-5">3.3.2.1</span> Function declarations</h5>
<div id="outline-container-orga9d3ee8" class="outline-5">
<h5 id="orga9d3ee8"><span class="section-number-5">3.3.2.1</span> Function declarations</h5>
</div>
<div id="outline-container-orga4e08e5" class="outline-5">
<h5 id="orga4e08e5"><span class="section-number-5">3.3.2.2</span> Source code for double precision functions</h5>
<div id="outline-container-orgae612b7" class="outline-5">
<h5 id="orgae612b7"><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-orgc6597f0" class="outline-5">
<h5 id="orgc6597f0"><span class="section-number-5">3.3.2.3</span> Source code for single precision functions</h5>
<div id="outline-container-orgacfd7ae" class="outline-5">
<h5 id="orgacfd7ae"><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-org14937ca" class="outline-5">
<h5 id="org14937ca"><span class="section-number-5">3.3.2.4</span> Source code for memory-safe functions</h5>
<div id="outline-container-org06879f2" class="outline-5">
<h5 id="org06879f2"><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="org0004704"><span style="color: #228b22;">trexio_exit_code</span> <span style="color: #a0522d;">rc</span>;
<pre class="src src-c" id="orge77a79f"><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-orgbae4e9c" class="outline-5">
<h5 id="orgbae4e9c"><span class="section-number-5">3.3.2.5</span> Source code for default functions</h5>
<div id="outline-container-org32c325e" class="outline-5">
<h5 id="org32c325e"><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-org824379d" class="outline-4">
<h4 id="org824379d"><span class="section-number-4">3.3.3</span> Fortran templates for front end</h4>
<div id="outline-container-org868cea9" class="outline-4">
<h4 id="org868cea9"><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-orgb48e8fa" class="outline-4">
<h4 id="orgb48e8fa"><span class="section-number-4">3.3.4</span> Python templates for front end</h4>
<div id="outline-container-org086e334" class="outline-4">
<h4 id="org086e334"><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-org9c81006" class="outline-3">
<h3 id="org9c81006"><span class="section-number-3">3.4</span> Sparse data structures</h3>
<div id="outline-container-org7bffb82" class="outline-3">
<h3 id="org7bffb82"><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-org2fb666d" class="outline-3">
<h3 id="org2fb666d"><span class="section-number-3">3.5</span> Templates for front end has/read/write a dataset of strings</h3>
<div id="outline-container-orga10aa96" class="outline-3">
<h3 id="orga10aa96"><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-org8454a7e" class="outline-4">
<h4 id="org8454a7e"><span class="section-number-4">3.5.1</span> Introduction</h4>
<div id="outline-container-org53d449d" class="outline-4">
<h4 id="org53d449d"><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-org1cb4ccd" class="outline-4">
<h4 id="org1cb4ccd"><span class="section-number-4">3.5.2</span> C templates for front end</h4>
<div id="outline-container-orgc24c4c7" class="outline-4">
<h4 id="orgc24c4c7"><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-orgaf439ce" class="outline-5">
<h5 id="orgaf439ce"><span class="section-number-5">3.5.2.1</span> Function declarations</h5>
<div id="outline-container-org56f44a8" class="outline-5">
<h5 id="org56f44a8"><span class="section-number-5">3.5.2.1</span> Function declarations</h5>
</div>
<div id="outline-container-org72925a5" class="outline-5">
<h5 id="org72925a5"><span class="section-number-5">3.5.2.2</span> Source code for default functions</h5>
<div id="outline-container-org1dc15fe" class="outline-5">
<h5 id="org1dc15fe"><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-org93e1d6b" class="outline-4">
<h4 id="org93e1d6b"><span class="section-number-4">3.5.3</span> Fortran templates for front end</h4>
<div id="outline-container-org6c39cea" class="outline-4">
<h4 id="org6c39cea"><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-org50d98f0" class="outline-4">
<h4 id="org50d98f0"><span class="section-number-4">3.5.4</span> Python templates for front end</h4>
<div id="outline-container-org9e1fd4a" class="outline-4">
<h4 id="org9e1fd4a"><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-org77a0db9" class="outline-3">
<h3 id="org77a0db9"><span class="section-number-3">3.6</span> Templates for front end has/read/write a single string attribute</h3>
<div id="outline-container-org2465a60" class="outline-3">
<h3 id="org2465a60"><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-orgfceb278" class="outline-4">
<h4 id="orgfceb278"><span class="section-number-4">3.6.1</span> Introduction</h4>
<div id="outline-container-org941f7fe" class="outline-4">
<h4 id="org941f7fe"><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-orgdf96fc0" class="outline-4">
<h4 id="orgdf96fc0"><span class="section-number-4">3.6.2</span> C templates for front end</h4>
<div id="outline-container-orga68b075" class="outline-4">
<h4 id="orga68b075"><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-orgff6428b" class="outline-5">
<h5 id="orgff6428b"><span class="section-number-5">3.6.2.1</span> Function declarations</h5>
<div id="outline-container-org4950592" class="outline-5">
<h5 id="org4950592"><span class="section-number-5">3.6.2.1</span> Function declarations</h5>
</div>
<div id="outline-container-org211a3bc" class="outline-5">
<h5 id="org211a3bc"><span class="section-number-5">3.6.2.2</span> Source code for default functions</h5>
<div id="outline-container-orgf608d87" class="outline-5">
<h5 id="orgf608d87"><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-org298d6e6" class="outline-4">
<h4 id="org298d6e6"><span class="section-number-4">3.6.3</span> Fortran templates for front end</h4>
<div id="outline-container-orgd6b81f1" class="outline-4">
<h4 id="orgd6b81f1"><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-org61459ff" class="outline-4">
<h4 id="org61459ff"><span class="section-number-4">3.6.4</span> Python templates for front end</h4>
<div id="outline-container-org18811a1" class="outline-4">
<h4 id="org18811a1"><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-orgf2a0add" class="outline-2">
<h2 id="orgf2a0add"><span class="section-number-2">4</span> Fortran helper/wrapper functions</h2>
<div id="outline-container-orgff37ee5" class="outline-2">
<h2 id="orgff37ee5"><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-11-08 Mon 19:47</p>
<p class="date">Created: 2021-11-17 Wed 13:18</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-11-08 Mon 19:47 -->
<!-- 2021-11-17 Wed 13:18 -->
<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="#org254807a">1. HDF5 back end</a>
<li><a href="#org12bffd5">1. HDF5 back end</a>
<ul>
<li><a href="#orgc878a2b">1.1. Template for HDF5 definitions</a></li>
<li><a href="#org858e9ec">1.2. Template for HDF5 structures</a></li>
<li><a href="#org7a3e756">1.3. Template for HDF5 init/deinit</a></li>
<li><a href="#org1ca7d97">1.4. Template for HDF5 has/read/write the numerical attribute</a></li>
<li><a href="#org589435f">1.5. Template for HDF5 has/read/write the dataset of numerical data</a></li>
<li><a href="#org5f6644e">1.6. Template for HDF5 has/read/write the dataset of strings</a></li>
<li><a href="#orgfc504bd">1.7. Template for HDF5 has/read/write the string attribute</a></li>
<li><a href="#orgc27b3ca">1.1. Template for HDF5 definitions</a></li>
<li><a href="#org0cc2ce1">1.2. Template for HDF5 structures</a></li>
<li><a href="#orgf324fea">1.3. Template for HDF5 init/deinit</a></li>
<li><a href="#org575253d">1.4. Template for HDF5 has/read/write the numerical attribute</a></li>
<li><a href="#orgf898180">1.5. Template for HDF5 has/read/write the dataset of numerical data</a></li>
<li><a href="#orgd93fac0">1.6. Template for HDF5 has/read/write the dataset of strings</a></li>
<li><a href="#orgf7177cd">1.7. Template for HDF5 has/read/write the string attribute</a></li>
</ul>
</li>
</ul>
</div>
</div>
<div id="outline-container-org254807a" class="outline-2">
<h2 id="org254807a"><span class="section-number-2">1</span> HDF5 back end</h2>
<div id="outline-container-org12bffd5" class="outline-2">
<h2 id="org12bffd5"><span class="section-number-2">1</span> HDF5 back end</h2>
<div class="outline-text-2" id="text-1">
</div>
<div id="outline-container-orgc878a2b" class="outline-3">
<h3 id="orgc878a2b"><span class="section-number-3">1.1</span> Template for HDF5 definitions</h3>
<div id="outline-container-orgc27b3ca" class="outline-3">
<h3 id="orgc27b3ca"><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-org858e9ec" class="outline-3">
<h3 id="org858e9ec"><span class="section-number-3">1.2</span> Template for HDF5 structures</h3>
<div id="outline-container-org0cc2ce1" class="outline-3">
<h3 id="org0cc2ce1"><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-org7a3e756" class="outline-3">
<h3 id="org7a3e756"><span class="section-number-3">1.3</span> Template for HDF5 init/deinit</h3>
<div id="outline-container-orgf324fea" class="outline-3">
<h3 id="orgf324fea"><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-org1ca7d97" class="outline-3">
<h3 id="org1ca7d97"><span class="section-number-3">1.4</span> Template for HDF5 has/read/write the numerical attribute</h3>
<div id="outline-container-org575253d" class="outline-3">
<h3 id="org575253d"><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-org589435f" class="outline-3">
<h3 id="org589435f"><span class="section-number-3">1.5</span> Template for HDF5 has/read/write the dataset of numerical data</h3>
<div id="outline-container-orgf898180" class="outline-3">
<h3 id="orgf898180"><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-org5f6644e" class="outline-3">
<h3 id="org5f6644e"><span class="section-number-3">1.6</span> Template for HDF5 has/read/write the dataset of strings</h3>
<div id="outline-container-orgd93fac0" class="outline-3">
<h3 id="orgd93fac0"><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-orgfc504bd" class="outline-3">
<h3 id="orgfc504bd"><span class="section-number-3">1.7</span> Template for HDF5 has/read/write the string attribute</h3>
<div id="outline-container-orgf7177cd" class="outline-3">
<h3 id="orgf7177cd"><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-11-08 Mon 19:47</p>
<p class="date">Created: 2021-11-17 Wed 13:18</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-11-08 Mon 19:47 -->
<!-- 2021-11-17 Wed 13:18 -->
<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="#org4f0d2dd">1. TEXT back end</a>
<li><a href="#org131a8c2">1. TEXT back end</a>
<ul>
<li><a href="#orgc81f686">1.1. Template for group-related structures in text back end</a></li>
<li><a href="#org694ffa4">1.2. Template for general structure in text back end</a></li>
<li><a href="#orgc4cfbeb">1.3. Initialize function (constant part)</a></li>
<li><a href="#org72eb104">1.4. Deinitialize function (templated part)</a></li>
<li><a href="#org2f1db87">1.5. Template for text read struct</a></li>
<li><a href="#org2896387">1.6. Template for text flush struct</a></li>
<li><a href="#org11d9ece">1.7. Template for text free memory</a></li>
<li><a href="#orgfff55ff">1.8. Template for has/read/write the numerical attribute</a></li>
<li><a href="#org77dcd8b">1.9. Template for has/read/write the dataset of numerical data</a></li>
<li><a href="#orga1f1091">1.10. Template for has/read/write the dataset of strings</a></li>
<li><a href="#orga699600">1.11. Template for has/read/write the string attribute</a></li>
<li><a href="#org832fdc1">1.12. RDM struct (hard-coded)</a>
<li><a href="#org98c71c2">1.1. Template for group-related structures in text back end</a></li>
<li><a href="#org5991264">1.2. Template for general structure in text back end</a></li>
<li><a href="#orgde1d757">1.3. Initialize function (constant part)</a></li>
<li><a href="#orgb6d43eb">1.4. Deinitialize function (templated part)</a></li>
<li><a href="#org1d2254b">1.5. Template for text read struct</a></li>
<li><a href="#orgef535dd">1.6. Template for text flush struct</a></li>
<li><a href="#org6c7b8fd">1.7. Template for text free memory</a></li>
<li><a href="#org90e6d3c">1.8. Template for has/read/write the numerical attribute</a></li>
<li><a href="#org2b05531">1.9. Template for has/read/write the dataset of numerical data</a></li>
<li><a href="#org4eb994c">1.10. Template for has/read/write the dataset of strings</a></li>
<li><a href="#org2fc8b89">1.11. Template for has/read/write the string attribute</a></li>
<li><a href="#orga642930">1.12. RDM struct (hard-coded)</a>
<ul>
<li><a href="#orge809ba0">1.12.1. Read the complete struct</a></li>
<li><a href="#org7ddf3e5">1.12.2. Flush the complete struct</a></li>
<li><a href="#orge89cf15">1.12.3. Free memory</a></li>
<li><a href="#org9b2a6d2">1.12.4. Read/Write the one<sub>e</sub> attribute</a></li>
<li><a href="#org96bca02">1.12.5. Read/Write the two<sub>e</sub> attribute</a></li>
<li><a href="#org681c0a5">1.12.1. Read the complete struct</a></li>
<li><a href="#org419e9ce">1.12.2. Flush the complete struct</a></li>
<li><a href="#org976a12a">1.12.3. Free memory</a></li>
<li><a href="#org7b07ae9">1.12.4. Read/Write the one<sub>e</sub> attribute</a></li>
<li><a href="#org6103c43">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-org4f0d2dd" class="outline-2">
<h2 id="org4f0d2dd"><span class="section-number-2">1</span> TEXT back end</h2>
<div id="outline-container-org131a8c2" class="outline-2">
<h2 id="org131a8c2"><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-orgc81f686" class="outline-3">
<h3 id="orgc81f686"><span class="section-number-3">1.1</span> Template for group-related structures in text back end</h3>
<div id="outline-container-org98c71c2" class="outline-3">
<h3 id="org98c71c2"><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-org694ffa4" class="outline-3">
<h3 id="org694ffa4"><span class="section-number-3">1.2</span> Template for general structure in text back end</h3>
<div id="outline-container-org5991264" class="outline-3">
<h3 id="org5991264"><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-orgc4cfbeb" class="outline-3">
<h3 id="orgc4cfbeb"><span class="section-number-3">1.3</span> Initialize function (constant part)</h3>
<div id="outline-container-orgde1d757" class="outline-3">
<h3 id="orgde1d757"><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-org72eb104" class="outline-3">
<h3 id="org72eb104"><span class="section-number-3">1.4</span> Deinitialize function (templated part)</h3>
<div id="outline-container-orgb6d43eb" class="outline-3">
<h3 id="orgb6d43eb"><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-org2f1db87" class="outline-3">
<h3 id="org2f1db87"><span class="section-number-3">1.5</span> Template for text read struct</h3>
<div id="outline-container-org1d2254b" class="outline-3">
<h3 id="org1d2254b"><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-org2896387" class="outline-3">
<h3 id="org2896387"><span class="section-number-3">1.6</span> Template for text flush struct</h3>
<div id="outline-container-orgef535dd" class="outline-3">
<h3 id="orgef535dd"><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-org11d9ece" class="outline-3">
<h3 id="org11d9ece"><span class="section-number-3">1.7</span> Template for text free memory</h3>
<div id="outline-container-org6c7b8fd" class="outline-3">
<h3 id="org6c7b8fd"><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-orgfff55ff" class="outline-3">
<h3 id="orgfff55ff"><span class="section-number-3">1.8</span> Template for has/read/write the numerical attribute</h3>
<div id="outline-container-org90e6d3c" class="outline-3">
<h3 id="org90e6d3c"><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-org77dcd8b" class="outline-3">
<h3 id="org77dcd8b"><span class="section-number-3">1.9</span> Template for has/read/write the dataset of numerical data</h3>
<div id="outline-container-org2b05531" class="outline-3">
<h3 id="org2b05531"><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-orga1f1091" class="outline-3">
<h3 id="orga1f1091"><span class="section-number-3">1.10</span> Template for has/read/write the dataset of strings</h3>
<div id="outline-container-org4eb994c" class="outline-3">
<h3 id="org4eb994c"><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-orga699600" class="outline-3">
<h3 id="orga699600"><span class="section-number-3">1.11</span> Template for has/read/write the string attribute</h3>
<div id="outline-container-org2fc8b89" class="outline-3">
<h3 id="org2fc8b89"><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-org832fdc1" class="outline-3">
<h3 id="org832fdc1"><span class="section-number-3">1.12</span> RDM struct (hard-coded)</h3>
<div id="outline-container-orga642930" class="outline-3">
<h3 id="orga642930"><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-orge809ba0" class="outline-4">
<h4 id="orge809ba0"><span class="section-number-4">1.12.1</span> Read the complete struct</h4>
<div id="outline-container-org681c0a5" class="outline-4">
<h4 id="org681c0a5"><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-org7ddf3e5" class="outline-4">
<h4 id="org7ddf3e5"><span class="section-number-4">1.12.2</span> Flush the complete struct</h4>
<div id="outline-container-org419e9ce" class="outline-4">
<h4 id="org419e9ce"><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-orge89cf15" class="outline-4">
<h4 id="orge89cf15"><span class="section-number-4">1.12.3</span> Free memory</h4>
<div id="outline-container-org976a12a" class="outline-4">
<h4 id="org976a12a"><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-org9b2a6d2" class="outline-4">
<h4 id="org9b2a6d2"><span class="section-number-4">1.12.4</span> Read/Write the one<sub>e</sub> attribute</h4>
<div id="outline-container-org7b07ae9" class="outline-4">
<h4 id="org7b07ae9"><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-org96bca02" class="outline-4">
<h4 id="org96bca02"><span class="section-number-4">1.12.5</span> Read/Write the two<sub>e</sub> attribute</h4>
<div id="outline-container-org6103c43" class="outline-4">
<h4 id="org6103c43"><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-11-08 Mon 19:47</p>
<p class="date">Created: 2021-11-17 Wed 13:18</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-11-08 Mon 19:47 -->
<!-- 2021-11-17 Wed 13:18 -->
<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="#orgf928a39">1. Metadata (metadata group)</a></li>
<li><a href="#orgb3b4ec5">2. Electron (electron group)</a></li>
<li><a href="#org9ca5945">3. Nucleus (nucleus group)</a></li>
<li><a href="#org8c66a74">4. Effective core potentials (ecp group)</a>
<li><a href="#org5d35540">1. Metadata (metadata group)</a></li>
<li><a href="#org6630ad3">2. Electron (electron group)</a></li>
<li><a href="#orgca40772">3. Nucleus (nucleus group)</a></li>
<li><a href="#orga4319c6">4. Effective core potentials (ecp group)</a>
<ul>
<li><a href="#org388ae87">4.1. Example</a></li>
<li><a href="#org0768341">4.1. Example</a></li>
</ul>
</li>
<li><a href="#org3952c88">5. Basis set (basis group)</a>
<li><a href="#org9d02681">5. Basis set (basis group)</a>
<ul>
<li><a href="#org6d16528">5.1. Example</a></li>
<li><a href="#org97facfc">5.1. Example</a></li>
</ul>
</li>
<li><a href="#orgbc9c6d8">6. Atomic orbitals (ao group)</a>
<li><a href="#org0144202">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="#org26e6291">7. Molecular orbitals (mo group)</a>
<li><a href="#org710ba6a">7. Molecular orbitals (mo group)</a>
<ul>
<li><a href="#org7d3c046">7.1. One-electron integrals (<code>mo_1e_int</code> group)</a></li>
<li><a href="#org39c0764">7.2. Two-electron integrals (<code>mo_2e_int</code> group)</a></li>
<li><a href="#orgc7f08ea">7.1. One-electron integrals (<code>mo_1e_int</code> group)</a></li>
<li><a href="#orgee4424e">7.2. Two-electron integrals (<code>mo_2e_int</code> group)</a></li>
</ul>
</li>
<li><a href="#orgfa9fb9f">8. <span class="todo TODO">TODO</span> Slater determinants</a></li>
<li><a href="#org65d821a">9. <span class="todo TODO">TODO</span> Reduced density matrices (rdm group)</a></li>
<li><a href="#orgc2af6e9">8. <span class="todo TODO">TODO</span> Slater determinants</a></li>
<li><a href="#org9bdaed1">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-orgf928a39" class="outline-2">
<h2 id="orgf928a39"><span class="section-number-2">1</span> Metadata (metadata group)</h2>
<div id="outline-container-org5d35540" class="outline-2">
<h2 id="org5d35540"><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="orga2d3e87" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org061ac1e" 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-orgb3b4ec5" class="outline-2">
<h2 id="orgb3b4ec5"><span class="section-number-2">2</span> Electron (electron group)</h2>
<div id="outline-container-org6630ad3" class="outline-2">
<h2 id="org6630ad3"><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="org661a60f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org2c62bf1" 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-org9ca5945" class="outline-2">
<h2 id="org9ca5945"><span class="section-number-2">3</span> Nucleus (nucleus group)</h2>
<div id="outline-container-orgca40772" class="outline-2">
<h2 id="orgca40772"><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="orgfe3a776" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orga24f0b4" 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-org8c66a74" class="outline-2">
<h2 id="org8c66a74"><span class="section-number-2">4</span> Effective core potentials (ecp group)</h2>
<div id="outline-container-orga4319c6" class="outline-2">
<h2 id="orga4319c6"><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="org9057f3c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org5846300" 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-org388ae87" class="outline-3">
<h3 id="org388ae87"><span class="section-number-3">4.1</span> Example</h3>
<div id="outline-container-org0768341" class="outline-3">
<h3 id="org0768341"><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-org3952c88" class="outline-2">
<h2 id="org3952c88"><span class="section-number-2">5</span> Basis set (basis group)</h2>
<div id="outline-container-org9d02681" class="outline-2">
<h2 id="org9d02681"><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="org1f918af" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org1afffa2" 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-org6d16528" class="outline-3">
<h3 id="org6d16528"><span class="section-number-3">5.1</span> Example</h3>
<div id="outline-container-org97facfc" class="outline-3">
<h3 id="org97facfc"><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-orgbc9c6d8" class="outline-2">
<h2 id="orgbc9c6d8"><span class="section-number-2">6</span> Atomic orbitals (ao group)</h2>
<div id="outline-container-org0144202" class="outline-2">
<h2 id="org0144202"><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="#org3952c88">Basis set</a> section) to \(\mathcal{N}_{z^2}\), which is the
the <a href="#org9d02681">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="orge1bd22b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgca797da" 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-orgf477626" class="outline-3">
<h3 id="ao_one_e"><a id="orgf477626"></a><span class="section-number-3">6.1</span> One-electron integrals (<code>ao_1e_int</code> group)</h3>
<div id="outline-container-org45f47d0" class="outline-3">
<h3 id="ao_one_e"><a id="org45f47d0"></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="org56bf0f9" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org514215d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1208,8 +1208,8 @@ over atomic orbitals.
</div>
</div>
<div id="outline-container-org67a3f3f" class="outline-3">
<h3 id="ao_two_e"><a id="org67a3f3f"></a><span class="section-number-3">6.2</span> Two-electron integrals (<code>ao_2e_int</code> group)</h3>
<div id="outline-container-org70171cf" class="outline-3">
<h3 id="ao_two_e"><a id="org70171cf"></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="org24cdaf5" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orge04b124" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1270,10 +1270,10 @@ notation.
</div>
</div>
<div id="outline-container-org26e6291" class="outline-2">
<h2 id="org26e6291"><span class="section-number-2">7</span> Molecular orbitals (mo group)</h2>
<div id="outline-container-org710ba6a" class="outline-2">
<h2 id="org710ba6a"><span class="section-number-2">7</span> Molecular orbitals (mo group)</h2>
<div class="outline-text-2" id="text-7">
<table id="orgfd76a75" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org950c653" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1339,8 +1339,8 @@ notation.
</table>
</div>
<div id="outline-container-org7d3c046" class="outline-3">
<h3 id="org7d3c046"><span class="section-number-3">7.1</span> One-electron integrals (<code>mo_1e_int</code> group)</h3>
<div id="outline-container-orgc7f08ea" class="outline-3">
<h3 id="orgc7f08ea"><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="orgcfa90cc" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org18b8274" 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-org39c0764" class="outline-3">
<h3 id="org39c0764"><span class="section-number-3">7.2</span> Two-electron integrals (<code>mo_2e_int</code> group)</h3>
<div id="outline-container-orgee4424e" class="outline-3">
<h3 id="orgee4424e"><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="org7e3145f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org30b5222" 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-orgfa9fb9f" class="outline-2">
<h2 id="orgfa9fb9f"><span class="section-number-2">8</span> <span class="todo TODO">TODO</span> Slater determinants</h2>
<div id="outline-container-orgc2af6e9" class="outline-2">
<h2 id="orgc2af6e9"><span class="section-number-2">8</span> <span class="todo TODO">TODO</span> Slater determinants</h2>
</div>
<div id="outline-container-org65d821a" class="outline-2">
<h2 id="org65d821a"><span class="section-number-2">9</span> <span class="todo TODO">TODO</span> Reduced density matrices (rdm group)</h2>
<div id="outline-container-org9bdaed1" class="outline-2">
<h2 id="org9bdaed1"><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="orgb6f05c4" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org5eec320" 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-11-08 Mon 19:47</p>
<p class="date">Created: 2021-11-17 Wed 13:18</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>