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 447d4a478662583ae5428805e2b838b7a72ce444
parent d2299a418ed695d19ecf5376b4459cb79b7d21f1
Author: Vincent Forest <vincent.forest@meso-star.com>
Date:   Tue,  5 Dec 2017 14:50:39 +0100

First version of the star-engine section

Diffstat:
M.gitignore | 1+
Mmeso-menu.sh | 5+++++
Mmisc.sh | 8++++++++
Astar-engine.html.in | 155+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mstardis.html.in | 6+++---
5 files changed, 172 insertions(+), 3 deletions(-)

diff --git a/.gitignore b/.gitignore @@ -7,6 +7,7 @@ release_notes.html.in solstice.html solstice-downloads.html solstice-resources.html +star-engine.html downloads/ *.sw[po] *.[ao] diff --git a/meso-menu.sh b/meso-menu.sh @@ -155,6 +155,11 @@ print_header() { else echo " <h2><a href=${root}stardis.html>Stardis</a></h2>" fi + if [ "$section" == "Star-Engine" ]; then + echo ' <h2>Star-Engine</h2>' + else + echo " <h2><a href=${root}star-engine.html>Star-Engine</a></h2>" + fi if [ "$section" == "PGP" ]; then echo ' <h2>PGP signatures</h2>' else diff --git a/misc.sh b/misc.sh @@ -34,6 +34,14 @@ echo "Write stardis.html" print_footer } > stardis.html +echo "Write star-engine.html" +{ + print_header Star-Engine dummy + cat star-engine.html.in + print_footer +} > star-engine.html + + echo "Write pgp_signatures.html" { print_header PGP dummy diff --git a/star-engine.html.in b/star-engine.html.in @@ -0,0 +1,155 @@ +<header> + <h1>Star-Engine - A framework for Monte-Carlo solvers</h1> +</header> + +<div id="news"> + <p><b>Star-Engine ${VERSION} is available</b></p> + <ul> + <li>GNU/Linux: + <a href="downloads/Star-Engine-${VERSION}-GNU-Linux64.tar.gz">tarball</a> / + <a href="downloads/Star-Engine-${VERSION}-GNU-Linux64.tar.gz.sig">pgp</a></li> + <li>Windows: + <a href="downloads/Star-Engine-${VERSION}-Win64.zip">zip</a> / + <a href="downloads/Star-Engine-${VERSION}-Win64.zip.sig">pgp</a></li> + </ul> + <ul> + <li>Sources: + <a href="downloads/Star-Engine-${VERSION}-Sources.zip">zip</a> / + <a href="downloads/Star-Engine-${VERSION}-Sources.zip.sig">pgp</a></li> + </ul> +</div> + +<p>The purpose of the Star-Engine is to provide a <b>development +environment</b> for engineers and researchers that wish to use the +<b>Monte-Carlo</b> method in order to perform numerical simulations. The +Monte-Carlo method is indeed the only numerical method suitable for solving +<b>high-dimensionality</b> integrals even when a <b>detailed 3D scene</b> has +to be taken into account or if additional <b>coupled phenomena</b> have to be +considered. + +<p>Such complex situations are easily handled on the paper: physicists will +essentially translate the physical integral they need to solve into a +mathematical form that can be interpreted in terms of a Monte-Carlo algorithm. +But then, developing the associated simulation code might be very difficult, if +even possible, because mathematical expressions care little about data +management, or what is even possible within the development environment. One +good example would be a common integral over a surface: it is quite easy to +write that you need to perform such an integral, but translating this need into +a fast and accurate function that can be used for any given surface is no small +feat.</p> + +<p>The Star-Engine provides such practical solutions: it can be seen as the +bridge between a Monte-Carlo algorithm that exist only as mathematical +expression and the actual numeric simulation code that uses this algorithm in +order to evaluate the solution.</p> + +<h2>Parts of the Star-Engine</h2> + +<p>The Star-Engine is actually a collection of <b>C libraries</b> available for +x86-64 architectures on GNU/Linux as well as Microsoft Windows 7 and later. +They are <b>free software</b> released under <a +href=https://en.wikipedia.org/wiki/Copyleft>copyleft</a> licences. You are +welcome to redistribute them under certain conditions. Refer to their +associated licence for details.</p> + +<p>The core components of the Star-Engine framework and their functionalities +are briefly described below:</p> + +<ul> + <li> + The <a href=https://gitlab.com/meso-star/star-sp.git>Star-SamPling</a> + library implements a set of [Pseudo] <b>Random Number Generators</b> and + <b>random variates</b> useful in the development of Monte-Carlo solvers + which heavily rely on distributions of random variables. + </li><li> + <a href="https://gitlab.com/meso-star/star-mc.git">Star-MonteCarlo</a> + makes simpler the development of efficient Monte-Carlo solvers by providing + multi-threaded integration of user defined integrands. + </li><li> + <a + href="https://gitlab.com/meso-star/star-sf.git">Star-ScatteringFunctions</a> + implements a set of <b>B</b>idirectional <b>S</b>cattering + <b>D</b>istribution <b>F</b>unctions that define how the light is + scattered at an interface. + </li><li> + The <a href=https://gitlab.com/meso-star/star-3d.git>Star-3D</a> library + manages <b>3D geometries</b> and provide functionalities to efficiently + access them through <b>ray-tracing</b> or <b>sampling</b>. + </li><li> + <a + href="https://gitlab.com/meso-star/star-3dstl.git">Star-3DUtilityToolkit</a> + provides functions to generate the triangular mesh of shapes as, for + instance, cylinder, sphere or supershapes. + </li><li> + <a href="https://gitlab.com/meso-star/star-3daw.git">Star-3DAW</a> + and <a href="https://gitlab.com/meso-star/star-3dstl.git">Star-3DSTL</a> + generate Star-3D shapes from geometries saved in the Alias Wavefront obj + and <b>ST</b>ereo <b>L</b>ithography file formats, respectively. This + simplify the use of Star-3D with geometries exported from CAD software. + </li> +</ul> + +<h2>Related projects</h2> + +<p>The following software make use of the Star-Engine framework to implement +Monte Carlo solvers for a wide range of purposes. Refer to the their associated +documentation for more informations.</p> + +<ul> + <li><a href="schiff.html">Schiff</a>: computes the radiative properties of + soft particles,</li> + <li><a href="solstice.html">Solstice</a>: simulates concentrated solar plants,</li> + <li><a href="stardis.html">Stardis</a>: solves coupled thermal problems,</li> + <li><a href="https://gitlab.com/meso-star/star-4v_s.git">Star-4V/S</a>: + evaluates an invariant property of diffuse random walks,</li> + <li><a href="https://gitlab.com/meso-star/star-gf.git">Star-GebhartFactor</a>: + computes the <a href="https://en.wikipedia.org/wiki/Gebhart_factor">Gebhart + factor</a> between 3D primitives.</li> +</ul> + +<h2>Quick start</h2> + +<p>Get the desired archive of Solstice and verify its integrity against its <a +href=pgp_signatures.html>PGP signature</a>. Then extract it. You can +alternatively install the Star-Engine directly from the sources of its +libraries. Refer the Star-Engine <a +href="https://gitlab.com/meso-star/star-engine">git repository</a> for a +complete description of the procedure.</p> + +<p>Once installed, the Star-Engine provides CMake packages that help +programmers to use its libraries in their softwares relying on the CMake +build-system. To use these packages, at the CMake configuration step of the +software, add the Star-Engine CMake package location as well as its install +directory to the CMake search paths. Then use the CMake package mechanism to +use the required Star-Engine libraries.</p> + +<p>For instance, let a project relying on the Star-3D and the Star-SamPling +libraries, with a single source file <code>main.c</code> and a +<code>CMakeLists.txt</code> file defined as follow:</p> + +<pre class="code"> +project(my_project C) + +# Use CMake packages to check and add project dependencies +find_package(Star3D REQUIRED) +find_package(StarSP REQUIRED) +include_directories(${Star3D_INCLUDE_DIR} ${StarSP_INCLUDE_DIR}) + +# Define the program to build +add_executable(my_program main.c) + +# Link the program against the Star-Engine libraries on which it depends +target_link_libraries(my_program StarSP Star3D) +</pre> + +<p>One can generate the CMake project with the following command:</p> + +<pre class="code"> +cmake -G&lt;CMAKE_GENERATOR&gt; -DCMAKE_PREFIX_PATH=&lt;STAR_ENGINE_DIR&gt; &lt;MY_PROJECT_DIR&gt; +</pre> + +<p>with <code>&lt;CMAKE_GENERATOR&gt;</code> the build system to use as for +instance <code>"Unix Makefiles"</code>, <code>&lt;STAR_ENGINE_DIR&gt;</code> +the install location of the Star-Engine and <code>&lt;MY_PROJECT_DIR&gt;</code> +the directory where the aforementioned <code>CMakeLists.txt</code> file is +stored.</p> diff --git a/stardis.html.in b/stardis.html.in @@ -50,12 +50,12 @@ device):</p> <li> the value of interest is the core temperature (semiconductor junction) in the red-colored region of the IGBT which is also the source of dissipated power (see figure below),</li> - <li> the propagator has been precomputed using the Stardis Monte-Carlo + <li> the propagator has been <b>precomputed</b> using the Stardis Monte-Carlo solver from the 3D description of the model and the materials' properties (see figure below),</li> <li> on request, the propagator is applied to the user-provided temperatures - and dissipated power; it acts as a super-fast direct model to compute the - value of the core temperature together with its statistical uncertainty + and dissipated power; it acts as a <b>super-fast direct model</b> to compute + the value of the core temperature together with its statistical uncertainty (standard error),</li> <li> as it carries temporal information, the propagator could be used in transient computations; in this case the input temperatures and dissipated