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@3bd730557c 🚀

This commit is contained in:
q-posev 2021-06-22 10:22:27 +00:00
parent e68f80691b
commit 0c0c639db1
7 changed files with 258 additions and 258 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-06-22 Tue 09:38 -->
<!-- 2021-06-22 Tue 10:22 -->
<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>
@ -342,7 +342,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-06-22 Tue 09:38</p>
<p class="date">Created: 2021-06-22 Tue 10:22</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-06-22 Tue 09:38 -->
<!-- 2021-06-22 Tue 10:22 -->
<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="#orga8aeee4">1. Text back end</a></li>
<li><a href="#org4d817d2">2. HDF5 Back end</a></li>
<li><a href="#org72f5cf5">1. Text back end</a></li>
<li><a href="#org055c88d">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-orga8aeee4" class="outline-2">
<h2 id="orga8aeee4"><span class="section-number-2">1</span> Text back end</h2>
<div id="outline-container-org72f5cf5" class="outline-2">
<h2 id="org72f5cf5"><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-org4d817d2" class="outline-2">
<h2 id="org4d817d2"><span class="section-number-2">2</span> HDF5 Back end</h2>
<div id="outline-container-org055c88d" class="outline-2">
<h2 id="org055c88d"><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-06-22 Tue 09:38</p>
<p class="date">Created: 2021-06-22 Tue 10:22</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-06-22 Tue 09:38 -->
<!-- 2021-06-22 Tue 10:22 -->
<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>
@ -342,7 +342,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-06-22 Tue 09:38</p>
<p class="date">Created: 2021-06-22 Tue 10:22</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-06-22 Tue 09:38 -->
<!-- 2021-06-22 Tue 10:22 -->
<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,61 +333,61 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#org6f6e16c">1. Coding conventions</a>
<li><a href="#org825a5a0">1. Coding conventions</a>
<ul>
<li><a href="#orgd33db8b">1.1. Memory allocation</a></li>
<li><a href="#orge2f8a55">1.1. Memory allocation</a></li>
</ul>
</li>
<li><a href="#org11d4421">2. Front end</a>
<li><a href="#org96fc97d">2. Front end</a>
<ul>
<li><a href="#org8295bcd">2.1. Error handling</a></li>
<li><a href="#orgf39acfc">2.2. Back ends</a></li>
<li><a href="#orgf38bf62">2.3. Read/write behavior</a></li>
<li><a href="#orgde502de">2.4. TREXIO file type</a></li>
<li><a href="#orga4fcaad">2.5. Polymorphism of the file handle</a></li>
<li><a href="#org07f58bb">2.6. File opening</a></li>
<li><a href="#org530176e">2.7. File closing</a></li>
<li><a href="#orgc0d8632">2.1. Error handling</a></li>
<li><a href="#org0aa5079">2.2. Back ends</a></li>
<li><a href="#org8c7226e">2.3. Read/write behavior</a></li>
<li><a href="#orga195db7">2.4. TREXIO file type</a></li>
<li><a href="#orgf2c3ab7">2.5. Polymorphism of the file handle</a></li>
<li><a href="#org73bd8f3">2.6. File opening</a></li>
<li><a href="#orgd6e06c9">2.7. File closing</a></li>
</ul>
</li>
<li><a href="#org025d7a9">3. Templates for front end</a>
<li><a href="#orgdf1e9c4">3. Templates for front end</a>
<ul>
<li><a href="#orgfb6c9d3">3.1. Description</a></li>
<li><a href="#orgbb47b5c">3.2. Templates for front end has/read/write a single dimensioning variable</a>
<li><a href="#orgaec4c11">3.1. Description</a></li>
<li><a href="#orgdb20b39">3.2. Templates for front end has/read/write a single dimensioning variable</a>
<ul>
<li><a href="#org53efe5d">3.2.1. C templates for front end</a></li>
<li><a href="#org3d82b05">3.2.2. Fortran templates for front end</a></li>
<li><a href="#orgb169558">3.2.1. C templates for front end</a></li>
<li><a href="#org5e69b90">3.2.2. Fortran templates for front end</a></li>
</ul>
</li>
<li><a href="#orga900ee7">3.3. Templates for front end has/read/write a dataset of numerical data</a>
<li><a href="#org5d80755">3.3. Templates for front end has/read/write a dataset of numerical data</a>
<ul>
<li><a href="#org7b7e6ce">3.3.1. C templates for front end</a></li>
<li><a href="#orgd35a49f">3.3.2. Fortran templates for front end</a></li>
<li><a href="#org16585b5">3.3.1. C templates for front end</a></li>
<li><a href="#orge4a641e">3.3.2. Fortran templates for front end</a></li>
</ul>
</li>
<li><a href="#orgda05337">3.4. Sparse data structures</a></li>
<li><a href="#org9afb2f0">3.5. Templates for front end has/read/write a dataset of strings</a>
<li><a href="#orgf888836">3.4. Sparse data structures</a></li>
<li><a href="#org93f30b9">3.5. Templates for front end has/read/write a dataset of strings</a>
<ul>
<li><a href="#org5709d3b">3.5.1. Introduction</a></li>
<li><a href="#orgf7f8949">3.5.2. C templates for front end</a></li>
<li><a href="#org1c5e24d">3.5.3. Fortran templates for front end</a></li>
<li><a href="#orgba96594">3.5.1. Introduction</a></li>
<li><a href="#orgfa762ea">3.5.2. C templates for front end</a></li>
<li><a href="#org2346c52">3.5.3. Fortran templates for front end</a></li>
</ul>
</li>
<li><a href="#orgc08fae5">3.6. Templates for front end has/read/write a single string attribute</a>
<li><a href="#orgb7b49c5">3.6. Templates for front end has/read/write a single string attribute</a>
<ul>
<li><a href="#org9aa4dea">3.6.1. Introduction</a></li>
<li><a href="#org6edcce1">3.6.2. C templates for front end</a></li>
<li><a href="#org4e5b793">3.6.3. Fortran templates for front end</a></li>
<li><a href="#org98b2793">3.6.1. Introduction</a></li>
<li><a href="#orgab59381">3.6.2. C templates for front end</a></li>
<li><a href="#orgf778bf1">3.6.3. Fortran templates for front end</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#org2ed9d42">4. Fortran helper/wrapper functions</a></li>
<li><a href="#orge3060b4">4. Fortran helper/wrapper functions</a></li>
</ul>
</div>
</div>
<div id="outline-container-org6f6e16c" class="outline-2">
<h2 id="org6f6e16c"><span class="section-number-2">1</span> Coding conventions</h2>
<div id="outline-container-org825a5a0" class="outline-2">
<h2 id="org825a5a0"><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>
@ -402,8 +402,8 @@ for the JavaScript code in this tag.
</ul>
</div>
<div id="outline-container-orgd33db8b" class="outline-3">
<h3 id="orgd33db8b"><span class="section-number-3">1.1</span> Memory allocation</h3>
<div id="outline-container-orge2f8a55" class="outline-3">
<h3 id="orge2f8a55"><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
@ -438,8 +438,8 @@ The maximum string size for the filenames is 4096 characters.
</div>
</div>
<div id="outline-container-org11d4421" class="outline-2">
<h2 id="org11d4421"><span class="section-number-2">2</span> Front end</h2>
<div id="outline-container-org96fc97d" class="outline-2">
<h2 id="org96fc97d"><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.
@ -447,10 +447,10 @@ TREXIO front end is modular, which simplifies implementation of new back ends.
</p>
</div>
<div id="outline-container-org8295bcd" class="outline-3">
<h3 id="org8295bcd"><span class="section-number-3">2.1</span> Error handling</h3>
<div id="outline-container-orgc0d8632" class="outline-3">
<h3 id="orgc0d8632"><span class="section-number-3">2.1</span> Error handling</h3>
<div class="outline-text-3" id="text-2-1">
<table id="orgdf3bb3f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org1997f08" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -750,8 +750,8 @@ The text strings are extracted from the previous table.
</div>
</div>
<div id="outline-container-orgf39acfc" class="outline-3">
<h3 id="orgf39acfc"><span class="section-number-3">2.2</span> Back ends</h3>
<div id="outline-container-org0aa5079" class="outline-3">
<h3 id="org0aa5079"><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:
@ -783,8 +783,8 @@ lines that correspond to the <code>TREXIO_JSON</code> back end (not implemented
</div>
</div>
</div>
<div id="outline-container-orgf38bf62" class="outline-3">
<h3 id="orgf38bf62"><span class="section-number-3">2.3</span> Read/write behavior</h3>
<div id="outline-container-org8c7226e" class="outline-3">
<h3 id="org8c7226e"><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
@ -812,8 +812,8 @@ concurrent programs, the behavior is not specified.
</p>
</div>
</div>
<div id="outline-container-orgde502de" class="outline-3">
<h3 id="orgde502de"><span class="section-number-3">2.4</span> TREXIO file type</h3>
<div id="outline-container-orga195db7" class="outline-3">
<h3 id="orga195db7"><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
@ -846,8 +846,8 @@ TREXIO files will have as a first argument the TREXIO file handle.
</div>
</div>
</div>
<div id="outline-container-orga4fcaad" class="outline-3">
<h3 id="orga4fcaad"><span class="section-number-3">2.5</span> Polymorphism of the file handle</h3>
<div id="outline-container-orgf2c3ab7" class="outline-3">
<h3 id="orgf2c3ab7"><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
@ -866,8 +866,8 @@ corresponding types for all back ends can be safely casted to
</div>
</div>
<div id="outline-container-org07f58bb" class="outline-3">
<h3 id="org07f58bb"><span class="section-number-3">2.6</span> File opening</h3>
<div id="outline-container-org73bd8f3" class="outline-3">
<h3 id="org73bd8f3"><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.
@ -1058,8 +1058,8 @@ know if we need to shift by 1 arrays of indices.
</div>
</div>
<div id="outline-container-org530176e" class="outline-3">
<h3 id="org530176e"><span class="section-number-3">2.7</span> File closing</h3>
<div id="outline-container-orgd6e06c9" class="outline-3">
<h3 id="orgd6e06c9"><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.
@ -1155,12 +1155,12 @@ output:
</div>
</div>
<div id="outline-container-org025d7a9" class="outline-2">
<h2 id="org025d7a9"><span class="section-number-2">3</span> Templates for front end</h2>
<div id="outline-container-orgdf1e9c4" class="outline-2">
<h2 id="orgdf1e9c4"><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-orgfb6c9d3" class="outline-3">
<h3 id="orgfb6c9d3"><span class="section-number-3">3.1</span> Description</h3>
<div id="outline-container-orgaec4c11" class="outline-3">
<h3 id="orgaec4c11"><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>:
@ -1350,8 +1350,8 @@ or double precision for integer and floating point numbers.
</div>
</div>
<div id="outline-container-orgbb47b5c" class="outline-3">
<h3 id="orgbb47b5c"><span class="section-number-3">3.2</span> Templates for front end has/read/write a single dimensioning variable</h3>
<div id="outline-container-orgdb20b39" class="outline-3">
<h3 id="orgdb20b39"><span class="section-number-3">3.2</span> Templates for front end has/read/write a single dimensioning variable</h3>
<div class="outline-text-3" id="text-3-2">
<p>
This section concerns API calls related to dimensioning variables.
@ -1420,8 +1420,8 @@ This section concerns API calls related to dimensioning variables.
</table>
</div>
<div id="outline-container-org53efe5d" class="outline-4">
<h4 id="org53efe5d"><span class="section-number-4">3.2.1</span> C templates for front end</h4>
<div id="outline-container-orgb169558" class="outline-4">
<h4 id="orgb169558"><span class="section-number-4">3.2.1</span> C templates for front end</h4>
<div class="outline-text-4" id="text-3-2-1">
<p>
The <code>C</code> templates that correspond to each of the abovementioned
@ -1610,8 +1610,8 @@ precision (see Table above).
</div>
</div>
<div id="outline-container-org3d82b05" class="outline-4">
<h4 id="org3d82b05"><span class="section-number-4">3.2.2</span> Fortran templates for front end</h4>
<div id="outline-container-org5e69b90" class="outline-4">
<h4 id="org5e69b90"><span class="section-number-4">3.2.2</span> Fortran templates for front end</h4>
<div class="outline-text-4" id="text-3-2-2">
<p>
The <code>Fortran</code> templates that provide an access to the <code>C</code> API calls from Fortran.
@ -1697,8 +1697,8 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
</div>
</div>
<div id="outline-container-orga900ee7" class="outline-3">
<h3 id="orga900ee7"><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-org5d80755" class="outline-3">
<h3 id="org5d80755"><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">
<p>
This section concerns API calls related to datasets.
@ -1767,8 +1767,8 @@ This section concerns API calls related to datasets.
</table>
</div>
<div id="outline-container-org7b7e6ce" class="outline-4">
<h4 id="org7b7e6ce"><span class="section-number-4">3.3.1</span> C templates for front end</h4>
<div id="outline-container-org16585b5" class="outline-4">
<h4 id="org16585b5"><span class="section-number-4">3.3.1</span> C templates for front end</h4>
<div class="outline-text-4" id="text-3-3-1">
<p>
The C templates that correspond to each of the abovementioned functions can be found below.
@ -2087,8 +2087,8 @@ The basic (non-suffixed) API call on datasets deals with double precision (see T
</div>
</div>
<div id="outline-container-orgd35a49f" class="outline-4">
<h4 id="orgd35a49f"><span class="section-number-4">3.3.2</span> Fortran templates for front end</h4>
<div id="outline-container-orge4a641e" class="outline-4">
<h4 id="orge4a641e"><span class="section-number-4">3.3.2</span> Fortran templates for front end</h4>
<div class="outline-text-4" id="text-3-3-2">
<p>
The <code>Fortran</code> templates that provide an access to the <code>C</code> API calls from <code>Fortran</code>.
@ -2174,8 +2174,8 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
</div>
</div>
<div id="outline-container-orgda05337" class="outline-3">
<h3 id="orgda05337"><span class="section-number-3">3.4</span> Sparse data structures</h3>
<div id="outline-container-orgf888836" class="outline-3">
<h3 id="orgf888836"><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
@ -2316,12 +2316,12 @@ For the values,
</div>
</div>
<div id="outline-container-org9afb2f0" class="outline-3">
<h3 id="org9afb2f0"><span class="section-number-3">3.5</span> Templates for front end has/read/write a dataset of strings</h3>
<div id="outline-container-org93f30b9" class="outline-3">
<h3 id="org93f30b9"><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-org5709d3b" class="outline-4">
<h4 id="org5709d3b"><span class="section-number-4">3.5.1</span> Introduction</h4>
<div id="outline-container-orgba96594" class="outline-4">
<h4 id="orgba96594"><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.
@ -2361,8 +2361,8 @@ This section concerns API calls related to datasets of strings.
</div>
</div>
<div id="outline-container-orgf7f8949" class="outline-4">
<h4 id="orgf7f8949"><span class="section-number-4">3.5.2</span> C templates for front end</h4>
<div id="outline-container-orgfa762ea" class="outline-4">
<h4 id="orgfa762ea"><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
@ -2605,8 +2605,8 @@ to/from the <code>TREXIO</code> file (except for <code>trexio_has_</code> functi
</div>
</div>
<div id="outline-container-org1c5e24d" class="outline-4">
<h4 id="org1c5e24d"><span class="section-number-4">3.5.3</span> Fortran templates for front end</h4>
<div id="outline-container-org2346c52" class="outline-4">
<h4 id="org2346c52"><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>.
@ -2703,12 +2703,12 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
</div>
</div>
<div id="outline-container-orgc08fae5" class="outline-3">
<h3 id="orgc08fae5"><span class="section-number-3">3.6</span> Templates for front end has/read/write a single string attribute</h3>
<div id="outline-container-orgb7b49c5" class="outline-3">
<h3 id="orgb7b49c5"><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-org9aa4dea" class="outline-4">
<h4 id="org9aa4dea"><span class="section-number-4">3.6.1</span> Introduction</h4>
<div id="outline-container-org98b2793" class="outline-4">
<h4 id="org98b2793"><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.
@ -2748,8 +2748,8 @@ This section concerns API calls related to string attributes.
</div>
</div>
<div id="outline-container-org6edcce1" class="outline-4">
<h4 id="org6edcce1"><span class="section-number-4">3.6.2</span> C templates for front end</h4>
<div id="outline-container-orgab59381" class="outline-4">
<h4 id="orgab59381"><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 class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
@ -2849,8 +2849,8 @@ This section concerns API calls related to string attributes.
</div>
</div>
<div id="outline-container-org4e5b793" class="outline-4">
<h4 id="org4e5b793"><span class="section-number-4">3.6.3</span> Fortran templates for front end</h4>
<div id="outline-container-orgf778bf1" class="outline-4">
<h4 id="orgf778bf1"><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.
@ -2929,8 +2929,8 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
</div>
</div>
<div id="outline-container-org2ed9d42" class="outline-2">
<h2 id="org2ed9d42"><span class="section-number-2">4</span> Fortran helper/wrapper functions</h2>
<div id="outline-container-orge3060b4" class="outline-2">
<h2 id="orge3060b4"><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.
@ -3064,7 +3064,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-06-22 Tue 09:38</p>
<p class="date">Created: 2021-06-22 Tue 10:22</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-06-22 Tue 09:38 -->
<!-- 2021-06-22 Tue 10:22 -->
<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="#org7ed7add">1. HDF5 back end</a>
<li><a href="#orgc3d3253">1. HDF5 back end</a>
<ul>
<li><a href="#orgb592aa5">1.1. Template for HDF5 definitions</a></li>
<li><a href="#org8e2de6f">1.2. Template for HDF5 structures</a></li>
<li><a href="#orgeeaf943">1.3. Template for HDF5 init/deinit</a></li>
<li><a href="#org6964302">1.4. Template for HDF5 has/read/write a single dimensioning variable</a></li>
<li><a href="#org0e197f3">1.5. Template for HDF5 has/read/write a dataset of numerical data</a></li>
<li><a href="#org8833f7d">1.6. Template for HDF5 has/read/write a dataset of strings</a></li>
<li><a href="#org4b7d69a">1.7. Template for HDF5 has/read/write a single string attribute</a></li>
<li><a href="#orgdb2e5c8">1.1. Template for HDF5 definitions</a></li>
<li><a href="#org47561d9">1.2. Template for HDF5 structures</a></li>
<li><a href="#org4835c4a">1.3. Template for HDF5 init/deinit</a></li>
<li><a href="#org345f4c1">1.4. Template for HDF5 has/read/write a single dimensioning variable</a></li>
<li><a href="#orgfbe4bec">1.5. Template for HDF5 has/read/write a dataset of numerical data</a></li>
<li><a href="#org4197b20">1.6. Template for HDF5 has/read/write a dataset of strings</a></li>
<li><a href="#org2d1e0a9">1.7. Template for HDF5 has/read/write a single string attribute</a></li>
</ul>
</li>
</ul>
</div>
</div>
<div id="outline-container-org7ed7add" class="outline-2">
<h2 id="org7ed7add"><span class="section-number-2">1</span> HDF5 back end</h2>
<div id="outline-container-orgc3d3253" class="outline-2">
<h2 id="orgc3d3253"><span class="section-number-2">1</span> HDF5 back end</h2>
<div class="outline-text-2" id="text-1">
</div>
<div id="outline-container-orgb592aa5" class="outline-3">
<h3 id="orgb592aa5"><span class="section-number-3">1.1</span> Template for HDF5 definitions</h3>
<div id="outline-container-orgdb2e5c8" class="outline-3">
<h3 id="orgdb2e5c8"><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-org8e2de6f" class="outline-3">
<h3 id="org8e2de6f"><span class="section-number-3">1.2</span> Template for HDF5 structures</h3>
<div id="outline-container-org47561d9" class="outline-3">
<h3 id="org47561d9"><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> {
@ -359,8 +359,8 @@ for the JavaScript code in this tag.
</div>
<div id="outline-container-orgeeaf943" class="outline-3">
<h3 id="orgeeaf943"><span class="section-number-3">1.3</span> Template for HDF5 init/deinit</h3>
<div id="outline-container-org4835c4a" class="outline-3">
<h3 id="org4835c4a"><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>
@ -440,8 +440,8 @@ for the JavaScript code in this tag.
</div>
</div>
<div id="outline-container-org6964302" class="outline-3">
<h3 id="org6964302"><span class="section-number-3">1.4</span> Template for HDF5 has/read/write a single dimensioning variable</h3>
<div id="outline-container-org345f4c1" class="outline-3">
<h3 id="org345f4c1"><span class="section-number-3">1.4</span> Template for HDF5 has/read/write a single dimensioning variable</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 @@ for the JavaScript code in this tag.
</div>
</div>
<div id="outline-container-org0e197f3" class="outline-3">
<h3 id="org0e197f3"><span class="section-number-3">1.5</span> Template for HDF5 has/read/write a dataset of numerical data</h3>
<div id="outline-container-orgfbe4bec" class="outline-3">
<h3 id="orgfbe4bec"><span class="section-number-3">1.5</span> Template for HDF5 has/read/write a 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>
@ -579,15 +579,6 @@ for the JavaScript code in this tag.
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">trexio_hdf5_t</span>* <span style="color: #a0522d;">f</span> = (<span style="color: #a020f0;">const</span> <span style="color: #228b22;">trexio_hdf5_t</span>*) file;
<span style="color: #228b22;">herr_t</span> <span style="color: #a0522d;">status</span>;
<span style="color: #228b22;">int</span> <span style="color: #a0522d;">rrank</span>;
// <span style="color: #b22222;">get the rank of the dataset in a file</span>
status = H5LTget_dataset_ndims (f-&gt;$group$_group, $GROUP_DSET$_NAME, &amp;rrank);
<span style="color: #a020f0;">if</span> (status &lt; 0) <span style="color: #a020f0;">return</span> TREXIO_FAILURE;
<span style="color: #a020f0;">if</span> (rrank != (<span style="color: #228b22;">int</span>) rank) <span style="color: #a020f0;">return</span> TREXIO_INVALID_ARG_3;
// <span style="color: #b22222;">open the dataset to get its dimensions</span>
<span style="color: #228b22;">hid_t</span> <span style="color: #a0522d;">dset_id</span> = H5Dopen(f-&gt;$group$_group, $GROUP_DSET$_NAME, H5P_DEFAULT);
<span style="color: #a020f0;">if</span> (dset_id &lt;= 0) <span style="color: #a020f0;">return</span> TREXIO_INVALID_ID;
@ -596,28 +587,37 @@ for the JavaScript code in this tag.
<span style="color: #228b22;">hsize_t</span>* <span style="color: #a0522d;">ddims</span> = CALLOC( (<span style="color: #228b22;">int</span>) rank, hsize_t);
<span style="color: #a020f0;">if</span> (ddims == <span style="color: #008b8b;">NULL</span>) <span style="color: #a020f0;">return</span> TREXIO_FAILURE;
// <span style="color: #b22222;">read dimensions from the existing dataset</span>
status = H5LDget_dset_dims(dset_id, ddims);
// <span style="color: #b22222;">get the dataspace of the dataset</span>
<span style="color: #228b22;">hid_t</span> <span style="color: #a0522d;">dspace_id</span> = H5Dget_space(dset_id);
// <span style="color: #b22222;">get the rank and dimensions of the dataset</span>
<span style="color: #228b22;">int</span> <span style="color: #a0522d;">rrank</span> = H5Sget_simple_extent_dims(dspace_id, ddims, <span style="color: #008b8b;">NULL</span>);
H5Dclose(dset_id);
<span style="color: #a020f0;">if</span> (status &lt; 0) {
// <span style="color: #b22222;">check that dimensions are consistent</span>
<span style="color: #a020f0;">if</span> (rrank != (<span style="color: #228b22;">int</span>) rank) {
FREE(ddims);
<span style="color: #a020f0;">return</span> TREXIO_FAILURE;
H5Sclose(dspace_id);
H5Dclose(dset_id);
<span style="color: #a020f0;">return</span> TREXIO_INVALID_ARG_3;
}
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">uint32_t</span> <span style="color: #a0522d;">i</span>=0; i&lt;rank; ++i){
<span style="color: #a020f0;">if</span> (ddims[i] != dims[i]) {
FREE(ddims);
H5Sclose(dspace_id);
H5Dclose(dset_id);
<span style="color: #a020f0;">return</span> TREXIO_INVALID_ARG_4;
}
}
FREE(ddims);
H5Sclose(dspace_id);
H5Dclose(dset_id);
/* <span style="color: #b22222;">High-level H5LT API. No need to deal with dataspaces and datatypes </span>*/
status = H5LTread_dataset(f-&gt;$group$_group,
$GROUP_DSET$_NAME,
H5T_$GROUP_DSET_H5_DTYPE$,
$group_dset$);
<span style="color: #228b22;">herr_t</span> <span style="color: #a0522d;">status</span> = H5LTread_dataset(f-&gt;$group$_group,
$GROUP_DSET$_NAME,
H5T_$GROUP_DSET_H5_DTYPE$,
$group_dset$);
<span style="color: #a020f0;">if</span> (status &lt; 0) <span style="color: #a020f0;">return</span> TREXIO_FAILURE;
<span style="color: #a020f0;">return</span> TREXIO_SUCCESS;
@ -696,8 +696,8 @@ for the JavaScript code in this tag.
</div>
</div>
<div id="outline-container-org8833f7d" class="outline-3">
<h3 id="org8833f7d"><span class="section-number-3">1.6</span> Template for HDF5 has/read/write a dataset of strings</h3>
<div id="outline-container-org4197b20" class="outline-3">
<h3 id="org4197b20"><span class="section-number-3">1.6</span> Template for HDF5 has/read/write a 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>
@ -901,8 +901,8 @@ for the JavaScript code in this tag.
</div>
</div>
<div id="outline-container-org4b7d69a" class="outline-3">
<h3 id="org4b7d69a"><span class="section-number-3">1.7</span> Template for HDF5 has/read/write a single string attribute</h3>
<div id="outline-container-org2d1e0a9" class="outline-3">
<h3 id="org2d1e0a9"><span class="section-number-3">1.7</span> Template for HDF5 has/read/write a single 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>
@ -1029,7 +1029,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-06-22 Tue 09:38</p>
<p class="date">Created: 2021-06-22 Tue 10:22</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-06-22 Tue 09:38 -->
<!-- 2021-06-22 Tue 10:22 -->
<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="#org3fd98b9">1. TEXT back end</a>
<li><a href="#org6980a1d">1. TEXT back end</a>
<ul>
<li><a href="#org2b28751">1.1. Template for group-related structures in text back end</a></li>
<li><a href="#org0fa5d40">1.2. Template for general structure in text back end</a></li>
<li><a href="#orgd164eb2">1.3. Initialize function (constant part)</a></li>
<li><a href="#org8349fdb">1.4. Deinitialize function (templated part)</a></li>
<li><a href="#orga48b304">1.5. Template for text read struct</a></li>
<li><a href="#orgade1e1a">1.6. Template for text flush struct</a></li>
<li><a href="#orgba86f14">1.7. Template for text free memory</a></li>
<li><a href="#org293c636">1.8. Template for has/read/write the num attribute</a></li>
<li><a href="#orgf8456b5">1.9. Template for has/read/write the dataset of numerical data</a></li>
<li><a href="#org923274d">1.10. Template for has/read/write the dataset of strings</a></li>
<li><a href="#orgf8616d9">1.11. Template for has/read/write the string attribute</a></li>
<li><a href="#orga724830">1.12. RDM struct (hard-coded)</a>
<li><a href="#org4a956e8">1.1. Template for group-related structures in text back end</a></li>
<li><a href="#org1986736">1.2. Template for general structure in text back end</a></li>
<li><a href="#org94ad673">1.3. Initialize function (constant part)</a></li>
<li><a href="#orgf20c903">1.4. Deinitialize function (templated part)</a></li>
<li><a href="#org948bec8">1.5. Template for text read struct</a></li>
<li><a href="#orgfe865f3">1.6. Template for text flush struct</a></li>
<li><a href="#org0485fc6">1.7. Template for text free memory</a></li>
<li><a href="#org471f17d">1.8. Template for has/read/write the num attribute</a></li>
<li><a href="#orgd83b77c">1.9. Template for has/read/write the dataset of numerical data</a></li>
<li><a href="#orgbc536fa">1.10. Template for has/read/write the dataset of strings</a></li>
<li><a href="#orga7e1cd1">1.11. Template for has/read/write the string attribute</a></li>
<li><a href="#orgbe0f5b4">1.12. RDM struct (hard-coded)</a>
<ul>
<li><a href="#orga449ff7">1.12.1. Read the complete struct</a></li>
<li><a href="#org5b97036">1.12.2. Flush the complete struct</a></li>
<li><a href="#org6e145f7">1.12.3. Free memory</a></li>
<li><a href="#org6290709">1.12.4. Read/Write the one<sub>e</sub> attribute</a></li>
<li><a href="#org0c3ea24">1.12.5. Read/Write the two<sub>e</sub> attribute</a></li>
<li><a href="#org9ffc8b3">1.12.1. Read the complete struct</a></li>
<li><a href="#org0173c0a">1.12.2. Flush the complete struct</a></li>
<li><a href="#org3e69bab">1.12.3. Free memory</a></li>
<li><a href="#org3e05553">1.12.4. Read/Write the one<sub>e</sub> attribute</a></li>
<li><a href="#orgd901aa8">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-org3fd98b9" class="outline-2">
<h2 id="org3fd98b9"><span class="section-number-2">1</span> TEXT back end</h2>
<div id="outline-container-org6980a1d" class="outline-2">
<h2 id="org6980a1d"><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-org2b28751" class="outline-3">
<h3 id="org2b28751"><span class="section-number-3">1.1</span> Template for group-related structures in text back end</h3>
<div id="outline-container-org4a956e8" class="outline-3">
<h3 id="org4a956e8"><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 {
@ -380,8 +380,8 @@ The file is written when closed, or when the flush function is called.
</div>
</div>
<div id="outline-container-org0fa5d40" class="outline-3">
<h3 id="org0fa5d40"><span class="section-number-3">1.2</span> Template for general structure in text back end</h3>
<div id="outline-container-org1986736" class="outline-3">
<h3 id="org1986736"><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> {
@ -407,8 +407,8 @@ The file is written when closed, or when the flush function is called.
</div>
</div>
<div id="outline-container-orgd164eb2" class="outline-3">
<h3 id="orgd164eb2"><span class="section-number-3">1.3</span> Initialize function (constant part)</h3>
<div id="outline-container-org94ad673" class="outline-3">
<h3 id="org94ad673"><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>
@ -509,8 +509,8 @@ The file is written when closed, or when the flush function is called.
</div>
</div>
<div id="outline-container-org8349fdb" class="outline-3">
<h3 id="org8349fdb"><span class="section-number-3">1.4</span> Deinitialize function (templated part)</h3>
<div id="outline-container-orgf20c903" class="outline-3">
<h3 id="orgf20c903"><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>
@ -535,8 +535,8 @@ The file is written when closed, or when the flush function is called.
</div>
</div>
<div id="outline-container-orga48b304" class="outline-3">
<h3 id="orga48b304"><span class="section-number-3">1.5</span> Template for text read struct</h3>
<div id="outline-container-org948bec8" class="outline-3">
<h3 id="org948bec8"><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*
@ -807,8 +807,8 @@ trexio_text_read_$group$ (<span style="color: #228b22;">trexio_text_t</span>* <s
</div>
</div>
<div id="outline-container-orgade1e1a" class="outline-3">
<h3 id="orgade1e1a"><span class="section-number-3">1.6</span> Template for text flush struct</h3>
<div id="outline-container-orgfe865f3" class="outline-3">
<h3 id="orgfe865f3"><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>
@ -872,8 +872,8 @@ trexio_text_read_$group$ (<span style="color: #228b22;">trexio_text_t</span>* <s
</div>
</div>
<div id="outline-container-orgba86f14" class="outline-3">
<h3 id="orgba86f14"><span class="section-number-3">1.7</span> Template for text free memory</h3>
<div id="outline-container-org0485fc6" class="outline-3">
<h3 id="org0485fc6"><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.
@ -918,8 +918,8 @@ Memory is allocated when reading. The following function frees memory.
</div>
</div>
<div id="outline-container-org293c636" class="outline-3">
<h3 id="org293c636"><span class="section-number-3">1.8</span> Template for has/read/write the num attribute</h3>
<div id="outline-container-org471f17d" class="outline-3">
<h3 id="org471f17d"><span class="section-number-3">1.8</span> Template for has/read/write the num 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>
@ -981,8 +981,8 @@ Memory is allocated when reading. The following function frees memory.
</div>
</div>
<div id="outline-container-orgf8456b5" class="outline-3">
<h3 id="orgf8456b5"><span class="section-number-3">1.9</span> Template for has/read/write the dataset of numerical data</h3>
<div id="outline-container-orgd83b77c" class="outline-3">
<h3 id="orgd83b77c"><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.
@ -1078,8 +1078,8 @@ The <code>group_dset</code> array is assumed allocated with the appropriate size
</div>
</div>
</div>
<div id="outline-container-org923274d" class="outline-3">
<h3 id="org923274d"><span class="section-number-3">1.10</span> Template for has/read/write the dataset of strings</h3>
<div id="outline-container-orgbc536fa" class="outline-3">
<h3 id="orgbc536fa"><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.
@ -1181,8 +1181,8 @@ The <code>group_dset</code> array is assumed allocated with the appropriate size
</div>
</div>
</div>
<div id="outline-container-orgf8616d9" class="outline-3">
<h3 id="orgf8616d9"><span class="section-number-3">1.11</span> Template for has/read/write the string attribute</h3>
<div id="outline-container-orga7e1cd1" class="outline-3">
<h3 id="orga7e1cd1"><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>
@ -1256,12 +1256,12 @@ The <code>group_dset</code> array is assumed allocated with the appropriate size
</div>
</div>
</div>
<div id="outline-container-orga724830" class="outline-3">
<h3 id="orga724830"><span class="section-number-3">1.12</span> RDM struct (hard-coded)</h3>
<div id="outline-container-orgbe0f5b4" class="outline-3">
<h3 id="orgbe0f5b4"><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-orga449ff7" class="outline-4">
<h4 id="orga449ff7"><span class="section-number-4">1.12.1</span> Read the complete struct</h4>
<div id="outline-container-org9ffc8b3" class="outline-4">
<h4 id="org9ffc8b3"><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>);
@ -1356,8 +1356,8 @@ The <code>group_dset</code> array is assumed allocated with the appropriate size
</div>
</div>
<div id="outline-container-org5b97036" class="outline-4">
<h4 id="org5b97036"><span class="section-number-4">1.12.2</span> Flush the complete struct</h4>
<div id="outline-container-org0173c0a" class="outline-4">
<h4 id="org0173c0a"><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>);
@ -1399,8 +1399,8 @@ The <code>group_dset</code> array is assumed allocated with the appropriate size
</div>
</div>
<div id="outline-container-org6e145f7" class="outline-4">
<h4 id="org6e145f7"><span class="section-number-4">1.12.3</span> Free memory</h4>
<div id="outline-container-org3e69bab" class="outline-4">
<h4 id="org3e69bab"><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.
@ -1436,8 +1436,8 @@ Memory is allocated when reading. The followig function frees memory.
</div>
</div>
<div id="outline-container-org6290709" class="outline-4">
<h4 id="org6290709"><span class="section-number-4">1.12.4</span> Read/Write the one<sub>e</sub> attribute</h4>
<div id="outline-container-org3e05553" class="outline-4">
<h4 id="org3e05553"><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.
@ -1503,8 +1503,8 @@ The <code>one_e</code> array is assumed allocated with the appropriate size.
</div>
</div>
<div id="outline-container-org0c3ea24" class="outline-4">
<h4 id="org0c3ea24"><span class="section-number-4">1.12.5</span> Read/Write the two<sub>e</sub> attribute</h4>
<div id="outline-container-orgd901aa8" class="outline-4">
<h4 id="orgd901aa8"><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
@ -1612,7 +1612,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-06-22 Tue 09:38</p>
<p class="date">Created: 2021-06-22 Tue 10:22</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>

118
trex.html
View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2021-06-22 Tue 09:38 -->
<!-- 2021-06-22 Tue 10:22 -->
<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,28 +333,28 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#orgb368b60">1. Metadata</a></li>
<li><a href="#org60acf64">2. Electron</a></li>
<li><a href="#org29e5d50">3. Nucleus</a></li>
<li><a href="#org8807ecf">4. <span class="todo TODO">TODO</span> Effective core potentials</a></li>
<li><a href="#org4068d17">5. Basis set</a></li>
<li><a href="#org68edbeb">6. Atomic orbitals</a>
<li><a href="#org5279cdc">1. Metadata</a></li>
<li><a href="#org0982faa">2. Electron</a></li>
<li><a href="#org06148c9">3. Nucleus</a></li>
<li><a href="#org1091334">4. <span class="todo TODO">TODO</span> Effective core potentials</a></li>
<li><a href="#orgd468ddf">5. Basis set</a></li>
<li><a href="#orgbd99e35">6. Atomic orbitals</a>
<ul>
<li><a href="#ao_one_e">6.1. One-electron integrals</a></li>
<li><a href="#ao_two_e">6.2. Two-electron integrals</a></li>
</ul>
</li>
<li><a href="#orgbd8f27f">7. Molecular orbitals</a>
<li><a href="#org80705e6">7. Molecular orbitals</a>
<ul>
<li><a href="#org0993734">7.1. One-electron integrals</a></li>
<li><a href="#org5995ec2">7.2. Two-electron integrals</a></li>
<li><a href="#org887cd83">7.1. One-electron integrals</a></li>
<li><a href="#orgf9a83b3">7.2. Two-electron integrals</a></li>
</ul>
</li>
<li><a href="#orgf22ed86">8. <span class="todo TODO">TODO</span> Slater determinants</a></li>
<li><a href="#org70342c9">9. <span class="todo TODO">TODO</span> Reduced density matrices</a></li>
<li><a href="#org73f11b4">10. Appendix</a>
<li><a href="#org7ec2323">8. <span class="todo TODO">TODO</span> Slater determinants</a></li>
<li><a href="#org067a381">9. <span class="todo TODO">TODO</span> Reduced density matrices</a></li>
<li><a href="#orgba9a827">10. Appendix</a>
<ul>
<li><a href="#org4361076">10.1. Python script from table to json</a></li>
<li><a href="#org7facd3c">10.1. Python script from table to json</a></li>
</ul>
</li>
</ul>
@ -379,8 +379,8 @@ arrays are 0-base. Hence, we introduce the <code>index</code> type which is an
</pre>
</div>
<div id="outline-container-orgb368b60" class="outline-2">
<h2 id="orgb368b60"><span class="section-number-2">1</span> Metadata</h2>
<div id="outline-container-org5279cdc" class="outline-2">
<h2 id="org5279cdc"><span class="section-number-2">1</span> Metadata</h2>
<div class="outline-text-2" id="text-1">
<p>
As we expect our files to be archived in open-data repositories, we
@ -390,7 +390,7 @@ which have participated to the creation of the file, a list of
authors of the file, and a textual description.
</p>
<table id="orgdfb49e5" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgdd683e1" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -442,15 +442,15 @@ authors of the file, and a textual description.
</div>
</div>
<div id="outline-container-org60acf64" class="outline-2">
<h2 id="org60acf64"><span class="section-number-2">2</span> Electron</h2>
<div id="outline-container-org0982faa" class="outline-2">
<h2 id="org0982faa"><span class="section-number-2">2</span> Electron</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="org7d59a0f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org55d80d1" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -481,15 +481,15 @@ the number of &uarr; and &darr; electrons is fixed.
</div>
</div>
<div id="outline-container-org29e5d50" class="outline-2">
<h2 id="org29e5d50"><span class="section-number-2">3</span> Nucleus</h2>
<div id="outline-container-org06148c9" class="outline-2">
<h2 id="org06148c9"><span class="section-number-2">3</span> Nucleus</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="org2b93ada" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org88f35a6" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -541,8 +541,8 @@ given in Cartesian \((x,y,z)\) format.
</div>
</div>
<div id="outline-container-org8807ecf" class="outline-2">
<h2 id="org8807ecf"><span class="section-number-2">4</span> <span class="todo TODO">TODO</span> Effective core potentials</h2>
<div id="outline-container-org1091334" class="outline-2">
<h2 id="org1091334"><span class="section-number-2">4</span> <span class="todo TODO">TODO</span> Effective core potentials</h2>
<div class="outline-text-2" id="text-4">
<p>
An effective core potential (ECP) \(V_A^{\text{pp}}\) replacing the
@ -587,7 +587,7 @@ letters are parameters.
<li>\(\hat{V}_\text{ecp,nl} = \sum_A \hat{V}_A^{\text{nl}}\) : non-local component</li>
</ul>
<table id="org8c66a86" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org2b19107" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -688,8 +688,8 @@ letters are parameters.
</div>
</div>
<div id="outline-container-org4068d17" class="outline-2">
<h2 id="org4068d17"><span class="section-number-2">5</span> Basis set</h2>
<div id="outline-container-orgd468ddf" class="outline-2">
<h2 id="orgd468ddf"><span class="section-number-2">5</span> Basis set</h2>
<div class="outline-text-2" id="text-5">
<p>
We consider here basis functions centered on nuclei. Hence, we enable
@ -742,7 +742,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="org5f224fc" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orge01baf1" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -903,8 +903,8 @@ prim_factor =
</div>
</div>
<div id="outline-container-org68edbeb" class="outline-2">
<h2 id="org68edbeb"><span class="section-number-2">6</span> Atomic orbitals</h2>
<div id="outline-container-orgbd99e35" class="outline-2">
<h2 id="orgbd99e35"><span class="section-number-2">6</span> Atomic orbitals</h2>
<div class="outline-text-2" id="text-6">
<p>
Going from the atomic basis set to AOs implies a systematic
@ -952,13 +952,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="#org4068d17">Basis set</a> section) to \(\mathcal{N}_{z^2}\), which is the
the <a href="#orgd468ddf">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="org1281a3a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org339cf8f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1002,8 +1002,8 @@ introduced here should be \(\frac{\mathcal{N}_{xy}}{\mathcal{N}_{z^2}}\).
</table>
</div>
<div id="outline-container-org4860eeb" class="outline-3">
<h3 id="ao_one_e"><a id="org4860eeb"></a><span class="section-number-3">6.1</span> One-electron integrals</h3>
<div id="outline-container-orgee50798" class="outline-3">
<h3 id="ao_one_e"><a id="orgee50798"></a><span class="section-number-3">6.1</span> One-electron integrals</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}}
@ -1021,7 +1021,7 @@ The one-electron integrals for a one-electron operator \(\hat{O}\) are
over atomic orbitals.
</p>
<table id="orgebd22a1" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgdfd2e58" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1080,8 +1080,8 @@ over atomic orbitals.
</div>
</div>
<div id="outline-container-org0c4183e" class="outline-3">
<h3 id="ao_two_e"><a id="org0c4183e"></a><span class="section-number-3">6.2</span> Two-electron integrals</h3>
<div id="outline-container-orgf29d729" class="outline-3">
<h3 id="ao_two_e"><a id="orgf29d729"></a><span class="section-number-3">6.2</span> Two-electron integrals</h3>
<div class="outline-text-3" id="text-ao_two_e">
<p>
The two-electron integrals for a two-electron operator \(\hat{O}\) are
@ -1102,7 +1102,7 @@ notation.
\mathbf{r}_j \vert)}{\vert \mathbf{r}_i - \mathbf{r}_j \vert} \] : electron-electron long range potential</li>
</ul>
<table id="org3ee726a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org0b07b1e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1134,10 +1134,10 @@ notation.
</div>
</div>
<div id="outline-container-orgbd8f27f" class="outline-2">
<h2 id="orgbd8f27f"><span class="section-number-2">7</span> Molecular orbitals</h2>
<div id="outline-container-org80705e6" class="outline-2">
<h2 id="org80705e6"><span class="section-number-2">7</span> Molecular orbitals</h2>
<div class="outline-text-2" id="text-7">
<table id="orgf678ad2" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org0334a09" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1195,8 +1195,8 @@ notation.
</table>
</div>
<div id="outline-container-org0993734" class="outline-3">
<h3 id="org0993734"><span class="section-number-3">7.1</span> One-electron integrals</h3>
<div id="outline-container-org887cd83" class="outline-3">
<h3 id="org887cd83"><span class="section-number-3">7.1</span> One-electron integrals</h3>
<div class="outline-text-3" id="text-7-1">
<p>
The operators as the same as those defined in the
@ -1204,7 +1204,7 @@ The operators as the same as those defined in the
the basis of molecular orbitals.
</p>
<table id="org9894a94" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org5a122f1" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1263,8 +1263,8 @@ the basis of molecular orbitals.
</div>
</div>
<div id="outline-container-org5995ec2" class="outline-3">
<h3 id="org5995ec2"><span class="section-number-3">7.2</span> Two-electron integrals</h3>
<div id="outline-container-orgf9a83b3" class="outline-3">
<h3 id="orgf9a83b3"><span class="section-number-3">7.2</span> Two-electron integrals</h3>
<div class="outline-text-3" id="text-7-2">
<p>
The operators as the same as those defined in the
@ -1272,7 +1272,7 @@ The operators as the same as those defined in the
the basis of molecular orbitals.
</p>
<table id="org86973d3" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org6886615" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1304,13 +1304,13 @@ the basis of molecular orbitals.
</div>
</div>
<div id="outline-container-orgf22ed86" class="outline-2">
<h2 id="orgf22ed86"><span class="section-number-2">8</span> <span class="todo TODO">TODO</span> Slater determinants</h2>
<div id="outline-container-org7ec2323" class="outline-2">
<h2 id="org7ec2323"><span class="section-number-2">8</span> <span class="todo TODO">TODO</span> Slater determinants</h2>
</div>
<div id="outline-container-org70342c9" class="outline-2">
<h2 id="org70342c9"><span class="section-number-2">9</span> <span class="todo TODO">TODO</span> Reduced density matrices</h2>
<div id="outline-container-org067a381" class="outline-2">
<h2 id="org067a381"><span class="section-number-2">9</span> <span class="todo TODO">TODO</span> Reduced density matrices</h2>
<div class="outline-text-2" id="text-9">
<table id="org115672d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org8158e45" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1349,15 +1349,15 @@ the basis of molecular orbitals.
</div>
</div>
<div id="outline-container-org73f11b4" class="outline-2">
<h2 id="org73f11b4"><span class="section-number-2">10</span> Appendix</h2>
<div id="outline-container-orgba9a827" class="outline-2">
<h2 id="orgba9a827"><span class="section-number-2">10</span> Appendix</h2>
<div class="outline-text-2" id="text-10">
</div>
<div id="outline-container-org4361076" class="outline-3">
<h3 id="org4361076"><span class="section-number-3">10.1</span> Python script from table to json</h3>
<div id="outline-container-org7facd3c" class="outline-3">
<h3 id="org7facd3c"><span class="section-number-3">10.1</span> Python script from table to json</h3>
<div class="outline-text-3" id="text-10-1">
<div class="org-src-container">
<pre class="src src-python" id="orgc173253"><span style="color: #a020f0;">print</span>(<span style="color: #8b2252;">"""#+begin_src python :tangle trex.json"""</span>)
<pre class="src src-python" id="orgd0f52f2"><span style="color: #a020f0;">print</span>(<span style="color: #8b2252;">"""#+begin_src python :tangle trex.json"""</span>)
<span style="color: #a020f0;">print</span>(<span style="color: #8b2252;">""" "%s": {"""</span>%(title))
<span style="color: #a0522d;">indent</span> = <span style="color: #8b2252;">" "</span>
<span style="color: #a0522d;">f1</span> = 0 ; <span style="color: #a0522d;">f2</span> = 0 ; <span style="color: #a0522d;">f3</span> = 0
@ -1416,7 +1416,7 @@ the basis of molecular orbitals.
</div>
<div id="postamble" class="status">
<p class="author">Author: TREX-CoE</p>
<p class="date">Created: 2021-06-22 Tue 09:38</p>
<p class="date">Created: 2021-06-22 Tue 10:22</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>