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:
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<CMAKE_GENERATOR> -DCMAKE_PREFIX_PATH=<STAR_ENGINE_DIR> <MY_PROJECT_DIR>
+</pre>
+
+<p>with <code><CMAKE_GENERATOR></code> the build system to use as for
+instance <code>"Unix Makefiles"</code>, <code><STAR_ENGINE_DIR></code>
+the install location of the Star-Engine and <code><MY_PROJECT_DIR></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