commit 4693713fb80d5c1ed801df05e08b70210d244808
parent e6cd634631641c21c7d71bfaf0bcd356747657d0
Author: Vincent Forest <vincent.forest@meso-star.com>
Date: Mon, 16 Jun 2025 16:21:52 +0200
Simplify page writing and composition
Test to make Markdown the main language used to write page content. This
should simplify the writing of pages, while at the same time forcing to
streamline their presentation. CSS is being updated accordingly, to
emphasize ease of reading rather than “fancy” page layouts.
At present, only certain pages have been translated into Markdown to
test the workflow and layout.
The build system remains unchanged.
Diffstat:
24 files changed, 831 insertions(+), 441 deletions(-)
diff --git a/meso-menu.sh b/meso-menu.sh
@@ -48,12 +48,6 @@ print_home_sub_menu()
echo " <a href=\"${root}misc/about-fr.html\">About</a>"
fi
echo "  . "
- if [ "${name}" = "PGP" ]; then
- echo " <span class=\"cur\">PGP</span>"
- else
- echo " <a href=\"${root}misc/pgp_signatures.html\">PGP</a>"
- fi
- echo "  . "
if [ "${name}" = "Legal" ]; then
page="legal"
echo " <span class=\"cur\">Legal notices</span>"
diff --git a/meso.css b/meso.css
@@ -6,12 +6,13 @@
body {
background-color: #fff;
color: #000;
- font-family: "Liberation Sans",sans-serif;
+ font-family: "Liberation", serif;
margin: 1em auto;
padding: 0em 1em 0em 1em;
text-align: left;
font-size: 1em;
- max-width: 50em;
+ max-width: 40em;
+ line-height: 1.5em;
}
h1 {
@@ -38,20 +39,36 @@ code {
font-family: "Liberation Mono",monospace;
}
-pre {
+/*pre {
display: block;
font-family: "Liberation Mono",monospace;
-}
+}*/
-pre.code {
+pre {
padding-left: 2em;
display: block;
font-family: "Liberation Mono",monospace;
}
+figure {
+ text-align: center;
+}
+
img {
- max-width: 100%;
- max-height: 100%;
+ max-width: 90%;
+ display: block;
+ margin-left: auto;
+ margin-right: auto;
+}
+
+blockquote {
+ padding: 0 2em 0 2em;
+ margin: 0 1em 0 1em;
+ max-width: 36em;
+ /*font-style: italic;*/
+ /*font-size: 90%;*/
+ /*margin: 0 0.5em 0 0.5em;*/
+ color: #666666
}
a {
@@ -149,9 +166,10 @@ hr {
* Content & news
******************************************************************************/
#content {
- text-align: left;
max-width: 50em;
overflow: hidden;
+ text-align: justify;
+ text-justify: inter-word;
}
.select-langage {
@@ -204,34 +222,34 @@ hr {
/*******************************************************************************
* Main title
******************************************************************************/
-#title {
- float: left;
+.title {
+ /*float: left;*/
font-family: "Courier Prime";
- padding: 0.0em 2.0em 0.5em 1.5em;
+ padding: 1.0em 2.0em 1.0em 1.5em;
margin: 0;
text-align: center;
- font-size: 1.5em;
+ /*font-size: 1.5em;*/
font-weight: bold;
}
-#title h1 {
+.title h1 {
padding-top: 0.5em;
margin: 0;
}
-#title hr {
+.title hr {
width: 30%;
padding-top: 1em;
}
-#title h2 {
+.title h2 {
color: #000000;
padding: 0;
margin-bottom: 0;
border-bottom: none;
}
-#title a {
+.title a {
color: #000000;
text-decoration: none;
}
@@ -242,7 +260,7 @@ hr {
#footer {
text-align: left;
color: #777;
- padding: 2.0em 0em 0em 2em;
+ padding: 1.0em 0em 0em 1em;
font-size: 80%;
}
diff --git a/misc/Makefile b/misc/Makefile
@@ -20,8 +20,7 @@ HTML=\
about-en.html\
about-fr.html\
legal-en.html\
- legal-fr.html\
- pgp_signatures.html
+ legal-fr.html
build: $(HTML)
@@ -32,7 +31,6 @@ clean:
about-fr.html\
legal-en.html\
legal-fr.html\
- pgp_signatures.html\
$(HTML:=.err)
distclean: clean
@@ -46,26 +44,22 @@ misc_build.sh: ../meso-menu.sh
################################################################################
# html
################################################################################
-about-en.html: about-en.html.in misc_build.sh
+about-en.html: about-en.md misc_build.sh
@echo "Building $@"
@$(SHELL) misc_build.sh about en > $@
-about-fr.html: about-fr.html.in misc_build.sh
+about-fr.html: about-en.md misc_build.sh
@echo "Building $@"
@$(SHELL) misc_build.sh about fr > $@
-legal-en.html: legal-en.html.in misc_build.sh
+legal-en.html: legal-en.md misc_build.sh
@echo "Building $@"
@$(SHELL) misc_build.sh legal en > $@
-legal-fr.html: legal-fr.html.in misc_build.sh
+legal-fr.html: legal-fr.md misc_build.sh
@echo "Building $@"
@$(SHELL) misc_build.sh legal fr > $@
-pgp_signatures.html: misc_build.sh
- @echo "Building $@"
- @$(SHELL) misc_build.sh pgp > $@
-
################################################################################
# Check files
################################################################################
diff --git a/misc/about-en.html.in b/misc/about-en.html.in
@@ -1,41 +0,0 @@
-<div id=title>
- <h1>|Méso|Star></h1>
- <div style="font-size: 60%">Understanding complex systems</div>
- <hr>
-</div>
-
-<p> </p>
-
-<p>At |Méso|Star> we develop <b>scientific stochastic numeric
-methods</b> in order to analyze and design energetic systems, taking into
-account geometrical, temporal or phenomenological complexities. Our main
-activity fields are <b>radiative transfer</b>, and <b>coupled thermal
-transfers</b>.</p>
-
-<p>The theoretical framework and the resulting software are <a
-href=http://www.demonstrator.edstar.cnrs.fr/prod/fr/>co‑developed</a> in
-association with <a
-href=http://www.demonstrator.edstar.cnrs.fr/prod/fr/#platform_researchers>public
-research laboratories</a> we are working with. Our <b>research group</b>, whose
-concerns are physics and computer science, is not only the first group of users
-of the tools that we develop, but is also at the origin of the <a
-href=http://www.demonstrator.edstar.cnrs.fr/prod/fr/platform/usecase/>
-scientific advances</a> these tools are based upon. In addition to the
-realization of our programs, we are also the ones doing the technical and
-scientific support and writing documentation. If you need help, you are in
-touch with to the right people.</p>
-
-<p>This site provides all necessary resources and information required for
-using our <a href=https://www.gnu.org/licenses/copyleft.html#top>copyleft</a>
-licensed software. You may not only use these programs immediately, but also
-freely study, modify and redistribute them.</p>
-
-<p>We are proposing two types of commercial offers: actions of <b>support</b>,
-<b>maintenance</b> and <b>integration</b> over the software that we develop;
-and also <b>study</b> and <b>research</b> actions, that are conducted in the
-long-term dynamic of both academic and industrial partners. The <a
-href=https://www.meso-star.com/projects/stardis/consortium-en.html>Stardis
-consortium</a> commercial offer is an example of such long-term actions for
-solving coupled transfers by means of statistical algorithms. Please
-<a href=mailto:contact@meso-star.com>contact us</a> for any additional
-information.</p>
diff --git a/misc/about-en.md b/misc/about-en.md
@@ -0,0 +1,37 @@
+# |Méso|Star>
+
+At |Méso|Star> we develop *scientific stochastic numeric
+methods* in order to analyze and design energetic systems, taking into
+account geometrical, temporal or phenomenological complexities.
+Our main activity fields are *radiative transfer*, and *coupled
+thermal transfers*.
+
+The theoretical framework and the resulting software are
+[co-developed](http://www.demonstrator.edstar.cnrs.fr/prod/fr/) in
+association with
+[public research laboratories](http://www.demonstrator.edstar.cnrs.fr/prod/fr/#platform_researchers)
+we are working with.
+Our *research group*, whose concerns are physics and computer science,
+is not only the first group of users
+of the tools that we develop, but is also at the origin of the
+[scientific advances](http://www.demonstrator.edstar.cnrs.fr/prod/fr/platform/usecase/)
+these tools are based upon.
+In addition to the realization of our programs, we are also the ones
+doing the technical and scientific support and writing documentation.
+
+This site provides all necessary resources and information required for
+using our [copyleft](https://www.gnu.org/licenses/copyleft.html#top)
+licensed software
+You may not only use these programs immediately, but also freely study,
+modify and redistribute them.
+
+We are proposing two types of commercial offers: actions of *support*,
+*maintenance* and *integration* over the software that we develop;
+and also *study* and *research* actions, that are conducted in the
+long-term dynamic of both academic and industrial partners.
+The
+[Stardis consortium](ttps://www.meso-star.com/projects/stardis/consortium-en.html)
+commercial offer is an example of such long-term actions for solving
+coupled transfers by means of statistical algorithms.
+Please [contact us](mailto:contact@meso-star.com) for any additional
+information.</p>
diff --git a/misc/about-fr.html.in b/misc/about-fr.html.in
@@ -1,44 +0,0 @@
-<div id=title>
- <h1>|Méso|Star></h1>
- <div style="font-size: 60%">Understanding complex systems</div>
- <hr>
-</div>
-
-<p> </p>
-
-<p>Chez |Méso|Star> nous développons des <b>méthodes de calcul scientifiques
-par Monte-Carlo</b> pour l'analyse et le dimensionnement de systèmes
-énergétiques dans toutes leurs complexités, qu'elles soient géométriques,
-temporelles ou phénoménologiques. Notre activité s'inscrit pour l'essentiel
-dans deux thématiques : le <b>transfert radiatif</b> et les <b>transferts
-thermiques couplés</b>.</p>
-
-<p>Le cadre théorique et les programmes que nous proposons sont <a
-href=http://www.demonstrator.edstar.cnrs.fr/prod/fr/>co‑développés</a>
-en partenariat étroit avec les <a
-href=http://www.demonstrator.edstar.cnrs.fr/prod/fr/#platform_researchers>laboratoires
-de recherche</a> avec qui nous travaillons. Notre <b>collectif de
-recherche</b>, en physique et en informatique, est non seulement le premier
-utilisateur des outils que nous développons mais est aussi l'auteur des <a
-href=http://www.demonstrator.edstar.cnrs.fr/prod/fr/platform/usecase/>avancées
-scientifiques</a> sur lesquelles ils reposent. Nous sommes également ceux qui,
-en plus de leur réalisation, assurons le support et la documentation de nos
-programmes. Si vous avez besoin d'aide, vous parlez aux bonnes personnes.</p>
-
-<p>Vous trouverez sur ce site toutes les informations et ressources nécessaires
-pour exécuter nos programmes. Distribués sous <a
-href=https://www.gnu.org/philosophy/free-sw.fr.html>licences libres</a>, vous
-pouvez non seulement les utiliser dès maintenant, mais aussi les étudier, les
-modifier et les redistribuer librement.</p>
-
-<p>Nous proposons une offre de service qui repose sur deux types de
-prestations. Des prestations de <b>support</b>, de <b>maintenance</b> et
-d'<b>intégration</b> des programmes que nous développons. Et des prestations
-d'<b>études</b> et de <b>recherche</b>, s'inscrivant dans la dynamique de temps
-long des directions scientifiques et techniques, à la fois des industriels et
-des universitaires. L'offre de <a
-href=https://www.meso-star.com/projects/stardis/consortium-fr.html>consortium
-Stardis</a> illustre ce type de prestations pour les questions de transferts
-thermiques couplés. Nous vous invitons à <a
-href=mailto:contact@meso-star.com>nous contacter</a> pour toute information
-complémentaire.</p>
diff --git a/misc/about-fr.md b/misc/about-fr.md
@@ -0,0 +1,42 @@
+# |Méso|Star>
+
+Chez |Méso|Star> nous développons des *méthodes de calcul scientifiques*
+par *Monte-Carlo* pour l'analyse et le dimensionnement de systèmes
+énergétiques dans toutes leurs complexités, qu'elles soient
+géométriques, temporelles ou phénoménologiques.
+Notre activité s'inscrit pour l'essentiel dans deux thématiques : le
+*transfert radiatif* et les *transferts thermiques couplés*.
+
+Le cadre théorique et les programmes que nous proposons sont
+[co-développés](http://www.demonstrator.edstar.cnrs.fr/prod/fr/) en
+partenariat étroit avec les
+[laboratoires de recherche](http://www.demonstrator.edstar.cnrs.fr/prod/fr/#platform_researchers)
+avec qui nous travaillons.
+Notre *collectif de recherche*, en physique et en informatique, est non
+seulement le premier utilisateur des outils que nous développons mais
+est aussi l'auteur des
+[avancées scientifiques](http://www.demonstrator.edstar.cnrs.fr/prod/fr/platform/usecase/)
+sur lesquelles ils reposent.
+Nous sommes également ceux qui, en plus de leur réalisation, assurons le
+support et la documentation de nos programmes.
+
+Vous trouverez sur ce site toutes les informations et ressources
+nécessaires pour exécuter nos programmes.
+Distribués sous
+[licenses libres](https://www.gnu.org/philosophy/free-sw.fr.html), vous
+pouvez non seulement les utiliser dès maintenant, mais aussi les
+étudier, les modifier et les redistribuer librement.
+
+Nous proposons une offre de service qui repose sur deux types de
+prestations.
+Des prestations de *support*, de *maintenance* et d'*intégration* des
+programmes que nous développons.
+Et des prestations d'*études* et de *recherche*, s'inscrivant dans la
+dynamique de temps long des directions scientifiques et techniques, à la
+fois des industriels et des universitaires.
+L'offre de
+[consortium Stardis](../stardis/consortium-fr.html)
+illustre ce type de prestations pour les questions de transferts
+thermiques couplés.
+Nous vous invitons à [nous contacter](mailto:contact@meso-star.com)
+pour toute information complémentaire.
diff --git a/misc/about.html b/misc/about.html
@@ -1,17 +0,0 @@
-<!DOCTYPE html>
-
-<html lang=en>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <meta http-equiv="Refresh" content="5; url=./about-en.html">
- <title>About</title>
-</head>
-
-<body>
-<p>This web page moved to a new place.</p>
-
-<p>Your browser should automatically take you <a
-href="about-en.html">there</a> in 5 seconds.</p>
-
-</html>
-
diff --git a/misc/legal-en.html.in b/misc/legal-en.html.in
@@ -1,22 +0,0 @@
-<header>
- <h1>Legal notices</h1>
-</header>
-
-<pre class="code">
-Copyright owner: |Méso|star>
-Registered address: 4 rue du général Giraud 31200 Toulouse - France
-E-mail: <a href=mailto:contact@meso-star.com>contact@meso-star.com</a>
-
-Legal form: SCOP SAS (Cooperative and participatory company by simplified shares)
-Share capital: 15,000 €
-Variable capital (minimum): 15,000 €
-VAT Number: FR86803488014
-Commercial and companies register number: Toulouse B 803 488 014
-
-Publication manager: Christophe Coustet
-Host: ovh - 2 rue Kellermann 59100 Roubaix 1007, France
-</pre>
-
-<p><a href=https://www.meso-star.com>https://www.meso-star.com</a> does not use
-any cookie and does not collect private data.</p>
-
diff --git a/misc/legal-en.md b/misc/legal-en.md
@@ -0,0 +1,17 @@
+# Legal notices
+
+Copyright owner: |Méso|star>
+Registered address: 4 rue du général Giraud 31200 Toulouse - France
+E-mail: [contact@meso-star.com](mailto:contact@meso-star.com)
+
+Legal form: SCOP SAS (Cooperative and participatory company by simplified shares)
+Share capital: 15,000 €
+Variable capital (minimum): 15,000 €
+VAT Number: FR86803488014
+Commercial and companies register number: Toulouse B 803 488 014
+
+Publication manager: Christophe Coustet
+Host: ovh - 2 rue Kellermann 59100 Roubaix 1007, France
+
+[https://www.meso-star.com](https://www.meso-star.com) does not use any
+cookie and does not collect private data.</p>
diff --git a/misc/legal-fr.html.in b/misc/legal-fr.html.in
@@ -1,22 +0,0 @@
-<header>
- <h1>Mentions légales</h1>
-</header>
-
-<pre class="code">
-Propriétaire du site : |Méso|star>
-Adresse du siège social : 4 rue du général Giraud 31200 Toulouse, France
-Courriel de contact : <a href=mailto:contact@meso-star.com>contact@meso-star.com</a>
-
-Forme juridique : SCOP SAS
-Capital social : 15 000 €
-Capital variable (minimum) : 15 000 €
-Numéro de TVA : FR86803488014
-Numéro RCS : Toulouse B 803 488 014
-
-Responsable de publication : Christophe Coustet
-Hébergeur : ovh - 2 rue Kellermann 59100 Roubaix 1007, France
-</pre>
-
-<p><a href=https://www.meso-star.com>https://www.meso-star.com</a> n'utilise
-pas de cookie et ne collecte aucune donnée personnelle.</p>
-
diff --git a/misc/legal-fr.md b/misc/legal-fr.md
@@ -0,0 +1,17 @@
+# Mentions légales
+
+Propriétaire du site : |Méso|star
+Adresse du siège social : 4 rue du général Giraud 31200 Toulouse, France
+Courriel de contact : [contact@meso-star.com](mailto:contact@meso-star.com)
+
+Forme juridique : SCOP SAS
+Capital social : 15 000 €
+Capital variable (minimum) : 15 000 €
+Numéro de TVA : FR86803488014
+Numéro RCS : Toulouse B 803 488 014
+
+Responsable de publication : Christophe Coustet
+Hébergeur : ovh - 2 rue Kellermann 59100 Roubaix 1007, France
+
+[https://www.meso-star.com](https://www.meso-star.com)
+n'utilise pas de cookie et ne collecte aucune donnée personnelle.
diff --git a/misc/misc_build.sh b/misc/misc_build.sh
@@ -25,7 +25,7 @@ about()
fi
print_header -s Home -n About -l "$1" -r ../
- cat "about-$1.html.in"
+ md2html about-$1.md
print_footer
}
@@ -37,14 +37,7 @@ legal()
fi
print_header -s Home -n Legal -l "$1" -r ../
- cat "legal-$1.html.in"
- print_footer
-}
-
-pgp()
-{
- print_header -s Home -n PGP -r ../
- cat pgp_signatures.html.in
+ md2html legal-$1.md
print_footer
}
diff --git a/misc/pgp_signatures.html.in b/misc/pgp_signatures.html.in
@@ -1,72 +0,0 @@
-<header>
- <h1 id=PGP>PGP signatures</h1>
-</header>
-
-<p>Several archives distributed onto this site are cryptographically signed
-using <a
-href="https://en.wikipedia.org/wiki/Pretty_Good_Privacy#How_PGP_encryption_works">
-OpenPGP</a>-compliant signatures. Everyone is encouraged to check the integrity
-of the downloaded content by verifying its corresponding signature. The signing
-and verification process ensures that the downloaded files were not modified or
-tampered since their creation and thus prevents anyone to use corrupted
-files.</p>
-
-<p>On GNU/Linux, the most common way for verifying the PGP signature is to use
-<a href=https://www.gnupg.org/>GnuPG</a>. First ensure that GnuPG is installed
-on your system. Then download the archive and its PGP signature and use the
-<code>gpg2</code> command to check the integrity of the archive against its
-signature.
-
-<pre class="code">
-$ wget www.meso-star.com/solstice/downloads/Archive-Name-GNU-Linux64.tar.gz
-$ wget www.meso-star.com/solstice/downloads/Archive-Name-GNU-Linux64.tar.gz.sig
-$ gpg2 --verify Archive-Name-GNU-Linux64.tar.gz.sig
-</pre>
-
-<p>The first time you may obtain the likely output:</p>
-
-<pre class="code">
-gpg: Signature made Wed 20 Sep 2017 08:28:35 AM CEST using RSA key 7322B68F7896C455
-gpg: Can't check signature: No public key
-</pre>
-
-<p>This means that you do not have the public part of the PGP key used to sign
-this archive. In the previous example the key identifier is
-<code>7322B68F7896C455</code>. Use <code>gpg2</code> to download this key from
-the PGP keyserver.</p>
-
-<pre class="code">
-$ gpg2 --keyserver hkps://hkps.pool.sks-keyservers.net --recv-keys 7322B68F7896C455
-</pre>
-
-<p>Now you can check the integrity of the archive with respect to the
-previously downloaded public-key.</p>
-
-<pre class="code">
-$ gpg2 --verify Archive-Name-GNU-Linux64.tar.gz.sig
-gpg: assuming signed data in 'Archive-Name-GNU-Linux64.tar.gz'
-gpg: Signature made Tue 26 Sep 2017 09:28:40 AM CEST
-gpg: using RSA key 1F494948BAA4F5F4A0AF82FF7322B68F7896C455
-gpg: Good signature from "Vincent Forest (http://www.meso-star.com)
-gpg: <vincent.forest@meso-star.com>" [ultimate]
-gpg: WARNING: This key is not certified with a trusted signature!
-gpg: There is no indication that the signature belongs to the owner.
-Primary key fingerprint: 20EB E4CF 3D9F 4B9A E55D 5F59 679F 2975 93B2 C8A2
- Subkey fingerprint: 1F49 4948 BAA4 F5F4 A0AF 82FF 7322 B68F 7896 C455
-</pre>
-
-<p>Note that GnuPG warns that the key is not certified. In other words you
-cannot be sure that the key used to sign the archive really belongs to the
-owner. The best option is to physically meet the actual owner and ask for him
-about the key validity. More simply, but also less secure, you can review the
-list of signatures of the key with <code>gpg2 --list-sigs</code> and then make a
-decision whether you <a
-href="https://www.gnupg.org/gph/en/manual/x334.html">trust</a> that key or
-not.</p>
-
-<p>On Windows, you can use the <a href="https://www.gpg4win.org/">GPG4Win</a>
-tool to verify the archive signature. The process is roughly the same that on
-GNU/Linux: you first have to import the public key used to sign the archive
-before verifying its integrity and checking that the imported key really
-belongs to the owner.</p>
-
diff --git a/solstice/Makefile b/solstice/Makefile
@@ -112,7 +112,7 @@ solstice_build.sh: ../meso-menu.sh
################################################################################
# Overview web page
################################################################################
-solstice.html: solstice.html.in themis.png solstice_build.sh Makefile
+solstice.html: solstice.md.in themis.png solstice_build.sh Makefile
@echo "Building $@"
@$(SHELL) solstice_build.sh overview $(SOLSTICE_VERSION) > $@
diff --git a/solstice/solstice.html.in b/solstice/solstice.html.in
@@ -1,168 +0,0 @@
-<header>
- <h1>Solstice
- <span class="subtitle">
- The solar plant simulation tool
- </span>
- </h1>
-</header>
-
-<div class="news">
- <p><b>Solstice ${VERSION} is available</b></p>
- <ul>
- <li>GNU/Linux:
- <a href="downloads/Solstice-${VERSION}-GNU-Linux64.tar.gz">tarball</a> /
- <a href="downloads/Solstice-${VERSION}-GNU-Linux64.tar.gz.sig">pgp</a></li>
- </ul>
- <ul>
- <li>Sources:
- <a href="downloads/Solstice-${VERSION}-Sources.zip">zip</a> /
- <a href="downloads/Solstice-${VERSION}-Sources.zip.sig">pgp</a></li>
- </ul>
-</div>
-
-<p>Solstice computes the <b>total power</b> collected by a concentrated solar
-plant, and evaluates various <b>efficiencies</b> for each primary reflector: it
-computes losses due to cosine effect, to shadowing and masking, to orientation
-and surface irregularities, to reflectivity and to atmospheric transmission.
-These data provide insightful information when looking for the optimal design
-of a concentrated solar plant. Solstice is powered by a <b>Monte-Carlo
-solver</b>, which means that each result is provided with its
-<b>numerical accuracy</b>.
-
-<p>Solstice is specifically designed to handle <b>complex solar facilities</b>.
-A solar plant can be composed of any number of geometries of different types
-like hyperbolas, parabolas, parabolic trough, planar polygons, cylinders,
-spheres, hemispheres and cuboids. Behind analytic shapes, one can also use any
-<b>external mesh</b> stored in a <b>ST</b>ereo <b>L</b>ithography file.
-
-<div class="img" style="width: 18em">
- <a href="solaris.jpg">
- <img src="solaris.jpg" alt="Solaris on mars">
- </a>
- <div class="caption">
- A solar parabolic trough concentrator whose optical efficiency as well as the
- losses have been evaluated with solstice. The solar concentrator is developed
- by EMS focus
- (<a href="https://www.emsfocus.fr/concentrateur-solaris.html">Solaris</a>).
- The image has been rendered with <a href="../htrdr/htrdr.html">htrdr</a> for
- illustration purposes.
- </div>
-</div>
-
-<p>The orientation of the reflectors can be either defined manually or
-<b>automatically computed</b> by Solstice according to the sun direction and
-the animation constraints of the reflectors.
-
-<p>Mirror, matte and dielectric materials are supported. <b>Spectral effects</b>
-are also taken into account as long as the relevant physical properties are
-provided; it is possible to define the spectral distribution of any physical
-property, including the input solar spectrum and the absorption of the
-atmosphere, at any spectral resolution.</p>
-
-<p>Solstice makes intensive use of ray-tracing. While this feature is part of
-the StarEngine <a href="https://gitlab.com/meso-star/star-3d">Star3D</a>
-library, it is internally powered by <a
-href="https://software.intel.com/sdvis">Intel® Rendering Framework</a>: <a
-href="http://embree.github.io/">Embree</a>.</p>
-
-<h2>A straight interface</h2>
-
-<p>The Solstice program is a <b>command-line tool</b> that processes input data,
-performs computations, write results and that's all. It makes no assumption on how
-the input data are created excepted that it has to follow the expected file
-formats. The simulation results are also provided as is, in a raw ASCII file.</p>
-
-<p>This thin interface is not only simple and powerful but is also particularly
-well suited to be <b>extended</b> and <b>integrated into any toolchain</b>.
-According to the user needs, the solar plant description can be manually
-written, generated by a script, exported from a content creation tool,
-<i>etc.</i> In the same way, the output data can be post-processed by any
-script to be transformed, compressed, sent over a network, displayed in a data
-analysis tool, <i>etc.</i>.</p>
-
-<h2>A framework for data analysis</h2>
-
-<div class="img" style="width: 18em">
- <a href="themis.png">
- <img src="themis.png" alt="Themis in paraview">
- </a>
- <div class="caption">
- Post-processed Solstice outputs displayed in
- <a href="https://www.paraview.org">Paraview</a>.
- </div>
-</div>
-
-<p>Beside the simulation process, Solstice can output data to help in the
-<b>analysis</b> of the simulation results: it can output the <b>radiative
-paths</b> sampled during a simulation, as well as the solar plant
-<b>geometry</b> described in the OBJ file format. Thanks to
-these data, the user can quickly assert that too many radiative paths are
-occluded or miss the target, or that the primary reflectors are not correctly
-oriented. One can also map the simulation results to the solar plant geometry
-in order to efficiently visualise and analyse them using one's favorite data
-analysis toolkit.</p>
-
-<p>Solstice also provides <b>offline rendering</b> capabilities. It implements
-an unbiased physically-based rendering kernel that relies on the data and
-algorithmic tools used by the solver. This ensures that the rendered images give
-visual clues on how the light actually interacts with the geometry and the
-materials of the simulated solar plant.</p>
-
-<h2>Quick start</h2>
-
-<p>Get the desired archive of Solstice and verify its integrity against its <a
-href="../misc/pgp_signatures.html">PGP signature</a>. Then extract it. On
-Windows, open a command prompt into the Solstice bin directory and invoke the
-<code>solstice.exe</code> executable. You can alternatively register its
-directory into the <code>path</code> environment variable to expose the
-Solstice application to the system, allowing its invocation from
-any directory.</p>
-
-<pre class="code">
-C:\Users\Meso-Star\Solstice-${VERSION}-Win64\bin>solstice -h
-</pre>
-
-<p>On GNU/Linux, source the provided <code>solstice.profile</code> file to
-register the Solstice installation for the current shell priorly to the
-invocation of the <code>solstice</code> program.</p>
-
-<pre class="code">
-$ source ~/Solstice-${VERSION}-GNU-Linux64/etc/solstice.profile
-$ solstice -h
-</pre>
-
-<p>The Solstice <b>reference documentation</b> is located in the
-<code>share/man</code> sub-directory of Solstice. To consult it, just browse the
-HTML files in the <code>share/man/man1</code> and
-<code>share/man/man5</code> directories. On GNU/Linux, you can alternatively
-use the <code>man</code> command-line.</p>
-
-<pre class="code">
-$ man solstice
-$ man solstice-input
-$ man solstice-output
-$ man solstice-receiver
-</pre>
-
-<p>Refer to the <a href="solstice-resources.html#ABG">Absolute Beginner's
-Guide</a> to learn fundamentals of Solstice; it relies on practical examples to
-introduce the functionalities of the program.</p>
-
-<h2>History</h2>
-
-<p>Solstice was funded by the LABEX Solstice from 2016 to 2017. Visit
-the <a href="https://www.labex-solstice.fr/solstice-software">LABEX
-Solstice web page</a> for complementary informations and examples.</p>
-
-<h2>License</h2>
-
-<p>Copyright © 2018, 2019, 2021 <a
-href="mailto:contact@meso-star.com">|Méso|Star></a>.<br>
-Copyright © 2016, 2017, 2018 Centre National de la Recherche Scientifique
-(CNRS).</p>
-
-<p>Solstice is free software released under the GPLv3+ license: GNU GPL
-version 3 or later. You can freely study, modify or extend it. You are also
-welcome to redistribute it under certain conditions; refer to the <a
-href="https://www.gnu.org/licenses/gpl.html">license</a> for details.</p>
-
diff --git a/solstice/solstice.md.in b/solstice/solstice.md.in
@@ -0,0 +1,137 @@
+# Solstice
+
+Solstice computes the *total power* collected by a concentrated solar
+plant, and evaluates various *efficiencies* for each primary reflector:
+it computes losses due to cosine effect, to shadowing and masking, to
+orientation and surface irregularities, to reflectivity and to
+atmospheric transmission.
+These data provide insightful information when looking for the optimal
+design of a concentrated solar plant.
+Solstice is powered by a *Monte-Carlo solver*, which means that each
+result is provided with its *numerical accuracy*.
+
+Solstice is specifically designed to handle *complex solar facilities*.
+A solar plant can be composed of any number of geometries of different types
+like hyperbolas, parabolas, parabolic trough, planar polygons, cylinders,
+spheres, hemispheres and cuboids.
+Behind analytic shapes, one can also use any *external mesh* stored in a
+*ST*ereo *L*ithography file.
+
+The orientation of the reflectors can be either defined manually or
+*automatically computed* by Solstice according to the sun direction and
+the animation constraints of the reflectors.
+
+Mirror, matte and dielectric materials are supported.
+*Spectral effects* are also taken into account as long as the relevant
+physical properties are provided;
+it is possible to define the spectral distribution of any physical
+property, including the input solar spectrum and the absorption of the
+atmosphere, at any spectral resolution.
+
+[](solaris.jpg)
+
+> A solar parabolic trough concentrator whose optical efficiency as well
+> as the losses have been evaluated with solstice. The solar concentrator
+> is developed by EMS focus
+> ([Solars](https://www.emsfocus.fr/concentrateur-solaris.html)).
+> The image has been rendered with [htrdr](../htrdr/htrdr.html) for
+> illustration purposes.
+
+## A straight interface
+
+The Solstice program is a *command-line tool* that processes input data,
+performs computations, write results and that's all.
+It makes no assumption on how
+the input data are created excepted that it has to follow the expected
+file formats.
+The simulation results are also provided as is, in a raw ASCII file.
+
+This thin interface is not only simple and powerful but is also
+particularly well suited to be *extended* and *integrated into any
+toolchain*.
+According to the user needs, the solar plant description can be manually
+written, generated by a script, exported from a content creation tool,
+etc.
+In the same way, the output data can be post-processed by any script to
+be transformed, compressed, sent over a network, displayed in a data
+analysis tool, etc.
+
+[](themis.png)
+
+> Post-processed Solstice outputs displayed in
+> [Paraview](https://www.paraview.orf).
+
+## A framework for data analysis
+
+Beside the simulation process, Solstice can output data to help in the
+*analysis* of the simulation results: it can output the *radiative
+paths* sampled during a simulation, as well as the solar plant
+*geometry* described in the OBJ file format.
+Thanks to these data, the user can quickly assert that too many
+radiative paths are occluded or miss the target, or that the primary
+reflectors are not correctly oriented.
+One can also map the simulation results to the solar plant geometry in
+order to efficiently visualise and analyse them using one's favorite
+data analysis toolkit.
+
+Solstice also provides *offline rendering* capabilities.
+It implements an unbiased physically-based rendering kernel that relies
+on the data and algorithmic tools used by the solver.
+This ensures that the rendered images give visual clues on how the light
+actually interacts with the geometry and the materials of the simulated
+solar plant.
+
+## Quick start
+
+Get the desired [archive](solstice-downloads.html) of Solstice and
+verify its integrity against its PGP signature.
+Then extract it.
+
+On Windows, open a command prompt into the Solstice bin directory and invoke the
+`solstice.exe` executable.
+You can alternatively register its directory into the `path` environment
+variable to expose the Solstice application to the system, allowing its
+invocation from any directory.
+
+ C:\Path\To\Solstice-@VERSION@-Win64\bin>solstice -h
+
+On GNU/Linux, source the provided `solstice.profile` file to
+register the Solstice installation for the current shell priorly to the
+invocation of the `solstice` program.
+
+ source ~/Solstice-@VERSION@-GNU-Linux64/etc/solstice.profile
+ solstice -h
+
+The Solstice *reference documentation* is located in the `share/man`
+sub-directory of Solstice.
+To consult it, just browse the HTML files in the `share/man/man1` and
+`share/man/man5` directories.
+On GNU/Linux, you can alternatively use the `man` tool.
+
+ man solstice
+ man solstice-input
+ man solstice-output
+ man solstice-receiver
+
+Refer to the
+[Absolute Beginner's Guide](solstice-resources.html#ABG)
+to learn fundamentals of Solstice; it relies on practical examples to
+introduce the functionalities of the program.
+
+## History
+
+Solstice was funded by the LABEX Solstice from 2016 to 2017.
+Visit the [LABEX](https://www.labex-solstice.fr/solstice-software)
+Solstice web page for complementary informations and examples.
+
+## License
+
+Copyright © 2018, 2019, 2021 [|Méso|Star>](mailto:contact@meso-star.com)
+Copyright © 2016, 2017, 2018 Centre National de la Recherche
+Scientifique (CNRS)
+
+Solstice is free software released under the GPLv3+ license: GNU GPL
+version 3 or later. You can freely study, modify or extend it.
+You are also welcome to redistribute it under certain conditions;
+refer to the [license](https://www.gnu.org/licenses/gpl.html) for
+details.
diff --git a/solstice/solstice_build.sh b/solstice/solstice_build.sh
@@ -26,7 +26,7 @@ overview()
fi
print_header -s Solstice -n Overview -r ../
- VERSION=$1 envsubst < solstice.html.in
+ sed "s/@VERSION@/$1/g" solstice.md.in | md2html
print_footer
}
diff --git a/stardis/Makefile b/stardis/Makefile
@@ -56,12 +56,10 @@ OVERVIEW_IMG=\
images/foam_path.jpg\
images/heatsink_anim.gif\
images/plot_insensib_MC.jpg\
- images/ramier_island.png\
images/ramier_island_sun.png\
thumbs/foam_path.jpg\
thumbs/heatsink_anim.gif\
thumbs/plot_insensib_MC.jpg\
- thumbs/ramier_island.jpg\
thumbs/ramier_island_sun.jpg
STARTER_PACK_IMG=\
@@ -141,7 +139,7 @@ stardis_build.sh: ../meso-menu.sh
################################################################################
# Stardis web page
################################################################################
-stardis.html: stardis.html.in $(OVERVIEW_IMG) stardis_build.sh Makefile
+stardis.html: stardis.md $(OVERVIEW_IMG) stardis_build.sh Makefile
@echo "Building $@"
@$(SHELL) stardis_build.sh overview \
$(SOLVER_VERSION) $(STARDIS_VERSION) $(SGREEN_VERSION) > $@
@@ -149,7 +147,7 @@ stardis.html: stardis.html.in $(OVERVIEW_IMG) stardis_build.sh Makefile
################################################################################
# Validation web page
################################################################################
-validation.html: validation.html.in $(VALIDATION_IMG) stardis_build.sh Makefile
+validation.html: validation.md $(VALIDATION_IMG) stardis_build.sh Makefile
@echo "Building $@"
@$(SHELL) stardis_build.sh validation > $@
diff --git a/stardis/stardis.md b/stardis/stardis.md
@@ -0,0 +1,380 @@
+# Stardis
+
+Stardis is a *thermal simulation* framework for *complex 2D and 3D
+environments*, based on new *Monte Carlo* algorithms built from
+reformulations of the main heat transfer phenomena: conduction,
+convection and radiation.
+A set of cross-recursive algorithms have then been derived, and result
+in the simulation of "*thermal paths*" that explore space and time until
+a boundary condition or an initial condition is found.
+The key concept here is that heat transfer phenomena are not considered
+separately but are *naturally coupled* via the cross-recursion of the
+various Monte Carlo algorithms.
+
+[](images/foam_path.jpg)
+
+> Example of conductive path sampled by Stardis in a foam geometry: it
+> starts from the probe position (green point) and after several
+> diffusive steps reaches a boundary condition (red point).
+
+Beyond its use as a regular thermal simulation tool, the Stardis
+framework explicitly targets engineers, researcher, teachers or students
+wishing to fully appropriate the *statistical formulation of heat
+transfer*, from theoretical concepts to practical implementation.
+The complete Stardis
+framework is thus released under [free license](#license)
+that guarantee the users the ability to freely use, study, modify or
+extend the complete source code according to their needs.
+
+Despite its specific advantages, Stardis is not meant to fully replace
+already well established and highly validated thermal simulation tools.
+Instead, it can be seen as an additional tool that can be useful for
+various purposes:
+
+- *Probe computation*: Stardis will _not_ compute the full temperature
+ field of a system;
+ instead, it can be used to focus on a specific
+ spatial/temporal zone of the system.
+
+- *Reference method*: the numerical uncertainty is a unique feature of
+ stochastic methods.
+ It can be reduced using a reformulation of the underlying integral for
+ specific problems, and possibly using better suited sampling
+ techniques.
+ Ultimately, the numerical uncertainty can also be reduced by
+ increasing the number of statistical samples.
+ Any value of temperature (or flux) computed by Stardis must agree with
+ the values computed by other tools, within the uncertainty range (and
+ also within the limits of validity of the various
+ [assumptions](#hypothesis) used to derive the Monte Carlo algorithms
+ used in Stardis).
+ This can prove very useful in order to validate any result obtained by
+ any thermal solver in a case when no analytic solution is available or
+ when a physical intuition is impossible to achieve due to the
+ complexity of the problem.
+
+- *Educational purposes*: since the various probability sets used by the
+ underlying Monte Carlo algorithms solely rely on the physics, thermal
+ paths naturally explore the spatial and temporal zones of interest in
+ the system.
+ This can be a drawback in some situations (the paths will have a hard
+ time exiting a highly conductive solid surrounded by non-conductive
+ media) but is a major asset for the [direct visualization](#visu) of
+ what contributes to a given result: the main sources of heat, what
+ transfer modes are dominant, what are the main paths of heat transfer,
+ etc.
+
+- *Sensitivity analysis*: the [Green functions](#green) of the system
+ (estimated and stored during an initial Monte Carlo computation) can
+ be reused for subsequent (very fast) post-processing computations.
+ This makes possible to explore the sensitivity of any given result to
+ the variations of a boundary or initial condition, or internal power
+ source.
+ This technique is only a small part of a family of so-called
+ "symbolic" Monte Carlo algorithms that extend the scope of sensitivity
+ analysis to any thermal parameter (for instance: the conductivity of a
+ given solid, a convective exchange coefficient or the emissivity of a
+ solid).
+
+<span id="insensib"/>
+
+[](images/plot_insensib_MC.jpg)
+
+> Stardis computation time as function of geometrical refinement.
+> Both the standard Monte Carlo computation and the Green function
+> construction and usage are insensitive.
+> In this example, once constructed, *using the Green function with any
+> new set of sources is 10³ times faster than Monte Carlo*.
+
+The Stardis framework is structured around *two main components*.
+The first one, [Stardis-Solver](#solver), is the core library that
+implements the Monte Carlo algorithms.
+The second one is the [Stardis application](#cli), a command line tool
+that can be seen as a reference implementation of a complete workflow
+relying on Stardis-Solver, from input data describing the system to
+simulate (geometry, thermal properties, limit conditions, etc.)
+to heat transfer simulation and results post-processing.
+See below for more information on each of these components.
+
+## Stardis-Solver
+
+[Stardis-Solver](https://gitlab.com/meso-star/stardis-solver.git) is the
+core library of Stardis:
+it simulates coupled convecto - conducto - radiative heat transfers by
+sampling thermal paths that explore space and time until a boundary
+condition or an initial condition is met.
+Note that this path formulation does not require *any volumetric mesh*:
+in addition of the thermal properties and the limit/boundary conditions,
+only the geometry defining the contours of the objects is necessary.
+
+<span id="hypothesis"/>
+
+The coupled Monte Carlo algorithms implemented into Stardis-Solver are
+based on the following hypothesis:
+
+- *Conduction*:
+ Stardis-Solver offers two ways of sampling unsteady Brownian motion to
+ solve for conductivity in a solid.
+ The [delta sphere](https://doi.org/10.1371/journal.pone.0283681)
+ algorithm is based on the discrimination of thermal heat transfer in
+ solids, which introduces the notion of conductive path length.
+ Solutions obtained using this algorithm are formally exact to the
+ limit of zero path length.
+ In practice, this path length must be adapted to a given geometrical
+ configuration so that its value is small compared to the smallest
+ typical space-time length of a solid.
+
+ As an alternative, the
+ [Walk on Sphere](https://www.jstor.org/stable/2237369)
+ algorithm samples an unbiased diffuse trajectory in a solid with
+ Dirichlet boundary conditions, unbiased with respect to what numerical
+ accuracy can account for.
+ Its coupling with other boundary or connection conditions behaves as
+ with the delta sphere algorithm, i.e. the solution is exact when the
+ length of the trajectory used as a first-order approximation tends
+ towards 0.
+
+- *Convection*: fluid media are supposed to be *isothermal*, even if
+ their temperature may vary with time.
+ This hypothesis relies on the assumption of perfectly agitated fluids.
+
+- *Radiation*:
+ local radiative transfer is solved by an
+ [iterative numerical method ](https://hal.archives-ouvertes.fr/tel-03266863/)
+ (Picard algorithm) that requires the knowledge of a reference
+ temperature field.
+ At the basic level (one level of recursion), and using a uniform
+ reference temperature field, this algorithm translates into the
+ hypothesis of a linearized radiative transfer.
+ Using a higher order or recursion makes possible to converge the
+ result closer to the solution of a rigorous spectrally-integrated
+ radiative transfer (a difference of temperatures to the power 4 when
+ integrated over the whole spectrum).
+ The higher the recursion order, the better will be the convergence of
+ the algorithm.
+
+The main functionalities provided by Stardis-Solver upon the aforementioned
+hypothesis are as follows:
+
+- *Probe computation*:
+ Stardis-Solver computes the temperature at any given position
+ (spatial and temporal).
+ The main idea is that thermal paths start from this probe position,
+ and scatter in space while going back in time, until a (spatial)
+ boundary condition or a (temporal) initial condition is met.
+ In addition to the value of temperature, using a Monte Carlo method
+ makes it possible to compute a *numerical uncertainty* (standard
+ deviation of the weight distribution) over each result.
+
+- *Integrated calculation*:
+ thanks to Monte Carlo, Stardis-Solver can calculate the temperature of
+ an entire volume or surface, over a given time range, without
+ increasing calculation time or uncertainty compared with a probe-based
+ calculation at a specific point in time.
+
+- *Flux computation*:
+ Stardis-Solver can compute the flux over any surface (or group of
+ surfaces) at any time.
+ Alternatively, it can also compute the total energy output from a
+ solid element where an internal source of power must be taken into
+ account.
+
+<span id="green"/>
+
+- *Green function*:
+ the value of temperature computed at a probe position is no more than
+ the mean of the Monte Carlo weights of a set of thermal paths.
+ In practice: when no internal power source has to be considered, the
+ weight of any given thermal path is the temperature of the boundary or
+ initial condition that has been reached;
+ when internal power sources or imposed fluxes are taken into account,
+ additional contributions to the weight must be continuously evaluated
+ by the thermal conduction algorithm, but these contributions are
+ proportional to the local dissipated power and imposed flux.
+
+ In any case, the position and date at the end of each thermal path (and also
+ accumulation coefficients) can be stored during a first complete Monte Carlo
+ simulation.
+ This information, known as the Green function, can then be used in a
+ ([very fast](#insensib)) post-processing step to compute all
+ required results for different boundary and initial conditions (and
+ also different internal power sources and imposed flux).
+
+- *Infrared rendering*:
+ Stardis can render a scene in infrared without prior knowledge of the
+ temperature field.
+ Thermal paths that start at the camera in radiative mode propagate
+ through the model, possibly in conductive, convective or radiative
+ mode until reaching a boundary condition (or an initial condition in a
+ non-stationary case).
+
+- *Temporal dynamics analysis*:
+ Stardis-Solver can output the end of each path sampled during a Monte
+ Carlo computation, including position, elapsed time, and
+ boundary/medium ID.
+ This not only allows to weight the contribution of each boundary or initial
+ condition to the result, but also gives the temporal dynamics of these
+ contributions.
+
+<span id="visu"/>
+
+- *Thermal path visualization*:
+ Stardis-Solver can output the complete history of a set of thermal
+ paths for later visualization.
+ In addition to positions and dates, physics data is stored along
+ thermal paths, such as the type of heat transfer phenomenon involved
+ at each step, the accumulated power and flux, etc.
+
+[](images/ramier_island_sun.png)
+
+> Infrared rendering by Stardis of a city district generated by
+> [City\_Generator2](https://gitlab.com/meso-star/city_generator2)
+> from the cadastral map of Ile du Ramier in Toulouse, France.
+> Temperature are given in Kelvin.
+> The coupled exchanges of convection, conduction and
+> radiation are evaluated within and between all buildings, i.e. in each
+> room, through every pane of glass and wall with insulation, via the
+> floor, etc.
+> Note that shadows are "heat" shadows produced by the sun defined as an
+> external source boundary condition.
+
+## Stardis CLI tools
+
+The stardis framework includes Command Line Interface (CLI) software, namely
+[stardis](man/man1/stardis.1.html)
+and
+[sgreen](man/man1/sgreen.1.html),
+to use along with Stardis-Solver.
+They make it easy to exploit the features of the solver.
+
+- *stardis*:
+ it is the main CLI tool of the Stardis framework.
+ It is a barebone front-end to the stardis solver.
+ Depending on the provided command line arguments, it simulates a
+ thermal system described through a simple text file and geometry files
+ and produces various types of output, from simple Monte Carlo results
+ to infrared images or Green functions.
+ Refer to its [manual page](man/man1/stardis.1.html) for more
+ informations.
+
+- *sgreen*
+ the purpose of `sgreen` is to post-process binary
+ green-function files produced by `stardis`.
+ It allows to apply a set of values to the initial and boundary
+ conditions as well as the power and flux sources of the model to
+ produce the same result a new simulation would produce.
+ The obvious benefit of using the `sgreen` post-process
+ instead of a new Monte Carlo simulation is the tremendous
+ improvement on computation time.
+ Refer to its [manual page](man/man1/sgreen.1.html) page for more
+ informations.
+
+[](images/heatsink_anim.gif)
+
+> Infrared timelapse animation of a chip and its heatsink covering a
+> 14-second period of time.
+> Computed using the stardis infrared rendering feature, one image per
+> simulated second.
+
+## Installation
+
+The installation of Stardis consists of compiling the solver and the
+command line tools directly on the target machine.
+A simple way is to rely on
+[star-build](https://gitlab.com/meso-star/star-build/),
+which automates the build and installation of `stardis` and
+its dependencies from source code.
+
+### Prerequisites
+
+To build `stardis` with `star-build`, first make sure your system has
+the following prerequisites:
+
+- POSIX shell
+- POSIX make
+- curl
+- git
+- mandoc
+- pkg-config
+- sha512sum
+- GNU Compiler Collection in version 8.3 or higher
+- OpenMPI library and headers in version 2 or higher (optional)
+
+### Build
+
+Assuming that the aforementioned prerequisites are available, the
+build procedure is summed up to:
+
+ ~ $ git clone https://gitlab.com/meso-star/star-build.git
+ ~ $ cd star-build
+ ~/star-build $ make \
+ PREFIX=/path/to/stardis/ \
+ BUILD=src/therm-apps/stardis_@STARDIS_VERSION@.sh
+
+With `PREFIX` defining the path where Stardis will be installed
+and `BUILD` defining the installation script to be run.
+
+By default, Stardis is built with MPI enabled, so OpenMPI is one of its
+requirements.
+To disable MPI support, simply set the `DISTRIB_PARALLELISM` parameter
+to NONE as follows:
+
+ ~/star-build $ make \
+ PREFIX=/path/to/stardis/ \
+ BUILD=src/therm-apps/stardis_@STARDIS_VERSION@.sh \
+ DISTRIB_PARALLELISM=NONE
+
+### Run
+
+Evaluate the installed `stardis.profile` file in the current
+shell to register `stardis` against it.
+You can then run `stardis` and consult its manual pages:
+
+ . /path/to/stardis/etc/stardis.profile
+ stardis -h
+ man stardis
+
+Refer to the [Stardis: Starter Pack](starter-pack.html) to quickly run a
+thermal simulation through the `stardis` CLI; this archive provides
+input data and scripts and is a good starting point to begin with the
+Stardis framework.
+
+## Related articles
+
+- [Caliot et al. 2024](https://doi.org/10.1016/j.ijheatmasstransfer.2023.125139),
+ "Coupled heat transfers resolution by Monte Carlo in urban geometry
+ including direct and diffuse solar irradiations", International
+ Journal of Heat and Mass Transfert
+ [open access](https://hal.science/hal-04251373)
+
+- [Penazzi et al. 2024](https://doi.org/10.1016/j.cpc.2023.108911),
+ "Path integrals formulations leading to propagator evaluation for
+ coupled linear physics in large geometric models", Computer Physic
+ Communications
+ [open access](https://hal.science/hal-04204702v2)
+
+- [Bati et al. 2023](https://dx.doi.org/10.1145/3592121),
+ "Coupling Conduction, Convection and Radiative Transfer in a Single
+ Path-Space: Application to Infrared Rendering", SIGGRAPH
+ [open access](https://hal.science/hal-04090428)
+
+- [Tregan et al. 2023](https://doi.org/10.1371/journal.pone.0283681),
+ "Coupling radiative, conductive and convective heat-transfers in a
+ single Monte Carlo algorithm: A general theoretical framework for
+ linear situations", PLOS ONE
+ [open access](https://hal.science/hal-03819157)
+
+- [Villefranque et al. 2022](https://doi.org/10.1126/sciadv.abp8934),
+ "The “teapot in a city”: A paradigm shift in urban climate modeling",
+ Science Advances
+ [open access](https://arxiv.org/abs/2204.14227)
+
+## License
+<span id="license"/>
+
+Stardis is free software released under the GPLv3+ license: GNU GPL
+version 3 or later.
+You can freely study, modify or extend it.
+You are also welcome to redistribute it under certain conditions; refer
+to the
+[license](https://www.gnu.org/licenses/gpl.html) for details.
diff --git a/stardis/stardis_build.sh b/stardis/stardis_build.sh
@@ -30,14 +30,14 @@ overview()
sed -e "s/@SOLVER_VERSION@/$1/g" \
-e "s/@STARDIS_VERSION@/$2/g" \
-e "s/@SGREEN_VERSION@/$3/g" \
- stardis.html.in
+ stardis.md | md2html
print_footer
}
validation()
{
print_header -s Stardis -n Validation -r ../
- cat validation.html.in
+ md2html validation.md
print_footer
}
diff --git a/stardis/thumbs/ramier_island.jpg b/stardis/thumbs/ramier_island.jpg
@@ -1 +0,0 @@
-#$# git-wad 898eca0fe89cda0f5a34c61116a21a703b97fe5e89afe9d25c7d05e97e1a87b5 41655
-\ No newline at end of file
diff --git a/stardis/thumbs/ramier_island_sun.jpg b/stardis/thumbs/ramier_island_sun.jpg
@@ -1 +1 @@
-#$# git-wad 98cc023dbf7a291075fbdf0959291d21c57153ee3ea9371d0647ded22facb049 54194
-\ No newline at end of file
+#$# git-wad 5c7303071d6d20114bf615369f2913eb71704f89dec777ad3a3da6295b3df0aa 72392
+\ No newline at end of file
diff --git a/stardis/validation.md b/stardis/validation.md
@@ -0,0 +1,151 @@
+# Validation
+
+In this webpage, we provide the references to validations of the Stardis
+code and the theoretical framework it is based on.
+
+1. We first present [validations against analytical model](#analytical),
+ which are directly provided in Stardis as non-regression tests.
+
+2. We then [refer to scientific papers](#papers) in which Monte Carlo
+ algorithms are compared to deterministic solvers on non trivial
+ configurations.
+
+3. Finally, we present [a validation test case of SYRTHES](#SYRTHES),
+ the thermal code developed by *Électricité de France*, which
+ provides both a finite element solver and a Monte Carlo solver
+ powered by Stardis.
+
+<span id="analytical"/>
+
+## Comparison against analytical results
+
+Stardis provides comparisons against analytical solutions.
+These non-regression tests are available in the `src/` directory of
+[Stardis Solver](https://gitlab.com/meso-star/stardis-solver/-/tree/master/src)
+(denoted by `test_*`).
+Note that the tests are performed on the direct Monte Carlo simulation
+and the propagator (path-replay with different conditions) when
+possible.
+For each test, the scene geometry and
+physical parameters are described in the header.
+Among these, we note the following tests:
+
+- [test\_sdis\_conducto\_radiative.c](https://gitlab.com/meso-star/stardis-solver/-/blob/master/src/test_sdis_conducto_radiative.c)
+ validates the steady resolution of the coupled conduction and
+ radiative transfer in a solid surrounded by two different fluids
+ (left/right faces).
+
+- [test\_sdis\_convection\_non\_uniform.c](https://gitlab.com/meso-star/stardis-solver/-/blob/master/src/test_sdis_convection_non_uniform.c)
+ validates the transient resolution of the convection for a fluid
+ inside a cube with faces of different known temperatures.
+
+- [test\_sdis\_transient.c](https://gitlab.com/meso-star/stardis-solver/-/blob/master/src/test_sdis_transcient.c)
+ validates the transient resolution of conduction in nested cubes.
+
+- [test\_sdis\_solve\_boundary.c](https://gitlab.com/meso-star/stardis-solver/-/blob/master/src/test_sdis_solve_boundary.c)
+ validates the steady computation of the boundary temperature on a
+ solid cube interfaced with a fluid with known temperature.
+
+- [test\_random\_walk\_robustness.c](https://gitlab.com/meso-star/stardis-solver/-/blob/master/src/test_sdis_solid_random_walk_robustness.c)
+ validates the random walk in a solid with / without a source term in
+ complex geometry.
+
+<span id="papers"/>
+
+## Cross-comparison against deterministic solvers
+
+Stardis is also validated against usual deterministic codes, on more
+complex geometries where no analytical solution exists.
+We list here the academic papers which include such validations and
+provide a description of the configuration and mention the code used for
+comparison.
+
+1. [Penazzi et al.](https://doi.org/10.1016/j.cpc.2023.108911),
+ "Path integral formulations leading to propagator evaluation for
+ coupled linear physics in large geometric models", Computer Physics
+ Communications 2024, appendix C.
+ - Validation against [COMSOL](https://www.comsol.fr/)
+ - Solid with fluid cavities
+ - Coupled conduction, convection (perfectly mixed cavity) and
+ radiation; homogeneous coefficients
+ - Stationary state
+ - Validation of the propagator
+
+2. [Ibarrart et al.](https://hal.science/hal-03818899v2),
+ "Advection, diffusion and linear transport in a single path-sampling
+ Monte-Carlo algorithm: getting insensitive to geometrical
+ refinement", Preprint 2022, figures F.9 and F.10.
+ - Validation against [COMSOL](https://www.comsol.fr/) or
+ [ANSYS Fluent](https://www.ansys.com/products/fluids/ansys-fluent)
+ - Poiseille duct or Kelvin cells
+ - Coupled conduction, convection (with advection) and radiative
+ transfer; homogeneous coefficients
+ - Stationary state
+
+3. [Caliot et al.](https://hal.science/hal-02096305v1),
+ "Combined conductive-radiative heat transfer analysis in complex geometry
+ using the Monte Carlo method", Eurotherm 2018, figures 6 to 9.
+ - Validation againsta
+ [ANSYS Fluent](https://www.ansys.com/products/fluids/ansys-fluent)
+ - Kelvin cells
+ - Coupled conduction and radiative transfer
+ - Stationary state
+
+4. [Retailleau et al](https://hal.science/hal-04059892),
+ "Résolution d’un problème de transferts thermiques couplés en géométrie
+ urbaine par la méthode Monte Carlo", in SFT 2023, figure 4.
+ - Validation against finite differences
+ - Slab with Robin conditions
+ - Coupled conduction, convection (perfectly mixed cell) and
+ radiative transfer
+ - Un-stationary state
+
+<span id="SYRTHES"/>
+
+## Stardis in SYRTHES
+
+Stardis is used in the
+[SYRTHES](https://www.edf.fr/en/the-edf-group/inventing-the-future-of-energy/r-d-global-expertise/our-offers/simulation-softwares/syrthes)
+code of the French electric company *Électricité de France*.
+Both deterministic and stochastic resolutions can therefore be compared
+on the exact same CAD input.
+Here we provide the validation on one stationary test case of
+conduction inside a [square](#figure1).
+Both the finite elements and the Monte Carlo (using Stardis) resolutions
+are [compared](#figure2).
+
+<span id="figure1"/>
+
+<figure style="text-align: center">
+ <img src="images/geometry.svg" alt="geometry"
+ style="width: 50%; display: inline;">
+ <a href="images/temperature.png">
+ <img src="images/temperature.png" alt="temperature"
+ style="width: 45%; display: inline;">
+ </a>
+</figure>
+
+> The left figure describes the configuration of the test case.
+> The system to be simulated is a solid square with one edge having a
+> known temperature.
+> Another edge has a convective exchange with a fluid whose temperature
+> is also known.
+> The two other edges are adiabatic.
+> The right image illustrates the temperature field corresponding to
+> this configuration at steady state.
+
+<span id="figure2"/>
+
+[](images/TprofY.png)
+[](images/TprofX.png)
+
+> Validation of the Finite element solver and the Monte Carlo solver
+> (i.e. Stardis) of SYRTHES against the analytical solution of the test
+> case [presented above](#figure1).
+> Both curves are computed at steady state at probe positions varying
+> along the X axis (Top) or the Y axis (Bottom).
+
+The version of SYRTHES used for this validation is still on development
+and available on-demand.
+Please [contact us](mailto:contact@meso-star.com) to obtain this
+version.