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 214aadc9aac7081659c115152bc885a49b2cab15
parent 4cd27415b895669624426c3f67f37533b0d0d500
Author: Vincent Forest <vaplv@free.fr>
Date:   Fri, 11 Aug 2017 18:18:12 +0200

Update the CSS to try another menu style

The menu is now fixed and positionned at the left of the page

Diffstat:
Aman.html | 377+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mmeso.css | 83+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------
Msolstice.html | 18+++++++++++++++++-
3 files changed, 460 insertions(+), 18 deletions(-)

diff --git a/man.html b/man.html @@ -0,0 +1,377 @@ +<!DOCTYPE html> + +<html lang=en> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <title>Solstice</title> + <link rel="stylesheet" title="default" href="meso.css"> +</head> + +<body> +<!--div id="navcontainer"> + <ul> + <li><a href="">Home</a></li> + <li id="cur">Solstice</li> + <li><a href="">Schiff</a></li> + <li><a href="">kspectrum</a></li> + <li><a href="">Star-Engine</a></li> + </ul> +</div--> + +<div id="menu"> + <h2>Solstice</h2> + <ul> + <li><a href="solstice.html">About</a></li> + <li>Reference documentation</li> + <ul id=lvl2> + <li id=cur>solstice</li> + <li><a href="">solstice-input</a></li> + <li><a href="">solstice-output</a></li> + <li><a href="">solstice-receiver</a></li> + </ul> + </ul> +</div> + +<div id=content> + +<header> + <h1>solstice(1)</h1> +</header> + + +<H2>NAME</H2> + +solstice - compute the power collected by a concentrated solar plant +<H2>SYNOPSIS</H2> + +<P> +<PRE> +<B>solstice</B> +<B>solstice</B> [<I>option</I>]... [<I>file</I>] +<B>solstice</B> <B>-g</B> &lt;<I>sub-option</I>[:...]&gt; [<I>option</I>]... [<I>file</I>] +<B>solstice</B> <B>-p</B> &lt;<I>sub-option</I>[:...]&gt; [<I>option</I>]... [<I>file</I>] +<B>solstice</B> <B>-r</B> &lt;<I>sub-option</I>[:...]&gt; [<I>option</I>]... [<I>file</I>] +</PRE> + +<H2>DESCRIPTION</H2> + +<P> +<B>solstice</B> computes the total power collected by a concentrated solar plant, as described in the <B><A HREF="../man5/solstice-input.5.html">solstice-input</A></B>(5) <I>file</I>. If the <I>file</I> argument is not provided, the solar plant is read from standard input. To evaluate various efficiencies for each primary reflector, it computes losses due to cosine effect, shadowing and masking, orientation and surface irregularities, reflectivity and atmospheric transmission. The efficiency for each one of these effects is subsequently computed for each reflector. +<P> +The entities on which computations must be performed are listed in the <B><A HREF="../man5/solstice-receiver.5.html">solstice-receiver</A></B>(5) file submitted through the <B>-R</B> option. The estimated results follow the <B><A HREF="../man5/solstice-output.5.html">solstice-output</A></B>(5) format and are written to the <I>output</I> file or to the standard output whether the <B>-o</B> <I>output</I> option is defined or not, respectively. Note that the <B>solstice</B> algorithm is based on the Monte-Carlo method, which means that every result is provided with its numerical accuracy. +<P> +<B>solstice</B> is designed to efficiently handle complex solar facilities: several reflectors can be specified (planes, conics, cylindro-parabolic, etc.) and positioned in 3D space, with a possibility for 1-axis and 2-axis auto-orientation. Multiple materials can be used, as long as the relevant physical properties are provided. Spectral effects are also taken into account: it is possible to define the spectral distribution of any physical property, including the input solar spectrum and the transmissivity of the atmosphere, at any spectral resolution. Refer to <B><A HREF="../man5/solstice-input.5.html">solstice-input</A></B>(5) for more informations. +<P> +In addition of the aforementioned computations, <B>solstice</B> provides three other functionalities. The <B>-g</B> option can be used to convert the <B><A HREF="../man5/solstice-input.5.html">solstice-input</A></B>(5) geometries in CAO files. The <B>-p</B> option saves the sampled radiative paths used by the estimates, allowing to visualise them externally which may be a great help to identify a design issue. Finally, the <B>-r</B> option is used to render an image of the submitted solar facility. Note that these three options are mutually exclusives, and once defined, they replace the default <B>solstice</B> behaviour. +<H2>OPTIONS</H2> + +<P> + +<B>-D</B> &lt;<I>azimuth</I>,<I>elevation</I>[:...]&gt; +<DL COMPACT><DT><DD> +List of sun directions. A direction is defined by its +<I>azimuthal</I> +and +<I>elevation</I> +angles in degrees, with +<I>azimuth</I> +in [0, 360[ and +<I>elevation</I> +in [0, 90]. Each sun direction triggers a new computation whose results are concatenated to the +<I>output</I> +file. +</DL> + +<P> + +<B>-f</B> +<DL COMPACT><DT><DD> +Force overwrite of the +<I>output</I> +file. +</DL> + +<P> + +<B>-g</B> &lt;<I>sub-option</I>:...&gt; +<DL COMPACT><DT><DD> +Generate the shape of the geometry defined in the submitted +<I>file</I> +and store it in +<I>output</I>. Available sub-options are: +<P> + +<B>format=obj</B> +<DL COMPACT><DT><DD> +Define the file format in which the meshes are stored. Currently, only the Alias Wavefront OBJ file format is supported. +</DL> + +<P> + +<B>split=</B>&lt;<B>geometry</B>|<B>object</B>|<B>none</B>&gt; +<DL COMPACT><DT><DD> +Define how the output mesh is split in sub meshes. A sub mesh can be generated for each +<B>geometry</B> +or for each +<B>object</B> +as defined in the +<B><A HREF="../man5/solstice-input.5.html">solstice-input</A></B>(5) file format. The +<B>none</B> +option means that only one mesh is generated for the whole solar facility. By default, the +<B>split</B> +option is set to +<B>none</B>. +</DL> + +</DL> + +<P> + +<B>-h</B> +<DL COMPACT><DT><DD> +List short help and exit. +</DL> + +<P> + +<B>-n</B> <I>experiments-count</I> +<DL COMPACT><DT><DD> +Number of Monte-Carlo experiments used to estimate the solar flux. By default +<I>experiments-count</I> +is set to 10000. +</DL> + +<P> + +<B>-o</B> <I>output</I> +<DL COMPACT><DT><DD> +Write results to +<I>output</I> +with respect to the +<B><A HREF="../man5/solstice-output.5.html">solstice-output</A></B>(5) format. If not defined, write results to standard output. +</DL> + +<P> + +<B>-p</B> &lt;<I>sub-option</I>:...&gt; +<DL COMPACT><DT><DD> +Register the sampled radiative paths for each sun direction and write them to +<I>output</I>. Available sub-options are: +<P> + +<B>default</B> +<DL COMPACT><DT><DD> +Use default sub-options. +</DL> + +<P> + +<B>irlen=</B><I>length</I> +<DL COMPACT><DT><DD> +Length of the radiative path segments going to the infinity. By default, it is computed relatively to the scene size. +</DL> + +<P> + +<B>srlen=</B><I>length</I> +<DL COMPACT><DT><DD> +Length of the radiative path segments coming from the sun. By default, it is computed relatively to the scene size. +</DL> + +</DL> + +<P> + +<B>-q</B> +<DL COMPACT><DT><DD> +Do not print the helper message when no +<I>file</I> +is submitted. +</DL> + +<P> + +<B>-R</B> <I>receivers</I> +<DL COMPACT><DT><DD> +<B><A HREF="../man5/solstice-receiver.5.html">solstice-receiver</A></B>(5) file defining the scene receivers, i.e. the solar plant entities for which +<B>solstice</B> +computes Monte-Carlo estimates. +</DL> + +<P> + +<B>-r</B> &lt;<I>sub-option</I>:...&gt; +<DL COMPACT><DT><DD> +Render an image of the scene through a pinhole camera, for each submitted sun direction. Write the resulting images to +<I>output</I>. Available sub-options are: +<P> + +<B>fov=</B><I>angle</I> +<DL COMPACT><DT><DD> +Horizontal field of view of the camera in [30, 120] degrees. By default +<I>angle</I> +is 70 degrees. +</DL> + +<P> + +<B>img=</B><I>width</I><B>x</B><I>height</I> +<DL COMPACT><DT><DD> +Definition of the rendered image in pixels. By default the image definition is 800x600. +</DL> + +<P> + +<B>pos=</B><I>x</I><B>,</B><I>y</I><B>,</B><I>z</I> +<DL COMPACT><DT><DD> +Position of the camera. By default it is set to {0,0,0} or it is automatically computed to ensure that the whole scene is visible, whether +<B>tgt</B> +is set or not, respectively. +</DL> + +<P> + +<B>rmode=</B>&lt;<B>draft</B>|<B>pt</B>&gt; +<DL COMPACT><DT><DD> +Rendering mode. In +<B>draft</B> +mode, images are computed by ray-casting; all materials are lambertian, the sun is ignored and the only light source is positioned at the camera position. In +<B>pt</B> +mode, the scene is rendered with the un-biased path-tracing Monte-Carlo algorithm; the materials described in the committed +<I>file</I> +as well as the submitted sun directions are correctly handled and an uniform skydome is added to simulate the diffuse infinite lighting. By default +<B>rmode</B> +is set to +<B>draft</B>. +</DL> + +<P> + +<B>spp=</B><I>samples-count</I> +<DL COMPACT><DT><DD> +Number of samples per pixel. If +<B>rmode</B> +is +<B>draft</B>, the samples position into a pixel are the same for all pixels. With +<B>rmode=pt</B> +the pixel samples are generated independently for each pixel. By default, use 1 sample per pixel. +</DL> + +<P> + +<B>tgt=</B><I>x</I><B>,</B><I>y</I><B>,</B><I>z</I> +<DL COMPACT><DT><DD> +Position targeted by the camera. By default, it is set to {0,0,-1} or it is automatically computed to ensure that the whole scene is visible, whether +<B>pos</B> +is set or not, respectively. +</DL> + +<P> + +<B>up=</B><I>x</I><B>,</B><I>y</I><B>,</B><I>z</I> +<DL COMPACT><DT><DD> +Up vector of the camera. If +<B>rmode</B> +is +<B>pt</B>, this vector also defines the direction toward the top of the skydome. By default, +<B>up</B> +is set to {0,1,0}. +</DL> + +</DL> + +<P> + +<B>-t</B> <I>threads-count</I> +<DL COMPACT><DT><DD> +Hint on the number of threads to use. By default use as many threads as CPU cores. +</DL> + +<P> + +<B>-v</B> +<DL COMPACT><DT><DD> +Make solstice more verbose. +</DL> + +<H2>EXAMPLES</H2> + +<P> +Launch two simulations for sun directions whose azimuthal and elevation angles are {<B>45</B>,<B>70</B>} and {<B>50</B>,<B>75</B>}. The solar facility is described in <B>input.yaml</B> and the receivers on which the integrations must be performed are declared in the <B>rcvs.yaml</B> file. <B>10000</B> experiments are used by the Monte-Carlo estimates and the results are written to <B>output</B> even though this file already exists: +<P> +<DL COMPACT><DT><DD> + + + +<PRE> +$ solstice -D45,70:50,75 -R rcvs.yaml -n 10000 -f -o output input.yaml +</PRE> + +</DL> + + + + +<P> +Generate a mesh for each geometry described in <B>input.yaml</B>, and save them in the <B>output</B> file with respect to the Alias Wavefront OBJ format. The meshes are positioned according to their orientation constraints, with respect to the sun direction whose azimuthal and elevation angles are {<B>30</B>,<B>60</B>}. Use the <B><A HREF="../man1/csplit.1.html">csplit</A></B>(1) Unix command to generate an Alias Wavefront OBJ file per geometry stored in <B>output</B>. The name of the generated Alias Wavefront OBJ files are <B>geom</B>&lt;<I>NUM</I>&gt;<B>.obj</B> with <I>NUM</I> in [0, N-1] where N is the number of geometries described in <B>input.yaml</B>. Refer to <B><A HREF="../man5/solstice-output.5.html">solstice-output</A></B>(5) for informations on the regular expression <B>^---$</B> used to split the output file: +<P> +<DL COMPACT><DT><DD> + + + +<PRE> +$ solstice -D30,60 -g format=obj:split=geometry -f -o output input.yaml +$ csplit -f geom -b %02d.obj -z --suppress-matched output /^---$/ {*} +</PRE> + +</DL> + + + + +<P> +Trace 100 radiative paths into the solar plant described in <B>input.yaml</B>, with respect to the sun direction whose azimuthal and elevations angles are <B>0</B> and <B>90</B> degrees, respectively. Write the <B><A HREF="../man5/solstice-output.5.html">solstice-output</A></B>(5) result to the standard output and postprocess it with the <B><A HREF="../man1/sed.1.html">sed</A></B>(1) Unix command to remove the first line that stores the sun direction from which the radiative paths come from. The remaining data that list the radiative paths geometry are redirected into the <B>paths.vtk</B> file: +<P> +<DL COMPACT><DT><DD> + + + +<PRE> +$ solstice -n 100 -D0,90 -R rcvs.yaml -p default input.yaml | sed '1d' &gt; paths.vtk +</PRE> + +</DL> + + + + +<P> +Use the path-tracing rendering algorithm to draw the solar plant <B>solplant.yaml</B> with respect to the sun direction whose azimuthal and elevation angles are <B>180</B> and <B>45</B> degrees, respectively. Use <B>64</B> samples per pixel to estimate the per-pixel radiance and fix the up camera vector to {<B>0</B>,<B>0</B>,<B>1</B>}. Write the <B><A HREF="../man5/solstice-output.5.html">solstice-output</A></B>(5) result to standard output and use the <B><A HREF="../man1/sed.1.html">sed</A></B>(1) Unix command to remove the first line which stores the sun direction used to draw the image. Finally, visualise the rendered picture by redirecting the remaining data to the <B><A HREF="../man1/feh.1.html">feh</A></B>(1) image viewer. +<P> +<DL COMPACT><DT><DD> + + + +<PRE> +$ solstice -D180,45 -r up=0,0,1:rmode=pt:spp=64 solplant.yaml | sed '1d' | feh - +</PRE> + +</DL> + + + + +<H2>COPYRIGHT</H2> + +<P> +<B>solstice</B> is copyright &#169; CNRS 2016-2017. License GPLv3+: GNU GPL version 3 or later <A HREF="http://gnu.org/licenses/gpl.html.">http://gnu.org/licenses/gpl.html.</A> This is a free software. You are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. +<A NAME="lbAH">&nbsp;</A> +<H2>SEE ALSO</H2> + +<P> +<B><A HREF="../man1/csplit.1.html">csplit</A></B>(1), <B><A HREF="../man1/feh.1.html">feh</A></B>(1), <B><A HREF="../man1/sed.1.html">sed</A></B>(1), <B><A HREF="../man5/solstice-input.5.html">solstice-input</A></B>(5), <B><A HREF="../man5/solstice-output.5.html">solstice-output</A></B>(5), <B><A HREF="../man5/solstice-receivers.5.html">solstice-receivers</A></B>(5) +<P> + +</div> <!--content--> +</body> diff --git a/meso.css b/meso.css @@ -1,9 +1,10 @@ body { - background-color: #cccccc; + background-color: #e0e0e0; font-family: "Liberation Sans",sans-serif; - margin: 0 auto; + margin: 1em auto; /*auto;*/ text-align: center; - max-width: 50em; + font-size: 10pt; + max-width: 71em; } h1 { @@ -43,10 +44,15 @@ pre.code a { font-weight: normal; } +#sides { + margin: 0; +} + /******************************************************************************* * Navigation bar ******************************************************************************/ #navcontainer { + padding-left: 2em; height: 2em; } @@ -78,7 +84,57 @@ pre.code a { } #navcontainer a:hover { - color: #ffffff + color: #777777 +} + +/******************************************************************************* + * Menu + ******************************************************************************/ +#menu { + padding-right: 2em; + text-align: left; + width: 15em; + float: left; + overflow:hidden; +} + +#menu ul { + list-style-type: none; + font-weight: bold; + padding: 0em 0 0em 0; + font-size: 11pt; +} + +#menu li { + padding: 0.2em 0 0.2em 0; +} + +#menu ul#lvl2 { + padding-left: 2em; + font-weight: normal; + font-size: 10pt; +} + +#menu ul#lvl2 a { + font-weight: normal; +} + +#menu li#cur { + color: #f44d27 +} + +#menu a { + text-decoration: none; + color: #000000; +} + + +#menu a:hover { + color: #777777; +} + +#menu h2 { + font-variant: small-caps; } /******************************************************************************* @@ -87,17 +143,17 @@ pre.code a { #content { padding: 1em 2em 1em 2em; background-color: #ffffff; - text-align: justify; - font-size: 10pt; - clear: both; + text-align: left; + width: 50em; + float: left; + overflow: hidden; } #news { float: right; margin: 0 0 0 1em; padding: 0 0 0 0.5em; - background-color: #555749; - color: #ffffff; + background-color: #e0e0e0; width: 15em; text-align: left; } @@ -106,6 +162,7 @@ pre.code a { float: right; margin: 0 0 1em 1em; } + #caption { font-style: italic; font-size: 8pt; @@ -113,12 +170,4 @@ pre.code a { color: #666666 } -#news a { - color: white; - font-weight: normal; - outline: 0; -} -#news h2 { - font-size: 10pt -} diff --git a/solstice.html b/solstice.html @@ -9,7 +9,7 @@ </head> <body> -<div id="navcontainer"> +<!--div id="navcontainer"> <ul> <li><a href="">Home</a></li> <li id="cur">Solstice</li> @@ -17,6 +17,21 @@ <li><a href="">kspectrum</a></li> <li><a href="">Star-Engine</a></li> </ul> +</div--> + +<div id="sides"> +<div id="menu"> + <h2>Solstice</h2> + <ul> + <li id=cur>About</li> + <li>Reference documentation</li> + <ul id=lvl2> + <li><a href="man.html">solstice</a></li> + <li><a href="">solstice-input</a></li> + <li><a href="">solstice-output</a></li> + <li><a href="">solstice-receiver</a></li> + </ul> + </ul> </div> <div id=content> @@ -155,4 +170,5 @@ use the <code>man</code> command-line to read its ROFF version.</p> </pre> </div> <!--content--> +</div> </body>