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 a15e755c13f283e1e9323f7b222d28ce1bd1eb48
parent d8863b762e866fbe312fc54ff18cdf924f1d0ca0
Author: Vincent Forest <vincent.forest@meso-star.com>
Date:   Tue,  3 Oct 2017 16:20:38 +0200

Add the "additional ressources" part

Diffstat:
M.gitignore | 1+
Mmeso.css | 2+-
Msolstice-menu.sh | 7++++++-
Asolstice-resources.html.in | 143+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Msolstice.html.in | 2+-
Msolstice.sh | 12+++++++++++-
6 files changed, 163 insertions(+), 4 deletions(-)

diff --git a/.gitignore b/.gitignore @@ -1,6 +1,7 @@ release_notes.html.in solstice.html solstice-downloads.html +solstice-resources.html downloads/ *.sw[po] *.[ao] diff --git a/meso.css b/meso.css @@ -210,7 +210,7 @@ tr#gray { background-color: #ccc; } -tr:nth-child(2n+1) { +tr:nth-child(2n) { background-color: #F7F6F1; } diff --git a/solstice-menu.sh b/solstice-menu.sh @@ -65,6 +65,11 @@ print_header() { else echo " <li><a href=${root}solstice-downloads.html>Downloads</a></li>" fi + if [ "$name" == "Resources" ]; then + echo ' <li id=cur>Additional resources</li>' + else + echo " <li><a href=${root}solstice-resources.html>Additional resources</a></li>" + fi echo ' </ul>' echo ' <div id="info">' echo ' <p>Solstice is developped by <a' @@ -90,7 +95,7 @@ print_downloads() { echo ' <th>Version</th>' echo ' <th>GNU/Linux 64-bits</th>' echo ' <th>Windows 64-bits</th>' - echo ' <th>Source</th>' + echo ' <th>Sources</th>' echo ' </tr>' local archs=$(ls -r downloads/Solstice-*.tar.gz ) diff --git a/solstice-resources.html.in b/solstice-resources.html.in @@ -0,0 +1,143 @@ +<header> + <h1>Additional resources</h1> +</header> + +<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> + +<p><table> + <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></p> + +<h2>Post-Processes</h2> + +<p> +Solstice Post-Process is a collection of command-line tools that post-process +the outputs of Solstice. They do not belong to the Solstice project and are +thus provided as it, without additional support. 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 <a +href="https://www.gnu.org/licenses/gpl.html">license</a> for details.</p> + +<table> + <tr><th>Sources</th></tr> + <tr><td>[<a href="">tarball</a>]</td></tr> +</table> + +<p>To use these tools, download the provided archive that contains their +sources and a GNU/Makefile to simplify the build process on GNU/Linux and on +Windows through <a href="http://www.mingw.org/">MinGW</a>; then, 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 conforms to the C89 standard.</p> + +<pre> +$ wget www.meso-star.com/solstice/downloads/Solstice-PP-Sources.tar.gz +$ tar xzvf Solstice-PP-Sources.tar.gz +$ make -C Solstice-PP-Sources +</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 simulation results. +</p> + +<p>The following command lines invoke 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>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 red +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 reads the geometry of a solar plant +generated by the <code>-g</code> option of Solstice, and the results of a +legacy Solstice simulation. For each simulated sun direction, it writes three +files. The first one, is a VTK 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 its +incoming flux or its efficiency. Finally, the third written file is an <a +HREF="http://www.martinreddy.net/gfx/3d/OBJ.spec">OBJ</a> that stores the +meshes of the miscellaneous geometries, i.e. the geometries that are neither +receivers nor a primary geometries. These files can then be visualised and +analyse into Paraview.</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.html.in b/solstice.html.in @@ -139,6 +139,6 @@ $ man solstice-output $ man solstice-receiver </pre> -<p>The Solstice <a href="solstice-downloads.html#ABG">beginner's guide</a> +<p>The Solstice <a href="solstice-receivers.html#ABG">beginner's guide</a> gives fundamentals of Solstice, starting from simple examples to more complex ones.</p> diff --git a/solstice.sh b/solstice.sh @@ -75,7 +75,8 @@ fi ################################################################################ # Sign the package ################################################################################ -archs=$(find downloads -regex "^.*/Solstice-[0-9]+\.[0-9]+\.[0-9]+-.*") +archs=$(find downloads -regex "^.*/Solstice-[0-9]+\.[0-9]+\.[0-9]+-.*zip" \ + -o -regex "^.*/Solstice-[0-9]+\.[0-9]+\.[0-9]+-.*tar.gz") for arch in $archs; do if [ ! -f $arch.sig ]; then echo "Sign $arch" @@ -122,6 +123,15 @@ echo "Write solstice-downloads.html" print_footer; } > solstice-downloads.html; +################################################################################ +# Generate he additionnal resources page +################################################################################ +echo "Write solstice-resources.html" +{ + print_header Resources; + cat solstice-resources.html.in; + print_footer; +} > solstice-resources.html ################################################################################ # Generate the reference documentation