meso-web

Sources of the |Méso|Star> website
git clone git://git.meso-star.fr/meso-web.git
Log | Files | Refs | README | LICENSE

commit 56b695a538a4d468d522f05bb5128c9326ac40bc
parent fe60662d41ac9b56bd8bfdc4b85693fd0b948abd
Author: Vincent Forest <vincent.forest@meso-star.com>
Date:   Fri, 20 Jun 2025 14:47:01 +0200

Solstice: complete Markdown translation

Diffstat:
Msolstice/.gitignore | 8++------
Msolstice/Makefile | 36+++++++++++-------------------------
Dsolstice/solstice-abg.html.in | 21---------------------
Dsolstice/solstice-docs.html.in | 14--------------
Asolstice/solstice-docs.md | 6++++++
Dsolstice/solstice-pp.html.in | 153-------------------------------------------------------------------------------
Asolstice/solstice-resources.md | 132+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Msolstice/solstice_build.sh | 64++++++++++++++--------------------------------------------------
8 files changed, 165 insertions(+), 269 deletions(-)

diff --git a/solstice/.gitignore b/solstice/.gitignore @@ -1,8 +1,4 @@ -solstice.html -solstice-docs.html -solstice-downloads.html -solstice-resources.html -solstice-release-notes.html.in -solstice-pp-release-notes.html.in +*.html +solstice-downloads.md Solstice-*-GNU-Linux64/ Solstice-PP-Sources-*/ diff --git a/solstice/Makefile b/solstice/Makefile @@ -26,13 +26,6 @@ SOLSTICE_README=$(SOLSTICE_DIR)/share/doc/solstice/README.md SOLPP_ARCH=downloads/Solstice-PP-Sources-$(SOLPP_VERSION).tar.gz SOLPP_README=Solstice-PP-Sources-$(SOLPP_VERSION)/README.md -SOLPP_PKG=\ - downloads/Solstice-PP-Sources-0.3.1.tar.gz\ - downloads/Solstice-PP-Sources-0.3.0.tar.gz\ - downloads/Solstice-PP-Sources-0.2.0.tar.gz\ - downloads/Solstice-PP-Sources-0.1.0.tar.gz -SOLPP_SIG=$(SOLPP_PKG:=.sig) - SOLSTICE_PKG=\ downloads/Solstice-0.9.1-Sources.zip\ downloads/Solstice-0.9.1-GNU-Linux64.tar.gz\ @@ -81,16 +74,14 @@ build_all: $(HTML) man clean: @echo "Cleaning generated files" - @rm -rf man + @rm -rf man solstice-downloads.md @rm -f .sig .lint .man $(HTML) $(HTML:=.err) distclean: clean @echo "Cleaning PGP signatures and extracted files" @rm -f \ $(SOLSTICE_SIG)\ - $(SOLPP_SIG) \ $(MAN) \ - $(SOLPP_README) \ $(SOLSTICE_README) install: build @@ -99,8 +90,6 @@ install: build $(IMG)\ $(SOLSTICE_PKG)\ $(SOLSTICE_SIG)\ - $(SOLPP_PKG)\ - $(SOLPP_SIG)\ downloads/Solstice-ABG.pdf\ downloads/Solstice-ABG-rsrc.zip\ $$(find man -name "*.html")\ @@ -119,16 +108,20 @@ solstice.html: solstice.md.in themis.png solstice_build.sh Makefile ################################################################################ # Reference documentation ################################################################################ -solstice-docs.html: solstice-docs.html.in solstice_build.sh +solstice-docs.html: solstice-docs.md solstice_build.sh @echo "Building $@" @$(SHELL) solstice_build.sh documentations > $@ ################################################################################ # Downloads web page ################################################################################ -solstice-downloads.html: $(SOLSTICE_SIG) $(SOLSTICE_README) solstice_build.sh +solstice-downloads.html: solstice-downloads.md solstice_build.sh + @echo "Building $@" + @$(SHELL) solstice_build.sh downloads > $@ + +solstice-downloads.md: $(SOLSTICE_SIG) $(SOLSTICE_README) solstice_build.sh @echo "Building $@" - @$(SHELL) solstice_build.sh downloads $(SOLSTICE_README) > $@ + @$(SHELL) solstice_build.sh downloads2 $(SOLSTICE_README) > $@ $(SOLSTICE_README) $(MAN): @echo "Extracting data from $(SOLSTICE_ARCH)" @@ -137,16 +130,9 @@ $(SOLSTICE_README) $(MAN): ################################################################################ # Additional resources ################################################################################ -solstice-resources.html: $(SOLPP_SIG) $(SOLPP_README) \ - solstice-abg.html.in \ - solstice-pp.html.in \ - solstice_build.sh +solstice-resources.html: solstice-resources.md solstice_build.sh @echo "Building $@" - @$(SHELL) solstice_build.sh resources $(SOLPP_README) $(SOLPP_VERSION) > $@ - -$(SOLPP_README): - @echo "Extracting $@ from $(SOLPP_ARCH)" - @tar -xz -f $(SOLPP_ARCH) $(SOLPP_README) + @$(SHELL) solstice_build.sh resources > $@ ################################################################################ # Check files @@ -164,7 +150,7 @@ lint_shells: ################################################################################ .sig: Makefile ../configure_targets.sh @echo "Setup .sig" - @$(SHELL) ../configure_targets.sh sig $(SOLSTICE_PKG) $(SOLPP_PKG) > .sig + @$(SHELL) ../configure_targets.sh sig $(SOLSTICE_PKG) > .sig .lint: Makefile ../configure_targets.sh @echo "Setup .lint" diff --git a/solstice/solstice-abg.html.in b/solstice/solstice-abg.html.in @@ -1,21 +0,0 @@ -<h2 id="ABG">Beginner's guide</h2> - -<p> -The <b>Solstice Absolute Beginner's Guide</b> is designed to introduce enough -concepts and functionalities that you will be able to autonomously use the -Solstice program. The tutorial itself is provided in a pdf file while the -Solstice resources on which it relies - i.e. input files - are available in a -separate archive. -</p> - -<table class="list"> - <tr> - <th>Beginner's guide</th> - <th>Resources</th> - </tr> - <tr> - <td>[<a href="downloads/Solstice-ABG.pdf">pdf</a>]</td> - <td>[<a href="downloads/Solstice-ABG-rsrc.zip">zip</a>]</td> - </tr> -</table> - diff --git a/solstice/solstice-docs.html.in b/solstice/solstice-docs.html.in @@ -1,14 +0,0 @@ -<header> - <h1>Solstice - <span class=subtitle> - Reference documentation - </span> - </h1> -</header> - -<ul> - <li><a href=man/man1/solstice.1.html>solstice(1)</a></li> - <li><a href=man/man5/solstice-input.5.html>solstice-input(5)</a></li> - <li><a href=man/man5/solstice-output.5.html>solstice-output(5)</a></li> - <li><a href=man/man5/solstice-receiver.5.html>solstice-receiver(5)</a></li> -</ul> diff --git a/solstice/solstice-docs.md b/solstice/solstice-docs.md @@ -0,0 +1,6 @@ +# Reference documentation + +- [solstice(1)](man/man1/solstice.1.html) +- [solstice-input(5)](man/man5/solstice-input.5.html) +- [solstice-output(5)](man/man5/solstice-output.5.html) +- [solstice-receiver(5)](man/man5/solstice-receiver.5.html) diff --git a/solstice/solstice-pp.html.in b/solstice/solstice-pp.html.in @@ -1,153 +0,0 @@ -<h2>Post-Processes</h2> - -<div class="news"> - <p><b>Solstice PP ${VERSION} is available</b></p> - <ul> - <li>Sources: - <a href="downloads/Solstice-PP-Sources-${VERSION}.tar.gz">tarball</a> / - <a href="downloads/Solstice-PP-Sources-${VERSION}.tar.gz.sig">pgp</a> - </li> - </ul> -</div> - -<p>Solstice Post-Process is a collection of command-line tools that -post-process the outputs of Solstice. These programs illustrate how the -raw-results of Solstice can be processed with respect to the user needs.</p> - -<p>The provided tools are provided as it, without additional support. They are -free software written in standard C, without external dependency, and released -under the GPLv3+ license. You can thus easily study, modify or extend them -according to your needs. You are also welcome to redistribute them under -certain conditions; refer to the <a -href="https://www.gnu.org/licenses/gpl.html">license</a> for details.</p> - -<p>To use these tools, download the provided archive and verify its integrity -against its <a href="../misc/pgp_signatures.html">PGP signature</a>. This -archive contains the sources of the program and a GNU/Makefile to simplify the -build process on GNU/Linux and on Windows through <a -href="http://www.mingw.org/">MinGW</a>. Extract it and run <code>make</code> to -build the programs. Note that even though this archive targets GNU-compliant -systems, the provided sources can be compiled by any C compiler that supports -the C99 standard.</p> - -<pre class="code"> -$ tar xzvf Solstice-PP-Sources-${VERSION}.tar.gz -$ cd Solstice-PP-Sources -$ make -</pre> - -<p>A description of each generated tools is given in the following -sections.</p> - -<h3>solppraw</h3> - -<p>The <code>solppraw</code> program reads the Solstice outputs from a file or -the standard input whether a filename is provided as an argument or not, -respectively. For each simulated sun direction, it formats the raw results in a -human readable text file, simplifying the analysis of the results. -</p> - -<p>The following example invokes Solstice to simulate two sun directions and -write the results in the <code>output</code> file that is then post-processed -by the <code>solppraw</code> tool.</p> - -<pre class="code"> -$ solstice -D45,70:50,75 -R rcvs.yaml -o output input.yaml -$ solppraw output -Writing `45-70-raw-results.txt' -Writing `50-75-raw-results.txt' -</pre> - -<p>Note that one can directly pipe the results of <code>solstice</code> to -<code>solppraw</code> without any intermediary <code>output</code> file.</p> - -<pre class="code"> -$ solstice -D45,70:50,75 -R rcvs.yaml input.yaml | solppraw -Writing `45-70-raw-results.txt' -Writing `50-75-raw-results.txt' -</pre> - -<h3>solmaps</h3> - -<p>The <code>solmaps</code> command line takes as input the results of a -regular Solstice simulation. These data are read from a file or from standard -input whether a filename is provided as an argument or not, respectively. -<code>solmaps</code> extracts the maps of incoming flux computed by Solstice -for the receivers whose <code>per_primitive</code> flag is enabled (see <a -href="man/man5/solstice-receiver.5.html">solstice-receiver</a>(5) for more -informations). Each map is then saved in a specific <a -href="http://www.vtk.org/wp-content/uploads/2015/04/file-formats.pdf">VTK</a> -file.</p> - -<p>The following example pipes <code>solstice</code> with <code>solmaps</code> -to save the maps of the receivers <code>target_a</code> and -<code>target_b</code> computed by solstice for each provided sun -direction.</p> - -<pre class="code"> -$ solstice -n10000 -D45,70:50,75 -R rcvs.yaml input.yaml | solmaps -Writing `45-70-target_a.vtk' -Writing `45-70-target_b.vtk' -Writing `50-75-target_a.vtk' -Writing `50-75-target_b.vtk' -</pre> - -<h3>solpaths</h3> - -<p>The <code>solpaths</code> tool reads the radiative paths dumped by Solstice -when it is invoked with the <code>-p</code> option. The radiative paths are read -from a file or from the standard input, whether a filename is provided as an -argument or not, respectively. For each simulated sun direction, it generates a -<a -href="http://www.vtk.org/wp-content/uploads/2015/04/file-formats.pdf">VTK</a> -file of the radiative paths that can be then visualized in <a -href="https://www.paraview.org">Paraview</a>.</p> - -<p>The following example illustrates how <code>solpaths</code> is piped with -<code>solstice</code> to generate two VTK files, one per simulated sun -direction.</p> - -<pre class="code"> -$ solstice -n100 -D45,70:50,75 -R rcvs.yaml -p default input.yaml | solpaths -Writing `45-70-paths.vtk' -Writing `50-75-paths.vtk' -</pre> - -<h3>solpp</h3> - -<p>The <code>solpp</code> program takes two input files: the geometry of a -solar plant output by Solstice when it is invoked with the <code>-g</code> -option, and the results of a legacy Solstice simulation. For each simulated sun -direction, it writes three files. The first one, is a -<a -href="http://www.vtk.org/wp-content/uploads/2015/04/file-formats.pdf">VTK</a> -file that maps to the -meshes of the primary geometries (i.e. the reflectors) their associated -simulation results; for instance their respective cosine factor or the amount -of flux that reaches a receiver and comes from them. The second output file, -is another VTK file that stores the geometry of the receivers and their -simulation results as their incoming flux or their efficiency. Finally, the third -file is an <a href="http://www.martinreddy.net/gfx/3d/OBJ.spec">OBJ</a> file -that stores the meshes of the miscellaneous geometries, i.e. the geometries -that are neither receivers nor primary geometries. These files can then be -visualised and analysed in <a href="https://www.paraview.org">Paraview</a>.</p> - -<p>In the following example, <code>solstice</code> is invoked to simulate two -sun directions on the solar plant described in the <code>input.yaml</code> -file. We then rerun <code>solstice</code> with the <code>-g</code> option to -export the geometry of this solar plant with respect to the aforementioned sun -directions. We finally invoke <code>solpp</code> to post-process the previous -outputs saved in the <code>simul</code> and <code>geom</code> files.</p> - -<pre class="code"> -$ solstice -D45,70:50,75 -R rcvs.yaml -o simul input.yaml -$ solstice -D45,70:50,75 -g format=obj -o geom input.yaml -$ solpp geom simul -Writing `45-70-primaries.vtk' -Writing `45-70-receivers.vtk' -Writing `45-70-miscellaneous.obj' -Writing `50-75-primaries.vtk' -Writing `50-75-receivers.vtk' -Writing `50-75-miscellaneous.obj' -</pre> - diff --git a/solstice/solstice-resources.md b/solstice/solstice-resources.md @@ -0,0 +1,132 @@ +# Resources + +<span id="ABG"/> + +## Beginner's guide + +The *Solstice Absolute Beginner's Guide* is designed to introduce enough +concepts and functionalities that you will be able to autonomously use +the Solstice program. +The tutorial itself is provided in a pdf file while the Solstice +resources on which it relies - i.e. input files \- are available in a +separate archive. + +### Downloads + +- [Beginner's Guide](downloads/Solstice-ABG.pdf) +- [Resources](downloads/Solstice-ABG-rsrc.zip) + +## Post-Processes + +Solstice Post-Process is a collection of command-line tools that +post-process the outputs of Solstice. +These programs illustrate how the raw-results of Solstice can be +processed with respect to the user needs. + +They are free software written in standard C, without external +dependency, and released under the GPLv3+ license. +You can thus easily study, modify or extend them according to your +needs. +You are also welcome to redistribute them under certain conditions; +refer to the [license](https://www.gnu.org/licenses/gpl.html) +for details. + +### Installation + +To use these tools, they must be built and installed from their source +tree: + + git clone https://gitlab.com/meso-star/solstice-pp.git + cd solstice-pp + make install + +A description of each tools is given in the following sections. + +### solppraw + +The `solppraw` program reads the Solstice outputs from a file or +the standard input whether a filename is provided as an argument or not, +respectively. +For each simulated sun direction, it formats the raw results in a human +readable text file, simplifying the analysis of the results. + +The following example invokes Solstice to simulate two sun directions +and write the results in the `output` file that is then post-processed +by the `solppraw` tool. + + solstice -D45,70:50,75 -R rcvs.yaml -o output input.yaml + solppraw output + +Note that one can directly pipe the results of `solstice` to `solppraw` +without any intermediary `output` file. + + solstice -D45,70:50,75 -R rcvs.yaml input.yaml | solppraw + +### solmaps + +The `solmaps` command line takes as input the results of a +regular Solstice simulation. +These data are read from a file or from standard input whether a +filename is provided as an argument or not, respectively. +`solmaps` extracts the maps of incoming flux computed by Solstice +for the receivers whose `per_primitive` flag is enabled +(see [solstice-receiver(5)](man/man5/solstice-receiver.5.html) for more +informations). +Each map is then saved in a specific +[VTK](http://www.vtk.org/wp-content/uploads/2015/04/file-formats.pdf) +file. + +The following example pipes `solstice` with `solmaps` to save the maps +of the receivers `target_a` and `target_b` computed by solstice for each +provided sun direction. + + solstice -n10000 -D45,70:50,75 -R rcvs.yaml input.yaml | solmaps + +### solpaths + +The `solpaths` tool reads the radiative paths dumped by Solstice when it +is invoked with the `-p` option. +The radiative paths are read from a file or from the standard input, +whether a filename is provided as an argument or not, respectively. +For each simulated sun direction, it generates a +[VTK](http://www.vtk.org/wp-content/uploads/2015/04/file-formats.pdf) +file of the radiative paths. + +The following example illustrates how `solpaths` is piped with +`solstice` to generate two VTK files, one per simulated sun direction. + + solstice -n100 -D45,70:50,75 -R rcvs.yaml -p default input.yaml | solpaths + +### solpp + +The `solpp` program takes two input files: the geometry of a +solar plant output by Solstice when it is invoked with the `-g` +option, and the results of a legacy Solstice simulation. +For each simulated sun direction, it writes three files. +The first one, is a +[VTK](http://www.vtk.org/wp-content/uploads/2015/04/file-formats.pdf) +file that maps to the meshes of the primary geometries (i.e. the +reflectors) their associated simulation results; for instance their +respective cosine factor or the amount of flux that reaches a receiver +and comes from them. +The second output file, is another VTK file that stores the geometry of +the receivers and their simulation results as their incoming flux or +their efficiency. +Finally, the third file is an +[OBJ](http://www.martinreddy.net/gfx/3d/OBJ.spec) file that stores the +meshes of the miscellaneous geometries, i.e. the geometries that are +neither receivers nor primary geometries. +These files can then be visualised and analysed in a data visualization +tool such as [Paraview](https://www.paraview.org). + +In the following example, `solstice` is invoked to simulate two +sun directions on the solar plant described in the `input.yaml` +file. +Then `solstice` run with the `-g` option to export the geometry of +this solar plant with respect to the aforementioned sun directions. +Finally `solpp` is invoked to post-process the previous outputs saved in +the `simul` and `geom` files. + + solstice -D45,70:50,75 -R rcvs.yaml -o simul input.yaml + solstice -D45,70:50,75 -g format=obj -o geom input.yaml + solpp geom simul diff --git a/solstice/solstice_build.sh b/solstice/solstice_build.sh @@ -33,73 +33,37 @@ overview() documentations() { print_header -s Solstice -n Documentations -r ../ - cat solstice-docs.html.in + md2html solstice-docs.md print_footer } -# Build the downloads page downloads() { - if [ $# -lt 1 ]; then - printf "Usage: %s downloads <readme>\n" "$0" >&2 - exit 1 - fi - - release_notes=$(${markdown} "$1" \ - | sed -n '/^<h2>Release notes<\/h2>/,/^<h2>License<\/h2>/p' | sed '$d') - print_header -s Solstice -n Downloads -r ../ - echo "<header><h1>Download Solstice</h1></header>" - print_downloads Solstice - echo "${release_notes}" + md2html solstice-downloads.md print_footer } -print_pp_downloads() +# Build the downloads page +downloads2() { - echo "<table class=\"list\">" - echo " <tr>" - echo " <th>Version</th>" - echo " <th>Sources</th>" - echo " </tr>" - - - find downloads -regex ".*/Solstice-PP-Sources-.*\.tar.gz" | sort -r | \ - while read -r i; do - version=$(echo "${i}" | sed "s/.*Solstice-PP-Sources-\(.*\)\.tar.gz/\1/g") + if [ $# -lt 1 ]; then + printf "Usage: %s downloads <readme>\n" "$0" >&2 + exit 1 + fi - 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>" - done - echo '</table>' + printf '# Downloads\n' + printf '\n' + print_downloads Solstice + printf '\n' + sed -n '/^## Release notes/,/^## License/p' "$1" | sed '$d' } # Build the resources page resources() { - if [ $# -lt 2 ]; then - printf "Usage: %s resources <solpp-readme> <solpp-version>\n" "$0" >&2 - exit 1 - fi - - solpp_release_notes=$(${markdown} "$1" \ - | sed -n '/^<h2>Release notes<\/h2>/,/^<h2>License<\/h2>/p' \ - | sed -e '$d' -e 's/\<h3\>/h4/g') - print_header -s Solstice -n Resources -r ../ - echo "<header><h1>Additional resources</h1></header>" - cat solstice-abg.html.in - VERSION=$2 envsubst < solstice-pp.html.in - echo "<h3>Download Post-Processes</h3>" - print_pp_downloads - echo "${solpp_release_notes}" + md2html solstice-resources.md print_footer }