1
0
mirror of https://github.com/TREX-CoE/trexio.git synced 2024-11-03 20:54:07 +01:00

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

This commit is contained in:
scemama 2021-07-23 14:28:04 +00:00
parent e6d825e1fd
commit bb4954de5f
7 changed files with 284 additions and 240 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-07-15 Thu 12:45 -->
<!-- 2021-07-23 Fri 14:28 -->
<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-07-15 Thu 12:45</p>
<p class="date">Created: 2021-07-23 Fri 14:28</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-07-15 Thu 12:45 -->
<!-- 2021-07-23 Fri 14:27 -->
<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="#orgee8018d">1. Text back end</a></li>
<li><a href="#org7d096ca">2. HDF5 Back end</a></li>
<li><a href="#orgbedf2bf">1. Text back end</a></li>
<li><a href="#org870c236">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-orgee8018d" class="outline-2">
<h2 id="orgee8018d"><span class="section-number-2">1</span> Text back end</h2>
<div id="outline-container-orgbedf2bf" class="outline-2">
<h2 id="orgbedf2bf"><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-org7d096ca" class="outline-2">
<h2 id="org7d096ca"><span class="section-number-2">2</span> HDF5 Back end</h2>
<div id="outline-container-org870c236" class="outline-2">
<h2 id="org870c236"><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-07-15 Thu 12:45</p>
<p class="date">Created: 2021-07-23 Fri 14:27</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-07-15 Thu 12:45 -->
<!-- 2021-07-23 Fri 14:28 -->
<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-07-15 Thu 12:45</p>
<p class="date">Created: 2021-07-23 Fri 14:28</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-07-15 Thu 12:45 -->
<!-- 2021-07-23 Fri 14:27 -->
<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="#orga0d6947">1. Coding conventions</a>
<li><a href="#orgdca5df0">1. Coding conventions</a>
<ul>
<li><a href="#org762f6c5">1.1. Memory allocation</a></li>
<li><a href="#orgcc103de">1.1. Memory allocation</a></li>
</ul>
</li>
<li><a href="#orgc9bcca5">2. Front end</a>
<li><a href="#org40d2b7e">2. Front end</a>
<ul>
<li><a href="#orgfbff9df">2.1. Error handling</a></li>
<li><a href="#orgb7f398f">2.2. Back ends</a></li>
<li><a href="#org72fdab1">2.3. Read/write behavior</a></li>
<li><a href="#orgb73c7e5">2.4. TREXIO file type</a></li>
<li><a href="#org5d2a95f">2.5. Polymorphism of the file handle</a></li>
<li><a href="#org60afaa2">2.6. File opening</a></li>
<li><a href="#org1ae89f6">2.7. File closing</a></li>
<li><a href="#org82ee6f4">2.1. Error handling</a></li>
<li><a href="#orgbb1487a">2.2. Back ends</a></li>
<li><a href="#org14d1e17">2.3. Read/write behavior</a></li>
<li><a href="#org292f605">2.4. TREXIO file type</a></li>
<li><a href="#orge8de245">2.5. Polymorphism of the file handle</a></li>
<li><a href="#org6e31fd2">2.6. File opening</a></li>
<li><a href="#org5a8dc50">2.7. File closing</a></li>
</ul>
</li>
<li><a href="#org999a74f">3. Templates for front end</a>
<li><a href="#orgab61927">3. Templates for front end</a>
<ul>
<li><a href="#org41614c2">3.1. Description</a></li>
<li><a href="#orgd5799c7">3.2. Templates for front end has/read/write a single dimensioning variable</a>
<li><a href="#org80f4515">3.1. Description</a></li>
<li><a href="#orgd1b06aa">3.2. Templates for front end has/read/write a single dimensioning variable</a>
<ul>
<li><a href="#org2cb8a6c">3.2.1. C templates for front end</a></li>
<li><a href="#org7359c38">3.2.2. Fortran templates for front end</a></li>
<li><a href="#orgf475017">3.2.1. C templates for front end</a></li>
<li><a href="#org4e4dd5f">3.2.2. Fortran templates for front end</a></li>
</ul>
</li>
<li><a href="#org7d9e700">3.3. Templates for front end has/read/write a dataset of numerical data</a>
<li><a href="#org701f360">3.3. Templates for front end has/read/write a dataset of numerical data</a>
<ul>
<li><a href="#org087088c">3.3.1. C templates for front end</a></li>
<li><a href="#orgcd51bf4">3.3.2. Fortran templates for front end</a></li>
<li><a href="#org649a7d7">3.3.1. C templates for front end</a></li>
<li><a href="#org3f19e3d">3.3.2. Fortran templates for front end</a></li>
</ul>
</li>
<li><a href="#org239af61">3.4. Sparse data structures</a></li>
<li><a href="#org57dc894">3.5. Templates for front end has/read/write a dataset of strings</a>
<li><a href="#org183ea75">3.4. Sparse data structures</a></li>
<li><a href="#orgbffa5ba">3.5. Templates for front end has/read/write a dataset of strings</a>
<ul>
<li><a href="#org3f66829">3.5.1. Introduction</a></li>
<li><a href="#orgc4eae2c">3.5.2. C templates for front end</a></li>
<li><a href="#orgef65270">3.5.3. Fortran templates for front end</a></li>
<li><a href="#orga694abe">3.5.1. Introduction</a></li>
<li><a href="#org87d892e">3.5.2. C templates for front end</a></li>
<li><a href="#org7d5861e">3.5.3. Fortran templates for front end</a></li>
</ul>
</li>
<li><a href="#org213649b">3.6. Templates for front end has/read/write a single string attribute</a>
<li><a href="#orgacaf096">3.6. Templates for front end has/read/write a single string attribute</a>
<ul>
<li><a href="#orga5c6bf9">3.6.1. Introduction</a></li>
<li><a href="#orgf0c9b05">3.6.2. C templates for front end</a></li>
<li><a href="#org0e8c9c8">3.6.3. Fortran templates for front end</a></li>
<li><a href="#org37c3977">3.6.1. Introduction</a></li>
<li><a href="#org58798a0">3.6.2. C templates for front end</a></li>
<li><a href="#org7412677">3.6.3. Fortran templates for front end</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#org104b43a">4. Fortran helper/wrapper functions</a></li>
<li><a href="#org3e239f8">4. Fortran helper/wrapper functions</a></li>
</ul>
</div>
</div>
<div id="outline-container-orga0d6947" class="outline-2">
<h2 id="orga0d6947"><span class="section-number-2">1</span> Coding conventions</h2>
<div id="outline-container-orgdca5df0" class="outline-2">
<h2 id="orgdca5df0"><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-org762f6c5" class="outline-3">
<h3 id="org762f6c5"><span class="section-number-3">1.1</span> Memory allocation</h3>
<div id="outline-container-orgcc103de" class="outline-3">
<h3 id="orgcc103de"><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-orgc9bcca5" class="outline-2">
<h2 id="orgc9bcca5"><span class="section-number-2">2</span> Front end</h2>
<div id="outline-container-org40d2b7e" class="outline-2">
<h2 id="org40d2b7e"><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-orgfbff9df" class="outline-3">
<h3 id="orgfbff9df"><span class="section-number-3">2.1</span> Error handling</h3>
<div id="outline-container-org82ee6f4" class="outline-3">
<h3 id="org82ee6f4"><span class="section-number-3">2.1</span> Error handling</h3>
<div class="outline-text-3" id="text-2-1">
<table id="org9ab28e1" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orga34446d" 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-orgb7f398f" class="outline-3">
<h3 id="orgb7f398f"><span class="section-number-3">2.2</span> Back ends</h3>
<div id="outline-container-orgbb1487a" class="outline-3">
<h3 id="orgbb1487a"><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-org72fdab1" class="outline-3">
<h3 id="org72fdab1"><span class="section-number-3">2.3</span> Read/write behavior</h3>
<div id="outline-container-org14d1e17" class="outline-3">
<h3 id="org14d1e17"><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-orgb73c7e5" class="outline-3">
<h3 id="orgb73c7e5"><span class="section-number-3">2.4</span> TREXIO file type</h3>
<div id="outline-container-org292f605" class="outline-3">
<h3 id="org292f605"><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
@ -836,6 +836,7 @@ TREXIO files will have as a first argument the TREXIO file handle.
<div class="org-src-container">
<pre class="src src-c"><span style="color: #a020f0;">struct</span> <span style="color: #228b22;">trexio_s</span> {
<span style="color: #228b22;">char</span> <span style="color: #a0522d;">file_name</span>[TREXIO_MAX_FILENAME_LENGTH];
<span style="color: #228b22;">char</span> <span style="color: #a0522d;">version</span>[16];
<span style="color: #228b22;">pthread_mutex_t</span> <span style="color: #a0522d;">thread_lock</span>;
<span style="color: #228b22;">back_end_t</span> <span style="color: #a0522d;">back_end</span>;
<span style="color: #228b22;">char</span> <span style="color: #a0522d;">mode</span>;
@ -846,8 +847,8 @@ TREXIO files will have as a first argument the TREXIO file handle.
</div>
</div>
</div>
<div id="outline-container-org5d2a95f" class="outline-3">
<h3 id="org5d2a95f"><span class="section-number-3">2.5</span> Polymorphism of the file handle</h3>
<div id="outline-container-orge8de245" class="outline-3">
<h3 id="orge8de245"><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 +867,8 @@ corresponding types for all back ends can be safely casted to
</div>
</div>
<div id="outline-container-org60afaa2" class="outline-3">
<h3 id="org60afaa2"><span class="section-number-3">2.6</span> File opening</h3>
<div id="outline-container-org6e31fd2" class="outline-3">
<h3 id="org6e31fd2"><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.
@ -952,6 +953,12 @@ renaming the <code>.txt</code> data files.
<span style="color: #a020f0;">return</span> <span style="color: #008b8b;">NULL</span>;
}
strncpy(result-&gt;version, PACKAGE_VERSION, 16);
<span style="color: #a020f0;">if</span> (result-&gt;version[15] != <span style="color: #8b2252;">'\0'</span>) {
free(result);
<span style="color: #a020f0;">return</span> <span style="color: #008b8b;">NULL</span>;
}
result-&gt;back_end = back_end;
result-&gt;mode = mode;
result-&gt;one_based = <span style="color: #008b8b;">false</span>; // <span style="color: #b22222;">Need to be flipped in Fortran interface</span>
@ -985,6 +992,36 @@ renaming the <code>.txt</code> data files.
<span style="color: #a020f0;">return</span> <span style="color: #008b8b;">NULL</span>;
}
rc = trexio_has_metadata_package_version(result);
<span style="color: #a020f0;">if</span> (rc == TREXIO_FAILURE) {
free(result);
<span style="color: #a020f0;">return</span> <span style="color: #008b8b;">NULL</span>;
}
<span style="color: #a020f0;">if</span> (rc == TREXIO_HAS_NOT) {
<span style="color: #a020f0;">switch</span> (back_end) {
<span style="color: #a020f0;">case</span> TREXIO_TEXT:
rc = trexio_text_write_metadata_package_version(result, PACKAGE_VERSION);
<span style="color: #a020f0;">break</span>;
<span style="color: #a020f0;">case</span> TREXIO_HDF5:
rc = trexio_hdf5_write_metadata_package_version(result, PACKAGE_VERSION);
<span style="color: #a020f0;">break</span>;
/*
<span style="color: #b22222;"> case TREXIO_JSON:</span>
<span style="color: #b22222;"> rc = trexio_json_write_metadata_package_version(result, PACKAGE_VERSION);</span>
<span style="color: #b22222;"> break;</span>
*/
}
}
<span style="color: #a020f0;">if</span> (rc != TREXIO_SUCCESS) {
free(result);
<span style="color: #a020f0;">return</span> <span style="color: #008b8b;">NULL</span>;
}
/* <span style="color: #b22222;">File locking </span>*/
rc = TREXIO_LOCK_ERROR;
@ -1058,8 +1095,8 @@ know if we need to shift by 1 arrays of indices.
</div>
</div>
<div id="outline-container-org1ae89f6" class="outline-3">
<h3 id="org1ae89f6"><span class="section-number-3">2.7</span> File closing</h3>
<div id="outline-container-org5a8dc50" class="outline-3">
<h3 id="org5a8dc50"><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 +1192,12 @@ output:
</div>
</div>
<div id="outline-container-org999a74f" class="outline-2">
<h2 id="org999a74f"><span class="section-number-2">3</span> Templates for front end</h2>
<div id="outline-container-orgab61927" class="outline-2">
<h2 id="orgab61927"><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-org41614c2" class="outline-3">
<h3 id="org41614c2"><span class="section-number-3">3.1</span> Description</h3>
<div id="outline-container-org80f4515" class="outline-3">
<h3 id="org80f4515"><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 +1387,8 @@ or double precision for integer and floating point numbers.
</div>
</div>
<div id="outline-container-orgd5799c7" class="outline-3">
<h3 id="orgd5799c7"><span class="section-number-3">3.2</span> Templates for front end has/read/write a single dimensioning variable</h3>
<div id="outline-container-orgd1b06aa" class="outline-3">
<h3 id="orgd1b06aa"><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 +1457,8 @@ This section concerns API calls related to dimensioning variables.
</table>
</div>
<div id="outline-container-org2cb8a6c" class="outline-4">
<h4 id="org2cb8a6c"><span class="section-number-4">3.2.1</span> C templates for front end</h4>
<div id="outline-container-orgf475017" class="outline-4">
<h4 id="orgf475017"><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 +1647,8 @@ precision (see Table above).
</div>
</div>
<div id="outline-container-org7359c38" class="outline-4">
<h4 id="org7359c38"><span class="section-number-4">3.2.2</span> Fortran templates for front end</h4>
<div id="outline-container-org4e4dd5f" class="outline-4">
<h4 id="org4e4dd5f"><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 +1734,8 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
</div>
</div>
<div id="outline-container-org7d9e700" class="outline-3">
<h3 id="org7d9e700"><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-org701f360" class="outline-3">
<h3 id="org701f360"><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 +1804,8 @@ This section concerns API calls related to datasets.
</table>
</div>
<div id="outline-container-org087088c" class="outline-4">
<h4 id="org087088c"><span class="section-number-4">3.3.1</span> C templates for front end</h4>
<div id="outline-container-org649a7d7" class="outline-4">
<h4 id="org649a7d7"><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 +2124,8 @@ The basic (non-suffixed) API call on datasets deals with double precision (see T
</div>
</div>
<div id="outline-container-orgcd51bf4" class="outline-4">
<h4 id="orgcd51bf4"><span class="section-number-4">3.3.2</span> Fortran templates for front end</h4>
<div id="outline-container-org3f19e3d" class="outline-4">
<h4 id="org3f19e3d"><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 +2211,8 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
</div>
</div>
<div id="outline-container-org239af61" class="outline-3">
<h3 id="org239af61"><span class="section-number-3">3.4</span> Sparse data structures</h3>
<div id="outline-container-org183ea75" class="outline-3">
<h3 id="org183ea75"><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 +2353,12 @@ For the values,
</div>
</div>
<div id="outline-container-org57dc894" class="outline-3">
<h3 id="org57dc894"><span class="section-number-3">3.5</span> Templates for front end has/read/write a dataset of strings</h3>
<div id="outline-container-orgbffa5ba" class="outline-3">
<h3 id="orgbffa5ba"><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-org3f66829" class="outline-4">
<h4 id="org3f66829"><span class="section-number-4">3.5.1</span> Introduction</h4>
<div id="outline-container-orga694abe" class="outline-4">
<h4 id="orga694abe"><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 +2398,8 @@ This section concerns API calls related to datasets of strings.
</div>
</div>
<div id="outline-container-orgc4eae2c" class="outline-4">
<h4 id="orgc4eae2c"><span class="section-number-4">3.5.2</span> C templates for front end</h4>
<div id="outline-container-org87d892e" class="outline-4">
<h4 id="org87d892e"><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 +2642,8 @@ to/from the <code>TREXIO</code> file (except for <code>trexio_has_</code> functi
</div>
</div>
<div id="outline-container-orgef65270" class="outline-4">
<h4 id="orgef65270"><span class="section-number-4">3.5.3</span> Fortran templates for front end</h4>
<div id="outline-container-org7d5861e" class="outline-4">
<h4 id="org7d5861e"><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 +2740,12 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
</div>
</div>
<div id="outline-container-org213649b" class="outline-3">
<h3 id="org213649b"><span class="section-number-3">3.6</span> Templates for front end has/read/write a single string attribute</h3>
<div id="outline-container-orgacaf096" class="outline-3">
<h3 id="orgacaf096"><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-orga5c6bf9" class="outline-4">
<h4 id="orga5c6bf9"><span class="section-number-4">3.6.1</span> Introduction</h4>
<div id="outline-container-org37c3977" class="outline-4">
<h4 id="org37c3977"><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 +2785,8 @@ This section concerns API calls related to string attributes.
</div>
</div>
<div id="outline-container-orgf0c9b05" class="outline-4">
<h4 id="orgf0c9b05"><span class="section-number-4">3.6.2</span> C templates for front end</h4>
<div id="outline-container-org58798a0" class="outline-4">
<h4 id="org58798a0"><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 +2886,8 @@ This section concerns API calls related to string attributes.
</div>
</div>
<div id="outline-container-org0e8c9c8" class="outline-4">
<h4 id="org0e8c9c8"><span class="section-number-4">3.6.3</span> Fortran templates for front end</h4>
<div id="outline-container-org7412677" class="outline-4">
<h4 id="org7412677"><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 +2966,8 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
</div>
</div>
<div id="outline-container-org104b43a" class="outline-2">
<h2 id="org104b43a"><span class="section-number-2">4</span> Fortran helper/wrapper functions</h2>
<div id="outline-container-org3e239f8" class="outline-2">
<h2 id="org3e239f8"><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 +3101,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-07-15 Thu 12:45</p>
<p class="date">Created: 2021-07-23 Fri 14:27</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-07-15 Thu 12:45 -->
<!-- 2021-07-23 Fri 14:27 -->
<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="#org5d1ab47">1. HDF5 back end</a>
<li><a href="#orgdf74e93">1. HDF5 back end</a>
<ul>
<li><a href="#org2ff3644">1.1. Template for HDF5 definitions</a></li>
<li><a href="#org79250e2">1.2. Template for HDF5 structures</a></li>
<li><a href="#org1a686a8">1.3. Template for HDF5 init/deinit</a></li>
<li><a href="#orgfab446a">1.4. Template for HDF5 has/read/write a single dimensioning variable</a></li>
<li><a href="#orgc64942b">1.5. Template for HDF5 has/read/write a dataset of numerical data</a></li>
<li><a href="#org9bf5064">1.6. Template for HDF5 has/read/write a dataset of strings</a></li>
<li><a href="#org2ecc23a">1.7. Template for HDF5 has/read/write a single string attribute</a></li>
<li><a href="#org9161313">1.1. Template for HDF5 definitions</a></li>
<li><a href="#orgae30956">1.2. Template for HDF5 structures</a></li>
<li><a href="#org93a9b72">1.3. Template for HDF5 init/deinit</a></li>
<li><a href="#org92027d5">1.4. Template for HDF5 has/read/write a single dimensioning variable</a></li>
<li><a href="#org44832ef">1.5. Template for HDF5 has/read/write a dataset of numerical data</a></li>
<li><a href="#org7d2e0c3">1.6. Template for HDF5 has/read/write a dataset of strings</a></li>
<li><a href="#orgf66ac5d">1.7. Template for HDF5 has/read/write a single string attribute</a></li>
</ul>
</li>
</ul>
</div>
</div>
<div id="outline-container-org5d1ab47" class="outline-2">
<h2 id="org5d1ab47"><span class="section-number-2">1</span> HDF5 back end</h2>
<div id="outline-container-orgdf74e93" class="outline-2">
<h2 id="orgdf74e93"><span class="section-number-2">1</span> HDF5 back end</h2>
<div class="outline-text-2" id="text-1">
</div>
<div id="outline-container-org2ff3644" class="outline-3">
<h3 id="org2ff3644"><span class="section-number-3">1.1</span> Template for HDF5 definitions</h3>
<div id="outline-container-org9161313" class="outline-3">
<h3 id="org9161313"><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-org79250e2" class="outline-3">
<h3 id="org79250e2"><span class="section-number-3">1.2</span> Template for HDF5 structures</h3>
<div id="outline-container-orgae30956" class="outline-3">
<h3 id="orgae30956"><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-org1a686a8" class="outline-3">
<h3 id="org1a686a8"><span class="section-number-3">1.3</span> Template for HDF5 init/deinit</h3>
<div id="outline-container-org93a9b72" class="outline-3">
<h3 id="org93a9b72"><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-orgfab446a" class="outline-3">
<h3 id="orgfab446a"><span class="section-number-3">1.4</span> Template for HDF5 has/read/write a single dimensioning variable</h3>
<div id="outline-container-org92027d5" class="outline-3">
<h3 id="org92027d5"><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>
@ -557,8 +557,8 @@ for the JavaScript code in this tag.
</div>
</div>
<div id="outline-container-orgc64942b" class="outline-3">
<h3 id="orgc64942b"><span class="section-number-3">1.5</span> Template for HDF5 has/read/write a dataset of numerical data</h3>
<div id="outline-container-org44832ef" class="outline-3">
<h3 id="org44832ef"><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>
@ -687,8 +687,8 @@ for the JavaScript code in this tag.
</div>
</div>
<div id="outline-container-org9bf5064" class="outline-3">
<h3 id="org9bf5064"><span class="section-number-3">1.6</span> Template for HDF5 has/read/write a dataset of strings</h3>
<div id="outline-container-org7d2e0c3" class="outline-3">
<h3 id="org7d2e0c3"><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>
@ -892,8 +892,8 @@ for the JavaScript code in this tag.
</div>
</div>
<div id="outline-container-org2ecc23a" class="outline-3">
<h3 id="org2ecc23a"><span class="section-number-3">1.7</span> Template for HDF5 has/read/write a single string attribute</h3>
<div id="outline-container-orgf66ac5d" class="outline-3">
<h3 id="orgf66ac5d"><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>
@ -1020,7 +1020,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-07-15 Thu 12:45</p>
<p class="date">Created: 2021-07-23 Fri 14:27</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-07-15 Thu 12:45 -->
<!-- 2021-07-23 Fri 14:27 -->
<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="#orged14238">1. TEXT back end</a>
<li><a href="#org9205c33">1. TEXT back end</a>
<ul>
<li><a href="#orgb4eb2b6">1.1. Template for group-related structures in text back end</a></li>
<li><a href="#org89ac58c">1.2. Template for general structure in text back end</a></li>
<li><a href="#org943bd00">1.3. Initialize function (constant part)</a></li>
<li><a href="#org9ff53af">1.4. Deinitialize function (templated part)</a></li>
<li><a href="#orgb0c81b5">1.5. Template for text read struct</a></li>
<li><a href="#orgbff3416">1.6. Template for text flush struct</a></li>
<li><a href="#org883b07e">1.7. Template for text free memory</a></li>
<li><a href="#orgcd3ec4b">1.8. Template for has/read/write the num attribute</a></li>
<li><a href="#orgc617865">1.9. Template for has/read/write the dataset of numerical data</a></li>
<li><a href="#org1bbd454">1.10. Template for has/read/write the dataset of strings</a></li>
<li><a href="#org126e962">1.11. Template for has/read/write the string attribute</a></li>
<li><a href="#orgf4c5c2a">1.12. RDM struct (hard-coded)</a>
<li><a href="#org974426a">1.1. Template for group-related structures in text back end</a></li>
<li><a href="#org6f28d01">1.2. Template for general structure in text back end</a></li>
<li><a href="#org1f96d81">1.3. Initialize function (constant part)</a></li>
<li><a href="#orge6f1ea0">1.4. Deinitialize function (templated part)</a></li>
<li><a href="#orgdf23157">1.5. Template for text read struct</a></li>
<li><a href="#org1de9c70">1.6. Template for text flush struct</a></li>
<li><a href="#orgae6d9de">1.7. Template for text free memory</a></li>
<li><a href="#org5bfa7e2">1.8. Template for has/read/write the num attribute</a></li>
<li><a href="#orgc5224e3">1.9. Template for has/read/write the dataset of numerical data</a></li>
<li><a href="#org85bde47">1.10. Template for has/read/write the dataset of strings</a></li>
<li><a href="#org649dab3">1.11. Template for has/read/write the string attribute</a></li>
<li><a href="#org1b1abfb">1.12. RDM struct (hard-coded)</a>
<ul>
<li><a href="#orgddf1f1e">1.12.1. Read the complete struct</a></li>
<li><a href="#orgccca8c7">1.12.2. Flush the complete struct</a></li>
<li><a href="#org360ff58">1.12.3. Free memory</a></li>
<li><a href="#org0b90719">1.12.4. Read/Write the one<sub>e</sub> attribute</a></li>
<li><a href="#orgf264618">1.12.5. Read/Write the two<sub>e</sub> attribute</a></li>
<li><a href="#orgf5e56df">1.12.1. Read the complete struct</a></li>
<li><a href="#orgeb31815">1.12.2. Flush the complete struct</a></li>
<li><a href="#org93ef47d">1.12.3. Free memory</a></li>
<li><a href="#org3bb7e17">1.12.4. Read/Write the one<sub>e</sub> attribute</a></li>
<li><a href="#org3e1e1b8">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-orged14238" class="outline-2">
<h2 id="orged14238"><span class="section-number-2">1</span> TEXT back end</h2>
<div id="outline-container-org9205c33" class="outline-2">
<h2 id="org9205c33"><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-orgb4eb2b6" class="outline-3">
<h3 id="orgb4eb2b6"><span class="section-number-3">1.1</span> Template for group-related structures in text back end</h3>
<div id="outline-container-org974426a" class="outline-3">
<h3 id="org974426a"><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-org89ac58c" class="outline-3">
<h3 id="org89ac58c"><span class="section-number-3">1.2</span> Template for general structure in text back end</h3>
<div id="outline-container-org6f28d01" class="outline-3">
<h3 id="org6f28d01"><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-org943bd00" class="outline-3">
<h3 id="org943bd00"><span class="section-number-3">1.3</span> Initialize function (constant part)</h3>
<div id="outline-container-org1f96d81" class="outline-3">
<h3 id="org1f96d81"><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-org9ff53af" class="outline-3">
<h3 id="org9ff53af"><span class="section-number-3">1.4</span> Deinitialize function (templated part)</h3>
<div id="outline-container-orge6f1ea0" class="outline-3">
<h3 id="orge6f1ea0"><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-orgb0c81b5" class="outline-3">
<h3 id="orgb0c81b5"><span class="section-number-3">1.5</span> Template for text read struct</h3>
<div id="outline-container-orgdf23157" class="outline-3">
<h3 id="orgdf23157"><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-orgbff3416" class="outline-3">
<h3 id="orgbff3416"><span class="section-number-3">1.6</span> Template for text flush struct</h3>
<div id="outline-container-org1de9c70" class="outline-3">
<h3 id="org1de9c70"><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-org883b07e" class="outline-3">
<h3 id="org883b07e"><span class="section-number-3">1.7</span> Template for text free memory</h3>
<div id="outline-container-orgae6d9de" class="outline-3">
<h3 id="orgae6d9de"><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-orgcd3ec4b" class="outline-3">
<h3 id="orgcd3ec4b"><span class="section-number-3">1.8</span> Template for has/read/write the num attribute</h3>
<div id="outline-container-org5bfa7e2" class="outline-3">
<h3 id="org5bfa7e2"><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-orgc617865" class="outline-3">
<h3 id="orgc617865"><span class="section-number-3">1.9</span> Template for has/read/write the dataset of numerical data</h3>
<div id="outline-container-orgc5224e3" class="outline-3">
<h3 id="orgc5224e3"><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-org1bbd454" class="outline-3">
<h3 id="org1bbd454"><span class="section-number-3">1.10</span> Template for has/read/write the dataset of strings</h3>
<div id="outline-container-org85bde47" class="outline-3">
<h3 id="org85bde47"><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-org126e962" class="outline-3">
<h3 id="org126e962"><span class="section-number-3">1.11</span> Template for has/read/write the string attribute</h3>
<div id="outline-container-org649dab3" class="outline-3">
<h3 id="org649dab3"><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-orgf4c5c2a" class="outline-3">
<h3 id="orgf4c5c2a"><span class="section-number-3">1.12</span> RDM struct (hard-coded)</h3>
<div id="outline-container-org1b1abfb" class="outline-3">
<h3 id="org1b1abfb"><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-orgddf1f1e" class="outline-4">
<h4 id="orgddf1f1e"><span class="section-number-4">1.12.1</span> Read the complete struct</h4>
<div id="outline-container-orgf5e56df" class="outline-4">
<h4 id="orgf5e56df"><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-orgccca8c7" class="outline-4">
<h4 id="orgccca8c7"><span class="section-number-4">1.12.2</span> Flush the complete struct</h4>
<div id="outline-container-orgeb31815" class="outline-4">
<h4 id="orgeb31815"><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-org360ff58" class="outline-4">
<h4 id="org360ff58"><span class="section-number-4">1.12.3</span> Free memory</h4>
<div id="outline-container-org93ef47d" class="outline-4">
<h4 id="org93ef47d"><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-org0b90719" class="outline-4">
<h4 id="org0b90719"><span class="section-number-4">1.12.4</span> Read/Write the one<sub>e</sub> attribute</h4>
<div id="outline-container-org3bb7e17" class="outline-4">
<h4 id="org3bb7e17"><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-orgf264618" class="outline-4">
<h4 id="orgf264618"><span class="section-number-4">1.12.5</span> Read/Write the two<sub>e</sub> attribute</h4>
<div id="outline-container-org3e1e1b8" class="outline-4">
<h4 id="org3e1e1b8"><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-07-15 Thu 12:45</p>
<p class="date">Created: 2021-07-23 Fri 14:27</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>

125
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-07-15 Thu 12:45 -->
<!-- 2021-07-23 Fri 14:28 -->
<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="#org6cd2607">1. Metadata (metadata group)</a></li>
<li><a href="#org98ca7c1">2. Electron (electron group)</a></li>
<li><a href="#orga07f270">3. Nucleus (nucleus group)</a></li>
<li><a href="#org2e51b5b">4. <span class="todo TODO">TODO</span> Effective core potentials (ecp group)</a></li>
<li><a href="#org6f70dcf">5. Basis set (basis group)</a></li>
<li><a href="#org3a95210">6. Atomic orbitals (ao group)</a>
<li><a href="#org8f1de77">1. Metadata (metadata group)</a></li>
<li><a href="#org86454ec">2. Electron (electron group)</a></li>
<li><a href="#org1405f0f">3. Nucleus (nucleus group)</a></li>
<li><a href="#org9e77395">4. <span class="todo TODO">TODO</span> Effective core potentials (ecp group)</a></li>
<li><a href="#org8e30049">5. Basis set (basis group)</a></li>
<li><a href="#orge18f274">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="#orgb990718">7. Molecular orbitals (mo group)</a>
<li><a href="#org1648f61">7. Molecular orbitals (mo group)</a>
<ul>
<li><a href="#org325ca77">7.1. One-electron integrals (<code>mo_1e_int</code> group)</a></li>
<li><a href="#org7834e74">7.2. Two-electron integrals (<code>mo_2e_int</code> group)</a></li>
<li><a href="#orgd625b03">7.1. One-electron integrals (<code>mo_1e_int</code> group)</a></li>
<li><a href="#orgd157e1e">7.2. Two-electron integrals (<code>mo_2e_int</code> group)</a></li>
</ul>
</li>
<li><a href="#org7478ace">8. <span class="todo TODO">TODO</span> Slater determinants</a></li>
<li><a href="#org99518ef">9. <span class="todo TODO">TODO</span> Reduced density matrices (rdm group)</a></li>
<li><a href="#org733ca31">10. Appendix</a>
<li><a href="#org0eff720">8. <span class="todo TODO">TODO</span> Slater determinants</a></li>
<li><a href="#orgfd8e4e7">9. <span class="todo TODO">TODO</span> Reduced density matrices (rdm group)</a></li>
<li><a href="#org29a38db">10. Appendix</a>
<ul>
<li><a href="#orga2ecbd4">10.1. Python script from table to json</a></li>
<li><a href="#org32ef5e0">10.1. Python script from table to json</a></li>
</ul>
</li>
</ul>
@ -386,8 +386,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-org6cd2607" class="outline-2">
<h2 id="org6cd2607"><span class="section-number-2">1</span> Metadata (metadata group)</h2>
<div id="outline-container-org8f1de77" class="outline-2">
<h2 id="org8f1de77"><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
@ -397,7 +397,7 @@ which have participated to the creation of the file, a list of
authors of the file, and a textual description.
</p>
<table id="orge872377" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orga89311c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -446,6 +446,13 @@ authors of the file, and a textual description.
<td class="org-left">Names of the authors of the file</td>
</tr>
<tr>
<td class="org-left"><code>package_version</code></td>
<td class="org-left"><code>str</code></td>
<td class="org-left">&#xa0;</td>
<td class="org-left">TREXIO version used to produce the file</td>
</tr>
<tr>
<td class="org-left"><code>description</code></td>
<td class="org-left"><code>str</code></td>
@ -457,15 +464,15 @@ authors of the file, and a textual description.
</div>
</div>
<div id="outline-container-org98ca7c1" class="outline-2">
<h2 id="org98ca7c1"><span class="section-number-2">2</span> Electron (electron group)</h2>
<div id="outline-container-org86454ec" class="outline-2">
<h2 id="org86454ec"><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="orgc7a3a69" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org07ac874" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -504,15 +511,15 @@ the number of &uarr; and &darr; electrons is fixed.
</div>
</div>
<div id="outline-container-orga07f270" class="outline-2">
<h2 id="orga07f270"><span class="section-number-2">3</span> Nucleus (nucleus group)</h2>
<div id="outline-container-org1405f0f" class="outline-2">
<h2 id="org1405f0f"><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="org95e79dd" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org3c87700" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -572,8 +579,8 @@ given in Cartesian \((x,y,z)\) format.
</div>
</div>
<div id="outline-container-org2e51b5b" class="outline-2">
<h2 id="org2e51b5b"><span class="section-number-2">4</span> <span class="todo TODO">TODO</span> Effective core potentials (ecp group)</h2>
<div id="outline-container-org9e77395" class="outline-2">
<h2 id="org9e77395"><span class="section-number-2">4</span> <span class="todo TODO">TODO</span> Effective core potentials (ecp group)</h2>
<div class="outline-text-2" id="text-4">
<p>
An effective core potential (ECP) \(V_A^{\text{pp}}\) replacing the
@ -618,7 +625,7 @@ letters are parameters.
<li>\(\hat{V}_\text{ecp,nl} = \sum_A \hat{V}_A^{\text{nl}}\) : non-local component</li>
</ul>
<table id="org9775db2" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org8b3d032" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -727,8 +734,8 @@ letters are parameters.
</div>
</div>
<div id="outline-container-org6f70dcf" class="outline-2">
<h2 id="org6f70dcf"><span class="section-number-2">5</span> Basis set (basis group)</h2>
<div id="outline-container-org8e30049" class="outline-2">
<h2 id="org8e30049"><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
@ -781,7 +788,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="orgb06d348" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org4043dd5" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -950,8 +957,8 @@ prim_factor =
</div>
</div>
<div id="outline-container-org3a95210" class="outline-2">
<h2 id="org3a95210"><span class="section-number-2">6</span> Atomic orbitals (ao group)</h2>
<div id="outline-container-orge18f274" class="outline-2">
<h2 id="orge18f274"><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
@ -999,13 +1006,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="#org6f70dcf">Basis set</a> section) to \(\mathcal{N}_{z^2}\), which is the
the <a href="#org8e30049">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="org8b6a716" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgd1d7dc3" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1057,8 +1064,8 @@ introduced here should be \(\frac{\mathcal{N}_{xy}}{\mathcal{N}_{z^2}}\).
</table>
</div>
<div id="outline-container-org69e2fe4" class="outline-3">
<h3 id="ao_one_e"><a id="org69e2fe4"></a><span class="section-number-3">6.1</span> One-electron integrals (<code>ao_1e_int</code> group)</h3>
<div id="outline-container-org3fbae12" class="outline-3">
<h3 id="ao_one_e"><a id="org3fbae12"></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}}
@ -1076,7 +1083,7 @@ The one-electron integrals for a one-electron operator \(\hat{O}\) are
over atomic orbitals.
</p>
<table id="org65d06db" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgbeaaeb7" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1143,8 +1150,8 @@ over atomic orbitals.
</div>
</div>
<div id="outline-container-org2ecc3df" class="outline-3">
<h3 id="ao_two_e"><a id="org2ecc3df"></a><span class="section-number-3">6.2</span> Two-electron integrals (<code>ao_2e_int</code> group)</h3>
<div id="outline-container-org9a8349b" class="outline-3">
<h3 id="ao_two_e"><a id="org9a8349b"></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
@ -1165,7 +1172,7 @@ notation.
\mathbf{r}_j \vert)}{\vert \mathbf{r}_i - \mathbf{r}_j \vert} \] : electron-electron long range potential</li>
</ul>
<table id="orgda49ac2" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org31608e3" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1205,10 +1212,10 @@ notation.
</div>
</div>
<div id="outline-container-orgb990718" class="outline-2">
<h2 id="orgb990718"><span class="section-number-2">7</span> Molecular orbitals (mo group)</h2>
<div id="outline-container-org1648f61" class="outline-2">
<h2 id="org1648f61"><span class="section-number-2">7</span> Molecular orbitals (mo group)</h2>
<div class="outline-text-2" id="text-7">
<table id="org9f70e53" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org1caead7" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1274,8 +1281,8 @@ notation.
</table>
</div>
<div id="outline-container-org325ca77" class="outline-3">
<h3 id="org325ca77"><span class="section-number-3">7.1</span> One-electron integrals (<code>mo_1e_int</code> group)</h3>
<div id="outline-container-orgd625b03" class="outline-3">
<h3 id="orgd625b03"><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
@ -1283,7 +1290,7 @@ The operators as the same as those defined in the
the basis of molecular orbitals.
</p>
<table id="org89b2e6e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org6a5b83c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1350,8 +1357,8 @@ the basis of molecular orbitals.
</div>
</div>
<div id="outline-container-org7834e74" class="outline-3">
<h3 id="org7834e74"><span class="section-number-3">7.2</span> Two-electron integrals (<code>mo_2e_int</code> group)</h3>
<div id="outline-container-orgd157e1e" class="outline-3">
<h3 id="orgd157e1e"><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
@ -1359,7 +1366,7 @@ The operators as the same as those defined in the
the basis of molecular orbitals.
</p>
<table id="orgf3cc8a6" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org14da91e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1399,13 +1406,13 @@ the basis of molecular orbitals.
</div>
</div>
<div id="outline-container-org7478ace" class="outline-2">
<h2 id="org7478ace"><span class="section-number-2">8</span> <span class="todo TODO">TODO</span> Slater determinants</h2>
<div id="outline-container-org0eff720" class="outline-2">
<h2 id="org0eff720"><span class="section-number-2">8</span> <span class="todo TODO">TODO</span> Slater determinants</h2>
</div>
<div id="outline-container-org99518ef" class="outline-2">
<h2 id="org99518ef"><span class="section-number-2">9</span> <span class="todo TODO">TODO</span> Reduced density matrices (rdm group)</h2>
<div id="outline-container-orgfd8e4e7" class="outline-2">
<h2 id="orgfd8e4e7"><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="org537a4b8" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orga41c91e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1458,15 +1465,15 @@ the basis of molecular orbitals.
</div>
</div>
<div id="outline-container-org733ca31" class="outline-2">
<h2 id="org733ca31"><span class="section-number-2">10</span> Appendix</h2>
<div id="outline-container-org29a38db" class="outline-2">
<h2 id="org29a38db"><span class="section-number-2">10</span> Appendix</h2>
<div class="outline-text-2" id="text-10">
</div>
<div id="outline-container-orga2ecbd4" class="outline-3">
<h3 id="orga2ecbd4"><span class="section-number-3">10.1</span> Python script from table to json</h3>
<div id="outline-container-org32ef5e0" class="outline-3">
<h3 id="org32ef5e0"><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="org6adcc1c"><span style="color: #a020f0;">print</span>(<span style="color: #8b2252;">"""#+begin_src python :tangle trex.json"""</span>)
<pre class="src src-python" id="org94c0af6"><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
@ -1519,7 +1526,7 @@ the basis of molecular orbitals.
</div>
<div id="postamble" class="status">
<p class="author">Author: TREX-CoE</p>
<p class="date">Created: 2021-07-15 Thu 12:45</p>
<p class="date">Created: 2021-07-23 Fri 14:28</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>