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:
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