commit fe60662d41ac9b56bd8bfdc4b85693fd0b948abd
parent 4693713fb80d5c1ed801df05e08b70210d244808
Author: Vincent Forest <vincent.forest@meso-star.com>
Date: Fri, 20 Jun 2025 08:45:58 +0200
Stardis: complete Markdown translation
Make Markdown the main source language. This makes the source simpler
to read and write, and easier to translate into any target, even if up
to now only WEB pages have been generated.
Document composition is simplified, since Markdown is much more concise
than HTML, which it does not seek to replace. Their content has been
updated accordingly. These "constraints" force simple editing, and
that's for the better. Pages are less overloaded and their sources are
much more independent of their layout than before. This makes it even
easier to write content without worrying about layout.
Diffstat:
15 files changed, 328 insertions(+), 1007 deletions(-)
diff --git a/Makefile b/Makefile
@@ -27,7 +27,7 @@ SCRIPTS=\
convert_mdoc.sh\
meso-menu.sh
-build:
+build:
@for subdir in $(SUBDIRS); do \
printf "\e[1m>>> %s\e[0m\n" $$subdir; \
$(MAKE) -C $${subdir}; echo ""; done
@@ -62,6 +62,6 @@ install: htaccess
@rsync -avzrR --delete-after --progress\
solstice.html .htaccess fonts meso.css ${PREFIX}
-htaccess:
+htaccess:
@echo "Building $@"
@$(SHELL) build_htaccess.sh /$$(basename "$(PREFIX)") > .htaccess
diff --git a/stardis/.gitignore b/stardis/.gitignore
@@ -1,12 +1,16 @@
+Stardis-*-GNU-Linux64/
+Stardis-Starter-Pack-*/
consortium*.html
release-notes.html
-stardis.html
+sgreen-release-notes.html
+sgreen-release-notes.md
stardis-docs.html
-starter-pack.html
stardis-release-notes.html
+stardis-release-notes.md
stardis-solver-release-notes.html
-sgreen-release-notes.html
+stardis-solver-release-notes.md
+stardis.html
starter-pack.html
-Stardis-*-GNU-Linux64/
-Stardis-Starter-Pack-*/
+starter-pack.html
+starter-pack.md
validation.html
diff --git a/stardis/Makefile b/stardis/Makefile
@@ -100,7 +100,7 @@ HTML=\
validation.html
build: .sig .man
- @$(MAKE) -fMakefile -f .sig -f .man build_all
+ $(MAKE) -fMakefile -f .sig -f .man build_all
build_all: $(HTML) man
@@ -108,9 +108,10 @@ clean:
@echo "Cleaning generated files"
@rm -rf man
@rm -f .sig .man .lint\
- stardis-release-notes.html.in\
- stardis-green-release-notes.html.in\
- stardis-solver-release-notes.html.in\
+ stardis-release-notes.*\
+ sgreen-release-notes.*\
+ starter-pack.md\
+ stardis-solver-release-notes.*\
$(HTML)\
$(HTML:=.err)
@@ -154,42 +155,57 @@ validation.html: validation.md $(VALIDATION_IMG) stardis_build.sh Makefile
################################################################################
# Consortium web pages
################################################################################
-consortium-fr.html: consortium-fr.html.in $(CONSORTIUM_IMG) stardis_build.sh Makefile
+consortium-fr.html: consortium-fr.md $(CONSORTIUM_IMG) stardis_build.sh Makefile
@echo "Building $@"
@$(SHELL) stardis_build.sh consortium fr > $@
-consortium-en.html: consortium-en.html.in $(CONSORTIUM_IMG) stardis_build.sh Makefile
+consortium-en.html: consortium-en.md $(CONSORTIUM_IMG) stardis_build.sh Makefile
@echo "Building $@"
@$(SHELL) stardis_build.sh consortium en > $@
################################################################################
# Reference documentation
################################################################################
-stardis-docs.html: stardis-docs.html.in stardis_build.sh
+stardis-docs.html: stardis-docs.md stardis_build.sh
@echo "Building $@"
@$(SHELL) stardis_build.sh documentations > $@
-
+
################################################################################
# Release notes
################################################################################
-release-notes.html: release-notes.html.in stardis_build.sh
+release-notes.html: release-notes.md stardis_build.sh
@echo "Building $@"
@$(SHELL) stardis_build.sh release_notes_list > $@
-stardis-release-notes.html: $(STARDIS_README) stardis_build.sh
- @echo "Building $@"
- @$(SHELL) stardis_build.sh release_notes stardis\
- "$(STARDIS_README)" > $@
+stardis-release-notes.md: $(STARDIS_README)
+stardis-solver-release-notes.md: $(STARDIS_SOLVER_README)
+sgreen-release-notes.md: $(STARDIS_GREEN_README)
-sgreen-release-notes.html: $(STARDIS_GREEN_README) stardis_build.sh
- @echo "Building $@"
- @$(SHELL) stardis_build.sh release_notes stardis-green\
- "$(STARDIS_GREEN_README)" > $@
+stardis-release-notes.html: stardis-release-notes.md
+stardis-solver-release-notes.html: stardis-solver-release-notes.md
+sgreen-release-notes.html: sgreen-release-notes.md
-stardis-solver-release-notes.html: $(STARDIS_SOLVER_README) stardis_build.sh
+stardis-release-notes.md \
+stardis-solver-release-notes.md \
+sgreen-release-notes.md:
@echo "Building $@"
- @$(SHELL) stardis_build.sh release_notes stardis-solver\
- "$(STARDIS_SOLVER_README)" > $@
+ @case "$@" in \
+ stardis-solver*) dir="stardis-solver" ;; \
+ stardis*) dir="stardis" ;; \
+ sgreen*) dir="stardis-green" ;; \
+ *) exit 1 ;; \
+ esac; \
+ readme="$(STARDIS_DIR)/share/doc/$${dir}/README.md"; \
+ { sed -n '/^# /p' "$${readme}"; \
+ sed -n '/^## Release notes/,/^## License/p' "$${readme}" \
+ | sed -e '1d' -e '$$d' -e 's/^#//'; \
+ } > $@
+
+stardis-release-notes.html \
+stardis-solver-release-notes.html \
+sgreen-release-notes.html:
+ @echo "Building $@"
+ @$(SHELL) stardis_build.sh release_notes "$@" > $@
$(STARDIS_ARCH_FILES):
@echo "Extracting data from $(STARDIS_ARCH)"
@@ -198,14 +214,13 @@ $(STARDIS_ARCH_FILES):
################################################################################
# Starter pack web pages
################################################################################
-starter-pack.html:\
- $(STARTER_PACK_IMG) \
- $(STARTER_PACK_SIG) \
- $(STARTER_PACK_README) \
- stardis_build.sh \
- Makefile
+starter-pack.html: starter-pack.md stardis_build.sh
@echo "Building $@"
- @$(SHELL) stardis_build.sh starter_pack $(STARTER_PACK_README) $(STARTER_PACK_VERSION) > $@
+ @$(SHELL) stardis_build.sh starter_pack2 < starter-pack.md > $@
+
+starter-pack.md: $(STARTER_PACK_README) $(STARTER_PACK_IMG) stardis_build.sh
+ @$(SHELL) stardis_build.sh starter_pack \
+ "$(STARTER_PACK_README)" "$(STARTER_PACK_VERSION)" > $@
$(STARTER_PACK_README):
@echo "Extracting data from $(STARTER_PACK_ARCH)"
diff --git a/stardis/consortium-en.html.in b/stardis/consortium-en.html.in
@@ -1,97 +0,0 @@
-<header>
- <h1>The Stardis consortium</h1>
-</header>
-
-<p>The Stardis consortium is intended for engineers and researchers
-who are willing to be fully autonomous when using Stardis; this includes:</p>
-
-<ul>
- <li>the possibility to integrate Stardis in their current heat transfer
- simulation toolchain;</li>
- <li>the capacity to modify the code for specific purposes;</li>
- <li>a detailled understanding of underlying algorithms;</li>
- <li>a participation to development choices.</li>
-</ul>
-
-<p>The <a href=https://www.gnu.org/licenses/gpl-3.0.html>free license</a> of
-the Stardis environment already grants its users the right to freely run the
-software, study its behavior, modify its source code or redistribute it. In
-addition, the consortium provides its members with <b>long-term training</b>,
-in direct contact with the Stardis <a
-href="http://www.demonstrator.edstar.cnrs.fr/prod/fr/#platform_researchers">development
-team</a>. Consortium members are also invited to take an active role in the
-scientific and technical management of the project.</p>
-
-<p>All consortium members sit at the <b>consortium committee</b>. This
-committee is gathered once a year, reviews achievements and the allocation of
-resources for the past year. Its function is also to debate orientation and
-development choices for the future.</p>
-
-<p>From an administrative point of view, the Stardis consortium is not a legal
-structure; it is a <b>service offer</b> proposed by <a
-href=mailto:contact@meso-star.com>|Méso|Star></a>. Joining the consortium
-simply comes down to subscribing to this service offer.</p>
-
-<h2>Annual rates</h2>
-
-<p>The cost of joining the consortium depends on the <a
-href=https://www.economie.gouv.fr/cedef/definition-petites-et-moyennes-entreprises>size</a>
-and type of member organization, and the length of
-subscription.</p>
-
-<table class="list" style="width: 80%;">
- <tr>
- <th></th>
- <th>1 year</th>
- <th>2 years</th>
- <th>3 years</th>
- </tr>
- <tr>
- <td style="text-align: left; font-variant: small-caps; font-weight: bold;">
- Large or medium-sized entreprises
- </td>
- <td>20 k€</td>
- <td>36 k€</td>
- <td>48 k€</td>
- </tr>
- <tr>
- <td style="text-align: left; font-variant: small-caps; font-weight: bold;">
- Small enterprises
- </td>
- <td>5 k€</td>
- <td>9 k€</td>
- <td>12 k€</td>
- </tr>
- <tr>
- <td style="text-align: left; font-variant: small-caps; font-weight: bold;">
- Non-profit research institutes
- </td>
- <td>5 k€</td>
- <td>9 k€</td>
- <td>12 k€</td>
- </tr>
- <tr>
- <td style="text-align: left; font-variant: small-caps; font-weight: bold;">
- Micro Entreprises
- </td>
- <td>2 k€</td>
- <td>3.6 k€</td>
- <td>4.8 k€</td>
- </tr>
-</table>
-
-<p>We invite you to <a href="mailto:contact@meso-star.com">contact us</a> to
-receive a copy of the contract that formalizes the service and details the
-functioning of the consortium.</p>
-
-<h2>List of consortium members</h2>
-
-<ul style="list-style-type: none;">
- <li style="padding-bottom: 1.0em;"><img alt="Airbus logo"
- src="images/airbus_logo.svg" style="vertical-align: middle; padding-right:
- 1em; width: 4em;"/>Airbus SAS</li>
- <li style="padding-bottom: 1.0em;"><img alt="EDF logo"
- src="images/edf_logo.svg" style="vertical-align: middle; padding-right: 1em;
- width: 4em;" />Électricité de France Research &
- Dévelopment</li>
-</ul>
diff --git a/stardis/consortium-en.md b/stardis/consortium-en.md
@@ -0,0 +1,94 @@
+# The Stardis consortium
+
+The Stardis consortium is intended for engineers and researchers
+who are willing to be fully autonomous when using Stardis; this includes:
+
+- the possibility to integrate Stardis in their current heat transfer
+ simulation toolchain.
+- the capacity to modify the code for specific purposes.
+- a detailled understanding of underlying algorithms.
+- a participation to development choices.
+
+The [free license](https://www.gnu.org/licenses/gpl-3.0.html) of the
+Stardis environment already grants its users the right to freely run the
+software, study its behavior, modify its source code or redistribute it.
+In addition, the consortium provides its members with *long-term training*,
+in direct contact with the Stardis
+[development team](http://www.demonstrator.edstar.cnrs.fr/prod/fr/#platform_researchers).
+Consortium members are also invited to take an active role in the
+scientific and technical management of the project.
+
+All consortium members sit at the *consortium committee*.
+This committee is gathered once a year, reviews achievements and the
+allocation of resources for the past year.
+Its function is also to debate orientation and development choices for
+the future.
+
+From an administrative point of view, the Stardis consortium is not a legal
+structure; it is a *service offer* proposed by
+[|Méso|Star>](mailto:contact@meso-star.com).
+Joining the consortium simply comes down to subscribing to this service
+offer.
+
+## Annual rates
+
+The cost of joining the consortium depends on the
+[size](https://www.economie.gouv.fr/cedef/definition-petites-et-moyennes-entreprises)
+and type of member organization, and the length of subscription.
+
+<table style="margin-left: auto; margin-right: auto;">
+ <tr>
+ <th style="width: 20em"></th>
+ <th style="width: 4em">1 year</th>
+ <th style="width: 4em">2 years</th>
+ <th style="width: 4em">3 years</th>
+ </tr>
+ <tr>
+ <td>Large or medium-sized entreprises</td>
+ <td>20 k€</td>
+ <td>36 k€</td>
+ <td>48 k€</td>
+ </tr>
+ <tr>
+ <td>Small enterprises</td>
+ <td>5 k€</td>
+ <td>9 k€</td>
+ <td>12 k€</td>
+ </tr>
+ <tr>
+ <td>Non-profit research institutes</td>
+ <td>5 k€</td>
+ <td>9 k€</td>
+ <td>12 k€</td>
+ </tr>
+ <tr>
+ <td>Micro Entreprises</td>
+ <td>2 k€</td>
+ <td>3.6 k€</td>
+ <td>4.8 k€</td>
+ </tr>
+</table>
+
+We invite you to [contact us](mailto:contact@meso-star.com) to receive a
+copy of the contract that formalizes the service and details the
+functioning of the consortium.
+
+## List of consortium members
+
+<img alt="Airbus logo" src="images/airbus_logo.svg"
+ style="
+ display: inline;
+ width: 4em;
+ padding: 0 1em 0 1em;
+ vertical-align: middle;
+">
+Airbus SAS
+
+<img alt="EDF logo" src="images/edf_logo.svg"
+ style="
+ display: inline;
+ width: 4em;
+ padding: 0 1em 0 1em;
+ vertical-align: middle;
+">
+Électricité de France Research & Development
diff --git a/stardis/consortium-fr.html.in b/stardis/consortium-fr.html.in
@@ -1,96 +0,0 @@
-<header>
- <h1>Le consortium Stardis</h1>
-</header>
-
-<p>Le consortium Stardis s'adresse aux ingénieurs et chercheurs désireux
-d'acquérir la pleine maîtrise de Stardis. Par pleine maîtrise on
-entend :</p>
-
-<ul>
- <li>la capacité d'intégrer Stardis dans sa pratique de thermicien ;</li>
- <li>la capacité de modifier le code pour ses besoins spécifiques ;</li>
- <li>une compréhension fine des algorithmes ;</li>
- <li>la participation aux choix de développement.</li>
-</ul>
-
-<p>La licence libre de l'environnement Stardis garantit déjà à ses utilisateurs
-la capacité d'exécuter librement ces logiciels, d'en étudier le comportement,
-d'en modifier le code source ou de les redistribuer. Le consortium apporte en
-plus à ses adhérents un <b>accompagnement de temps long</b> au plus près de <a
-href=http://www.demonstrator.edstar.cnrs.fr/prod/fr/#platform_researchers>l'ensemble
-de l'équipe</a> qui co-développe Stardis. Il leur permet également de
-participer aux directions scientifiques et techniques qui pilotent le
-projet.</p>
-
-<p>Tous les membres du consortium siègent au <b>Comité de Consortium</b>.
-Celui-ci se réunit une fois par an pour faire le bilan des réalisations et de
-l'allocation des ressources de l'année écoulée. C'est au cours de ce Comité de
-Consortium que sont aussi débattus les choix d'orientation et de développement
-de Stardis.</p>
-
-<p>D'un point de vue administratif, le consortium Stardis n'est pas une
-structure juridique ; c'est une <b>offre de service</b> proposée par <a
-href=mailto:contact@meso-star.com>|Méso|Star></a>. Rejoindre le consortium
-se résume simplement à souscrire cette offre de service.</p>
-
-<h2>Tarifs annuels</h2>
-
-<p>Le montant de l'adhésion au consortium dépend de la <a
-href="https://www.economie.gouv.fr/cedef/definition-petites-et-moyennes-entreprises">taille</a>
-et du type de l'organisation membre, et de la durée d'engagement.</p>
-
-<table class="list" style="width: 80%;">
- <tr>
- <th></th>
- <th>1 an</th>
- <th>2 ans</th>
- <th>3 ans</th>
- </tr>
- <tr>
- <td style="text-align: left; font-variant: small-caps; font-weight: bold;">
- Entreprises grandes et moyennes
- </td>
- <td>20 k€</td>
- <td>36 k€</td>
- <td>48 k€</td>
- </tr>
- <tr>
- <td style="text-align: left; font-variant: small-caps; font-weight: bold;">
- Petites entreprises
- </td>
- <td>5 k€</td>
- <td>9 k€</td>
- <td>12 k€</td>
- </tr>
- <tr>
- <td style="text-align: left; font-variant: small-caps; font-weight: bold;">
- Établissements publics de recherche
- </td>
- <td>5 k€</td>
- <td>9 k€</td>
- <td>12 k€</td>
- </tr>
- <tr>
- <td style="text-align: left; font-variant: small-caps; font-weight: bold;">
- Micro entreprises
- </td>
- <td>2 k€</td>
- <td>3.6 k€</td>
- <td>4.8 k€</td>
- </tr>
-</table>
-
-<p>Nous vous invitons à nous <a href=mailto:contact@meso-star.com>contacter</a>
-pour recevoir un exemplaire du contrat qui formalise le service et détaille le
-fonctionnement du consortium.</p>
-
-<h2>Liste des membres du consortium</h2>
-
-<ul style="list-style-type: none;">
- <li style="padding-bottom: 1.0em;"><img alt="Airbus logo"
- src="images/airbus_logo.svg" style="vertical-align: middle; padding-right:
- 1em; width: 4em;"/>Airbus SAS</li>
- <li style="padding-bottom: 1.0em"><img alt="EDF logo"
- src="images/edf_logo.svg" style="vertical-align: middle; padding-right: 1em; width: 4em;"
- />Électricité de France Recherche & Développement</li>
-</ul>
diff --git a/stardis/consortium-fr.md b/stardis/consortium-fr.md
@@ -0,0 +1,96 @@
+# Le consortium Stardis
+
+Le consortium Stardis s'adresse aux ingénieurs et chercheurs désireux
+d'acquérir la pleine maîtrise de Stardis. Par pleine maîtrise on
+entend :
+
+- la capacité d'intégrer Stardis dans sa pratique de thermicien ;
+- la capacité de modifier le code pour ses besoins spécifiques ;
+- une compréhension fine des algorithmes ;
+- la participation aux choix de développement.
+
+La licence libre de l'environnement Stardis garantit déjà à ses
+utilisateurs la capacité d'exécuter librement ces logiciels, d'en
+étudier le comportement, d'en modifier le code source ou de les
+redistribuer.
+Le consortium apporte en plus à ses adhérents un *accompagnement de
+temps long* au plus près de
+[l'ensemble de l'équipe](http://www.demonstrator.edstar.cnrs.fr/prod/fr/#platform_researchers)
+qui co-développe Stardis.
+Il leur permet également de participer aux directions scientifiques et
+techniques qui pilotent le projet.
+
+Tous les membres du consortium siègent au *Comité de Consortium*.
+Celui-ci se réunit une fois par an pour faire le bilan des réalisations
+et de l'allocation des ressources de l'année écoulée.
+C'est au cours de ce Comité de Consortium que sont aussi débattus les
+choix d'orientation et de développement de Stardis.
+
+D'un point de vue administratif, le consortium Stardis n'est pas une
+structure juridique ; c'est une *offre de service* proposée par
+[|Méso|Star>](mailto:contact@meso-star.com).
+Rejoindre le consortium se résume simplement à souscrire cette offre de
+service.
+
+## Tarifs annuels
+
+Le montant de l'adhésion au consortium dépend de la
+[taille](https://www.economie.gouv.fr/cedef/definition-petites-et-moyennes-entreprises)
+et du type de l'organisation membre, et de la durée d'engagement.
+
+<table style="margin-left: auto; margin-right: auto;">
+ <tr>
+ <th style="width: 20em"></th>
+ <th style="width: 4em">1 an</th>
+ <th style="width: 4em">2 ans</th>
+ <th style="width: 4em">3 ans</th>
+ </tr>
+ <tr>
+ <td>Entreprises grandes et moyennes</td>
+ <td>20 k€</td>
+ <td>36 k€</td>
+ <td>48 k€</td>
+ </tr>
+ <tr>
+ <td>Petites entreprises</td>
+ <td>5 k€</td>
+ <td>9 k€</td>
+ <td>12 k€</td>
+ </tr>
+ <tr>
+ <td>Établissements publics de recherche</td>
+ <td>5 k€</td>
+ <td>9 k€</td>
+ <td>12 k€</td>
+ </tr>
+ <tr>
+ <td>Micro entreprises</td>
+ <td>2 k€</td>
+ <td>3.6 k€</td>
+ <td>4.8 k€</td>
+ </tr>
+</table>
+
+Nous vous invitons à nous [contacter](mailto:contact@meso-star.com)
+pour recevoir un exemplaire du contrat qui formalise le service et
+détaille le fonctionnement du consortium.
+
+## Liste des membres du consortium
+
+<img alt="Airbus logo" src="images/airbus_logo.svg"
+ style="
+ display: inline;
+ width: 4em;
+ padding: 0 1em 0 1em;
+ vertical-align: middle;
+">
+Airbus SAS
+
+<img alt="EDF logo" src="images/edf_logo.svg"
+ style="
+ display: inline;
+ width: 4em;
+ padding: 0 1em 0 1em;
+ vertical-align: middle;
+">
+Électricité de France Recherche & Développement
diff --git a/stardis/release-notes.md b/stardis/release-notes.md
@@ -0,0 +1,5 @@
+# Release notes
+
+- [Stardis Solver](stardis-solver-release-notes.html)
+- [Stardis](stardis-release-notes.html)
+- [Stardis Green](sgreen-release-notes.html)
diff --git a/stardis/stardis-docs.html.in b/stardis/stardis-docs.html.in
@@ -1,21 +0,0 @@
-<header>
- <h1>Stardis
- <span class=subtitle>
- Reference documentation
- </span>
- </h1>
-</header>
-
-<h3>Stardis</h3>
-<ul>
- <li><a href=man/man1/stardis.1.html>stardis(1)</a></li>
- <li><a href=man/man5/stardis-input.5.html>stardis-input(5)</a></li>
- <li><a href=man/man5/stardis-output.5.html>stardis-output(5)</a></li>
-</ul>
-
-<h3>Stardis Green</h3>
-<ul>
- <li><a href=man/man1/sgreen.1.html>sgreen(1)</a></li>
- <li><a href=man/man5/sgreen-input.5.html>sgreen-input(5)</a></li>
- <li><a href=man/man5/sgreen-output.5.html>sgreen-output(5)</a></li>
-</ul>
diff --git a/stardis/stardis-docs.md b/stardis/stardis-docs.md
@@ -0,0 +1,13 @@
+# Reference documentation
+
+## Stardis
+
+- [stardis(1)](man/man1/stardis.1.html)
+- [stardis-input(5)](man/man5/stardis-input.5.html)
+- [stardis-output(5)](man/man5/stardis-output.5.html)
+
+## Stardis Green
+
+- [sgreen(1)](man/man1/sgreen.1.html)
+- [sgreen-input(5)](man/man5/sgreen-input.5.html)
+- [sgreen-output(5)](man/man5/sgreen-output.5.html)
diff --git a/stardis/stardis.html.in b/stardis/stardis.html.in
@@ -1,479 +0,0 @@
-<header>
- <h1>Stardis
- <span class=subtitle>
- The Monte Carlo framework for coupled thermal problems
- </span>
- </h1>
-</header>
-
-<div class="news">
- <p><b>Lastest versions</b></p>
- <ul>
- <li>
- Stardis Solver
- <a href="https://gitlab.com/meso-star/stardis-solver/-/tree/@SOLVER_VERSION@">
- @SOLVER_VERSION@
- </a>
- </li><li>
- Stardis
- <a href="https://gitlab.com/meso-star/stardis/-/tree/@STARDIS_VERSION@">
- @STARDIS_VERSION@
- </a>
- </li><li>
- Stardis Green
- <a href="https://gitlab.com/meso-star/stardis-green/-/tree/@SGREEN_VERSION@">
- @SGREEN_VERSION@
- </a>
- </li>
- </ul>
- <a href="#build">Install</a> from source
-</div>
-
-<p>Stardis is a <b>thermal simulation</b> framework for <b>complex 2D and 3D
-environments</b>, based on new <b>Monte Carlo</b> 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 "<b>thermal paths</b>" 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
-<b>naturally coupled</b> via the cross-recursion of the various Monte Carlo
-algorithms.</p>
-
-<div class="news">
- <p>Refer to the <a href=consortium-fr.html>Stardis consortium's</a>
- service offer for long-term <b>advices</b> on its use,
- <b>contribute</b> to orientation choices and <b>interact</b> with its
- developers and other users.</p>
-</div>
-
-<p>Beyond its use as a regular thermal simulation tool, the Stardis framework
-explicitly targets engineers, researcher, teachers or students wishing to
-fully appropriate the <b>statistical formulation of heat transfer</b>, from
-theoretical concepts to practical implementation. The complete Stardis
-framework is thus released under <b><a href="#license">free licenses</a></b>
-that guarantee the users the ability to freely use, study, modify or extend
-the complete source code according to their needs.</p>
-
-<p>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:</p>
-
-<div class="news">
- <p><b>Related articles</b></p>
- <ul>
- <li><p>
- <a href="https://doi.org/10.1016/j.ijheatmasstransfer.2023.125139">
- Caliot et al.</a>
- <br>(IJHMT 2024)
- <br><a href="https://hal.science/hal-04251373">open access</a>
- </p></li>
- <li><p>
- <a href="https://doi.org/10.1016/j.cpc.2023.108911">Penazzi et al.</a>
- <br>(Computer Physics Communications 2024)
- <br><a href="https://hal.science/hal-04204702v2">open access</a>
- <br>
- </p></li>
- <li><p>
- <a href="https://dx.doi.org/10.1145/3592121">Bati et al.</a>
- <br>(SIGGRAPH 2023)
- <br><a href="https://hal.science/hal-04090428">open access</a>
- </p></li>
- <li><p>
- <a href="https://doi.org/10.1371/journal.pone.0283681">Tregan et al.</a>
- <br>(PLOS ONE 2023)
- <br><a href="https://hal.science/hal-03819157">open access</a>
- </p></li>
- <li><p>
- <a href="https://doi.org/10.1126/sciadv.abp8934">Villefranque et al.</a>
- <br>(Science Advances 2022)
- <br><a href="https://arxiv.org/abs/2204.14227">open access</a>
- </p></li>
- </ul>
-</div>
-
-<ul>
- <li><p>
- <b>Probe computation</b>:
- Stardis will <u>not</u> compute the full temperature field of a system;
- instead, it can be used to focus on a specific spatial/temporal zone of the
- system.
- </p></li>
- <li><p>
- <b>Reference method</b>:
- 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
- <a href="#hypothesis">assumptions</a> 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.
- </p></li>
- <li>
- <div class="img" style="width: 18em">
- <a href="images/foam_path.jpg">
- <img src="thumbs/foam_path.jpg" alt="foam_path">
- </a>
- <div class="caption">
- 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).
- </div>
- </div>
- <p>
- <b>Educational purposes</b>:
- 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 <a href="#visu">direct visualization</a> 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, <i>etc.</i>
- </p></li>
- <li><p>
- <b>Sensitivity analysis</b>:
- the <a href="#green">Green functions</a> 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).
- </p></li>
-</ul>
-
-<p>The Stardis framework is structured around <b>two main components</b>. The
-first one, <a href="#solver">Stardis-Solver</a>, is the core library that
-implements the Monte Carlo algorithms. The second one is the <a
-href="#cli">Stardis application</a>, 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, <i>etc.</i>) to heat transfer simulation and results
-post-processing. See below for more information on each of these components.</p>
-
-<h2 id="solver">Stardis-Solver</h2>
-
-<div class="img" style="width: 18em;">
- <a href="images/heatsink_anim.gif">
- <img src="thumbs/heatsink_anim.gif" alt="heatsink">
- </a>
- <div class="caption">
- 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. Acknowledgment to
- Léa Penazzi and
- <a href=https://www.icam.fr/enseignant-chercheur/anne-castelan/>Anne
- Castelan</a> for the scene geometry (also available in <a
- href=starter-pack.html>Stardis: Starter Pack</a>) actually used in an
- upcoming research article, and to <a
- href=https://www.imt-mines-albi.fr/fr/eibner-simon>Simon Eibner</a> who
- computed the animation.
- </div>
-</div>
-
-<p><a href=https://gitlab.com/meso-star/stardis-solver.git>Stardis-Solver</a>
-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 <b>any volumetric mesh</b>: in addition of
-the thermal properties and the limit/boundary conditions, only the geometry
-defining the contours of the objects is necessary.</p>
-
-<p>The Stardis-Solver library is currently used in the two following
-projects:</p>
-
-<ul>
- <li><a href="#cli">Stardis application</a> is the reference implementation of a
- complete workflow using Stardis-Solver.</li>
- <li><a
- href="https://www.edf.fr/en/the-edf-group/world-s-largest-power-company/activities/research-and-development/scientific-communities/simulation-softwares?logiciel=10818">
- SYRTHES</a> is the general thermal software developed by Électricité de
- France R&D.
-</ul>
-
-<p id="hypothesis">
-The coupled Monte Carlo algorithms implemented into Stardis-Solver are based on
-the following hypothesis:
-</p>
-
-<ul>
- <li><p>
- <b>Conduction</b>:
- Stardis-Solver offers two ways of sampling unsteady Brownian motion to solve
- for conductivity in a solid.
- The <a href="https://doi.org/10.1371/journal.pone.0283681"> delta sphere
- algorithm</a> 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.
- </p><p>
- As an alternative, the <a href="https://www.jstor.org/stable/2237369">Walk on
- Sphere</a> 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.
- </p></li>
-
- <li><p>
- <b>Convection</b>:
- fluid media are supposed to be <b>isothermal</b>, even if their temperature
- may vary with time.
- This hypothesis relies on the assumption of perfectly agitated fluids.
- </li>
-
- <li><p>
- <b>Radiation</b>:
- local radiative transfer is solved by an <a
- href="https://hal.archives-ouvertes.fr/tel-03266863/">iterative numerical
- method</a> (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.
- </p></li>
-
-</ul>
-
-<div class="img" style="width: 18em">
- <a href="images/plot_insensib_MC.jpg">
- <img src="thumbs/plot_insensib_MC.jpg" alt="plot_insensib_MC">
- </a>
- <div class="caption">
- 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, <b>using the Green
- function with any new set of sources is 10<sup>3</sup> times faster than
- Monte Carlo</b>.
- </div>
-</div>
-
-<p>The main functionalities provided by Stardis-Solver upon the aforementioned
-hypothesis are as follows:</p>
-
-<div class="img" style="width: 18em">
- <a href="images/ramier_island.png">
- <img src="thumbs/ramier_island.jpg" alt="Ramier island">
- </a>
- <a href="images/ramier_island_sun.png">
- <img src="thumbs/ramier_island_sun.jpg" alt="Ramier island with sun">
- </a>
- <div class="caption">
- Infrared rendering by Stardis of a city district generated by
- <a href="https://gitlab.com/meso-star/city_generator2">
- City_Generator2
- </a>
- from the cadastral map of Ile du Ramier in Toulouse, France.
- Temperature are given in Kelvin.
- In both images, 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.
- The lower image also includes solar flux as a new boundary condition.
- </div>
-</div>
-
-<ul>
- <li><p>
- <b>Probe computation</b>:
- 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 <b>numerical uncertainty</b> (standard deviation of
- the weight distribution) over each result.
- </p></li>
- <li><p>
- <b>Integrated calculation</b>:
- 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.
- </p></li>
- <li><p>
- <b>Flux computation</b>:
- 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.
- </p></li>
- <li><p id="green">
- <b>Green function</b>:
- 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.
- </p><p>
- 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) post-processing step to compute all required results for different
- boundary and initial conditions (and also different internal power sources
- and imposed flux).
- </p></li>
- <li><p>
- <b>Infrared rendering</b>:
- 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).
- </p></li>
- <li><p id="temporal">
- <b>Temporal dynamics analysis</b>
- 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.
- </p></li>
- <li><p id="visue">
- <b>Thermal path visualization</b>
- 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, <i>etc.</i>
- </p></li>
-</ul>
-
-<h2 id="cli">Stardis CLI tools</h2>
-
-<p>The stardis framework includes Command Line Interface (CLI) software, namely
-<a href="man/man1/stardis.1.html">
-stardis</a> and <a
-href="man/man1/sgreen.1.html">sgreen</a>,
-to use along with Stardis-Solver. They make it easy to exploit the features of
-the solver.</p>
-
-<ul>
- <li><p id="stardis-cli">
- <b>stardis</b>:
- 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 <a href="man/man1/stardis.1.html">manual page</a> page
- for more informations.
- </p></li>
- <li><p id="sgreen-cli">
- <b>sgreen</b>:
- the purpose of <code>sgreen</code> is to post-process binary
- green-function files produced by <code>stardis</code>.
- 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 <code>sgreen</code> post-process
- instead of a new Monte Carlo simulation is the tremendous
- improvement on computation time.
- Refer to its <a href="man/man1/sgreen.1.html">manual page</a> page
- for more informations.
- </p></li>
-</ul>
-
-<h2 id=build>Installation</h2>
-
-<p>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
-<a href="https://gitlab.com/meso-star/star-build/">star-build</a>,
-which automates the build and installation of <code>stardis</code> and
-its dependencies from source code.</p>
-
-<h3>Prerequisites</h3>
-
-<p>To build <code>stardis</code> with <code>star-build</code>, first
-make sure your system has the following prerequisites:</p>
-
-<ul>
- <li>POSIX shell</li>
- <li>POSIX make</li>
- <li>curl</li>
- <li>git</li>
- <li>mandoc</li>
- <li>pkg-config</li>
- <li>sha512sum</li>
- <li>GNU Compiler Collection in version 8.3 or higher</li>
- <li>OpenMPI library and headers in version 2 or higher (optional)</li>
-</ul>
-
-<h3>Build</h3>
-
-<p>Assuming that the aforementioned prerequisites are available, the
-build procedure is summed up to:</p>
-
-<pre class="code">
-~ $ git clone https://gitlab.com/meso-star/star-build.git
-~ $ cd star-build
-~/star-build $ make \
- PREFIX=~/stardis \
- BUILD=src/therm-apps/stardis_@STARDIS_VERSION@.sh
-</pre>
-
-<p>With <code>PREFIX</code> defining the path where Stardis will be installed
-and <code>BUILD</code> defining the installation script to be run.</p>
-
-<p>By default, Stardis is built with MPI enabled, so OpenMPI is one of its
-requirements.
-To disable MPI support, simply set the <code>DISTRIB_PARALLELISM</code>
-parameter to NONE as follows:</p>
-
-<pre class="code">
-~/star-build $ make \
- PREFIX=~/stardis \
- BUILD=src/therm-apps/stardis_@STARDIS_VERSION@.sh \
- DISTRIB_PARALLELISM=NONE \
-</pre>
-
-<h3>Run</h3>
-
-<p>Evaluate the installed <code>stardis.profile</code> file in the current
-shell to register <code>stardis</code> against it. You can then run
-<code>stardis</code> and consult its manual pages:</p>
-
-<pre class="code">
-~ $ . ~/stardis/etc/stardis.profile
-~ $ stardis -h
-~ $ man stardis
-</pre>
-
-<p>Refer to the <a href=starter-pack.html>Stardis: Starter Pack</a> to quickly
-run a thermal simulation through the <code>stardis</code> CLI; this archive
-provides input data and scripts and is a good starting point to begin with the
-Stardis framework.</p>
-
-<h2 id="license">License</h2>
-
-<p>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 <a
-href="https://www.gnu.org/licenses/gpl.html">license</a> for details.</p>
diff --git a/stardis/stardis_build.sh b/stardis/stardis_build.sh
@@ -49,46 +49,37 @@ consortium()
fi
print_header -s Stardis -n Consortium -l "$1" -r ../
- cat "consortium-$1.html.in"
+ md2html consortium-"$1".md
print_footer
}
documentations()
{
print_header -s Stardis -n Documentations -r ../
- cat stardis-docs.html.in
+ md2html stardis-docs.md
print_footer
}
release_notes_list()
{
print_header -s Stardis -n "Release notes" -r ../
- cat release-notes.html.in
+ md2html release-notes.md
print_footer
}
release_notes()
{
- if [ $# -lt 2 ]; then
- printf "Usage: %s downloads <repository> <release-notes>\n" "$0" >&2
- exit 1
- fi
+ src="$(basename "$1" ".html").md"
- name=$(echo "$1" | sed -e 's/^\([a-z]\)/\u\1/' -e 's/-\([a-z]\)/ \u\1/')
- name="${name} Release Notes"
- print_header -s Stardis -n "${name}" -r ../
-
- echo "<header><h1>${name}"
- echo " <span class=\"subtitle\">"
- echo " <a href=\"https://gitlab.com/meso-star/$1\">git</a> repository"
- echo " </span>"
- echo "</h1></header>"
-
- ${markdown} "$2"\
- | sed -n '/^<h2>Release notes<\/h2>/,/^<h2>License<\/h2>/p'\
- | sed -e '1d' -e '$d' \
- | sed 's/<h3>\(.*\)<\/h3>/<h2>\1<\/h2>/g'\
- | sed 's/<h4>\(.*\)<\/h4>/<h3>\1<\/h3>/g'
+ print_header -s Stardis -n "Release notes" -r ../
+ md2html "${src}"
+ print_footer
+}
+
+starter_pack2()
+{
+ print_header -s Stardis -n "Starter-Pack" -r ../
+ md2html
print_footer
}
@@ -99,112 +90,63 @@ starter_pack()
exit 1
fi
- readme=$(${markdown} "$1" \
- | sed 's/<pre><code>/<pre class="code">/g' \
- | sed 's/<\/code><\/pre>/<\/pre>/g')
- intro=$(echo "${readme}" \
- | sed '/^<h2>Content<\/h2>/,$d' \
- | sed '1d')
- content1=$(echo "${readme}" \
- | sed -n '/^<h2>Content<\/h2>/,/^<h3>The porous medium<\/h3>/p' \
- | sed -e '1d' -e '$d')
- content2=$(echo "${readme}" \
- | sed -n '/^<h3>The porous medium<\/h3>/,/^<h2>Release notes<\/h2>/p' \
- | sed '$d')
- release_notes=$(echo "${readme}" \
- | sed -n '/^<h2>Release notes<\/h2>/,/^<h2>Copyright notice<\/h2>/p' \
- | sed -e '1d' -e '$d')
- license=$(echo "${readme}" \
- | sed -n '/^<h2>Copyright notice<\/h2>/,$p' \
- | sed 's/opyright (C)/opyright \©/g')
-
- print_header -s Stardis -n Starter-Pack -r ../
-
- echo "<header>"
- echo " <h1>Stardis: Starter Pack</h1>"
- echo "</header>"
- echo "<div class=\"news\">"
- echo " <p><b>Stardis: Starter Pack $2</b></p>"
- echo " <ul>"
- echo " <li><a href=\"downloads/Stardis-Starter-Pack-$2.tar.gz\">tarball</a> /"
- echo " <a href=\"downloads/Stardis-Starter-Pack-$2.tar.gz.sig\">pgp</a></li>"
- echo " </ul>"
- echo "</div>"
-
- echo "${intro}"
-
- echo "<h2>Content</h2>"
- echo "<div class=\"img\" style=\"padding-top:3em; width: 17em\">"
- echo " <a href=\"images/heatsink.jpg\"><img src=\"thumbs/heatsink.jpg\" alt=\"heatsink\"></a>"
- echo " <a href=\"images/heatsinkx50.jpg\"><img src=\"thumbs/heatsinkx50.jpg\" alt=\"heatsinkx50\"></a>"
- echo " <a href=\"images/foam.jpg\"><img src=\"thumbs/foam.jpg\" alt=\"foam\"></a>"
- echo " <a href=\"images/city.jpg\"><img src=\"thumbs/city.jpg\" alt=\"city\"></a>"
- echo " <div class=\"caption\">"
- echo " Geometries of the heatsink, the multiple heatsinks, the foam, and the city"
- echo " provided by the Starter Pack and used in its examples."
- echo " </div>"
- echo "</div>"
-
- echo "${content1}"
-
- echo "<div class=\"img\" style=\"padding-top:3em; width: 16em\">"
- echo " <a href=\"images/IR_rendering_1080x720x128.jpg\">"
- echo " <img src=\"thumbs/IR_rendering_1080x720x128.jpg\" alt=\"foam_ir\">"
- echo " </a>"
- echo " <a href=\"images/IR_animation_1080x720x32x128.gif\">"
- echo " <img src=\"thumbs/IR_animation_1080x720x32x128.gif\" alt=\"foam_anim\">"
- echo " </a>"
- echo " <div class=\"caption\">"
- echo " Illustration of the infrared rendering of the porous example. The"
- echo " color map displays the temperature in Kelvin."
- echo " The bottom animation was produced by a simple"
- echo " rotation of the camera around the center of the foam."
- echo " Each one of the 32 frames is a full image produced by"
- echo " a Stardis run."
- echo " </div>"
- echo "</div>"
-
- echo "<div class=\"img\" style=\"padding-top:3em; width: 16em\">"
- echo " <a href=\"images/IR_city_640x480x1024_273-275.png\">"
- echo " <img src=\"images/IR_city_640x480x1024_273-275.png\" alt=\"city_ir\">"
- echo " </a>"
- echo " <div class=\"caption\">"
- echo " The infrared rendering of the city example. The color map displays the"
- echo " temperature in Kelvin. The image consists of 640x480 independent"
- echo " Monte-Carlo estimates (one per pixel, 1024 paths each)."
- echo " </div>"
- echo "</div>"
-
- echo "${content2}"
-
- echo "<h2>Downloads</h2>"
-
- echo "<table class=\"list\">"
- echo " <tr>"
- echo " <th>Version</th>"
- echo " <th>Archive</th>"
- echo " </tr>"
+ sed -n '1,/^## Quick start/p' "$1" | sed '$d'
+
+ printf '\n[](images/IR_animation_1080x720x32x128.gif)\n'
+ printf '> Illustration of the infrared rendering of the porous\n'
+ printf '> example supplied in the Starter Pack.\n'
+ printf '> The color map displays the temperature in Kelvin.\n'
+ printf '> The animation was produced by a simple\n'
+ printf '> rotation of the camera around the center of the foam.\n'
+ printf '> Each one of the 32 frames is a full image produced by\n'
+ printf '> a Stardis run.\n'
+
+ printf '## Downloads\n'
+
+ printf '<table class="list">\n'
+ printf ' <tr><th>Version</th><th>Archive</th></tr>\n'
archs=$(find downloads -name "Stardis-Starter-Pack*.tar.gz" | sort -r)
- echo "${archs}" |
+ printf '%s\n' "${archs}" | \
while read -r i ; do
version=$(echo "${i}" | sed "s/.*Starter-Pack-\(.*\)\.tar.gz/\1/g")
- echo " <tr>"
- echo " <td>${version}</td>"
- echo " <td>"
- echo " [<a href=\"${i}\">tarball</a>]"
- if [ -f "${i}.sig" ]; then
- echo " [<a href=\"${i}.sig\">pgp</a>]"
- fi
- echo " </td>"
- echo " </tr>"
+ printf ' <tr>\n'
+ printf ' <td>%s</td>\n' "${version}"
+ printf ' <td>[<a href="%s">tarball</a>]\n' "${i}"
+ printf ' [<a href="%s.sig">pgp</a>]\n' "${i}"
+ printf ' </td>\n'
+ printf ' </tr>\n'
done
- echo "</table>"
+ printf '</table>\n\n'
- echo "${release_notes}"
- echo "${license}"
+ sed -n '/^## Quick start/,/^### The heatsink/p' "$1" | sed '$d'
- print_footer
+ sed -n '/^### The heatsink/,/### The porous medium/p' "$1" | sed '$d'
+
+ printf '\n[](images/heatsink.jpg)\n'
+ printf '\n[](images/heatsinkx50.jpg)\n'
+ printf '\n> Geometry of the heat sink test cases\n\n'
+
+ sed -n '/^### The porous medium/,/^### The city/p' "$1" | sed '$d'
+
+ printf '\n[](images/foam.jpg)\n'
+ printf '> Geometry of the porous example.\n'
+ printf '> It is in fact a foam composed of a set of kelvin cells.\n'
+
+ sed -n '/^### The city/,/^## /p' "$1" | sed '$d'
+
+ printf '\n[](images/city.jpg)\n'
+ printf '> Geometry of the "city" test case.\n'
+ printf '> Each building is fully described, from balconies and rooms\n'
+ printf '> to walls, foundations, floors and insulation.\n'
+ printf '\n'
+ printf '\n[](images/IR_city_640x480x1024_273-275.png)\n'
+ printf '> Infrared rendering of the “city” test case illustrating\n'
+ printf '> thermal bridges,\n'
+ printf '> particularly those coming from the uninsulated roofs.\n'
+ printf '> The color map displays the temperature in Kelvin.\n'
+
+ sed -n '/^## Release notes/,$p' "$1"
}
"$@"
diff --git a/stardis/thumbs/IR_city_640x480x1024_273-275.jpg b/stardis/thumbs/IR_city_640x480x1024_273-275.jpg
@@ -0,0 +1 @@
+#$# git-wad 2600154759430605c353f268de56c1fcd6299d22fb550843392691044095ec42 56088
+\ No newline at end of file
diff --git a/stardis/validation.html.in b/stardis/validation.html.in
@@ -1,157 +0,0 @@
-<h1>Validation</h1>
-
-<p>In this webpage, we provide the references to validations of the Stardis
-code and the theoretical framework it is based on.</p>
-<ol>
- <li>We first present <a href="#analytical">validations against analytical
- models</a>, which are directly provided in Stardis as non-regression
- tests.</li>
- <li>We then <a href="#papers">refer to scientific papers</a> in which Monte
- Carlo algorithms are compared to deterministic solvers on non trivial
- configurations.</li>
- <li>Finally, we present <a href="#SYRTHES">a validation test case of
- SYRTHES</a>, the thermal code developed by <i>Électricité de France</i>,
- which provides both a finite element solver and a Monte Carlo solver powered
- by Stardis.</li>
-</ol>
-
-<h2 id="analytical">Comparison against analytical results</h2>
-
-<p>Stardis provides comparisons against analytical solutions. These
-non-regression tests are available in the <code>src/</code> directory of <a
-href="https://gitlab.com/meso-star/stardis-solver/-/tree/master/src">Stardis
-Solver</a> (denoted by <code>test_*</code>). 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:</p>
-
-<ul>
- <li><a
- href="https://gitlab.com/meso-star/stardis-solver/-/blob/master/src/test_sdis_conducto_radiative.c">test_sdis_conducto_radiative.c</a>
- validates the steady resolution of the coupled conduction and radiative
- transfer in a solid surrounded by two different fluids (left/right
- faces).</li>
- <li><a
- href="https://gitlab.com/meso-star/stardis-solver/-/blob/master/src/test_sdis_convection_non_uniform.c">test_sdis_convection_non_uniform.c</a>
- validates the transient resolution of the convection for a fluid inside a cube
- with faces of different known temperatures.</li>
- <li><a
- href="https://gitlab.com/meso-star/stardis-solver/-/blob/master/src/test_sdis_transcient.c">test_sdis_transient.c</a>
- validates the transient resolution of conduction in nested cubes.</li>
- <li><a
- href="https://gitlab.com/meso-star/stardis-solver/-/blob/master/src/test_sdis_solve_boundary.c">test_sdis_solve_boundary.c</a>
- validates the steady computation of the boundary temperature on a solid cube
- interfaced with a fluid with known temperature.</li>
- <li><a
- href="https://gitlab.com/meso-star/stardis-solver/-/blob/master/src/test_sdis_solid_random_walk_robustness.c">test_random_walk_robustness.c</a>
- validates the random walk in a solid with / without a source term in complex
- geometry.</li>
-</ul>
-
-<h2 id="papers">Cross-comparison against deterministic solvers</h2>
-
-<p>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.</p>
-
-<ol>
- <li><a href="https://doi.org/10.1016/j.cpc.2023.108911">Penazzi et
- al.</a> - Path integral formulations leading to propagator
- evaluation for coupled linear physics in large geometric models.
- Computer Physics Communications 2024. Appendix C.
- <ul>
- <li>Validation against
- COMSOL<sup><a href="https://www.comsol.fr/">1</a></sup>
- </li>
- <li>Solid with fluid cavities</li>
- <li>Coupled conduction, convection (perfectly mixed cavity) and radiation;
- homogeneous coefficients</li>
- <li>Stationary state</li>
- <li>Validation of the propagator</li>
- </ul></li>
-
- <li><a href="https://hal.science/hal-03818899v2">Ibarrart et al.</a> -
- 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.
- <ul>
- <li>Validation against
- COMSOL<sup><a href="https://www.comsol.fr/">1</a></sup>
- or
- ANSYS Fluent<sup><a href="https://www.ansys.com/products/fluids/ansys-fluent">2</a></sup>
- </li>
- <li>Poiseille duct or Kelvin cells</li>
- <li>Coupled conduction, convection (with advection) and radiative transfer;
- homogeneous coefficients</li>
- <li>Stationary state</li>
- </ul></li>
-
- <li><a href="https://hal.science/hal-02096305v1">Caliot et al.</a> -
- Combined conductive-radiative heat transfer analysis in complex geometry
- using the Monte Carlo method. Eurotherm 2018. Figures 6 to 9.
- <ul>
- <li>Validation against
- ANSYS Fluent<sup><a href="https://www.ansys.com/products/fluids/ansys-fluent">2</a></sup>
- </li>
- <li>Kelvin cells</li>
- <li>Coupled conduction and radiative transfer</li>
- <li>Stationary state</li>
- </ul></li>
-
- <li><a href="https://hal.science/hal-04059892">Retailleau et al.</a> -
- 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.
- <ul>
- <li>Validation against finite differences</li>
- <li>Slab with Robin conditions</li>
- <li>Coupled conduction, convection (perfectly mixed cell) and radiative transfer</li>
- <li>Un-stationary state</li>
- </ul></li>
-</ol>
-
-<h2 id="SYRTHES">Stardis in SYRTHES</h2>
-
-<p>Stardis is used in the <a
-href="https://www.edf.fr/en/the-edf-group/inventing-the-future-of-energy/r-d-global-expertise/our-offers/simulation-softwares/syrthes">SYRTHES</a>
-code of the French electric company <i>Électricité de France</i>. 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 cube (figure 1). Both the finite elements and the Monte
-Carlo (using Stardis) resolutions are compared to the theoretical temperature
-(figure 2).</p>
-
-<div class="img" style="text-align: center">
- <img src="images/geometry.svg" alt="geometry" style="width: 45%">
- <a href="images/temperature.png">
- <img src="images/temperature.png" alt="temperature" style="width: 40%">
- </a>
- <div class="caption">
- <b>Figure 1:</b> 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.
- </div>
-</div>
-
-<div class="img" style="text-align: center">
- <a href="images/TprofY.png">
- <img src="images/TprofY.png" alt="ProfY" style="width: 45%">
- </a>
- <a href="images/TprofX.png">
- <img src="images/TprofX.png" alt="ProfY" style="width: 45%">
- </a>
- <div class="caption">
- <b>Figure 2:</b> Validation of the Finite element solver and the Monte Carlo
- solver (<i>i.e.</i> Stardis) of SYRTHES against the analytical solution of
- the test case presented in figure 1. Both curves are computed at steady state
- at probe positions varying along the X axis (left) or the Y axis (right).
- </div>
-</div>
-
-<p>The version of SYRTHES used for this validation is still on development and
-available on-demand. Please <a href="mailto:contact@meso-star.com">contact
-us</a> to obtain this version.</p>
diff --git a/stardis/validation.md b/stardis/validation.md
@@ -1,7 +1,7 @@
# Validation
-In this webpage, we provide the references to validations of the Stardis
-code and the theoretical framework it is based on.
+This webpage provides 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.