stardis-solver

Solve coupled heat transfers
git clone git://git.meso-star.fr/stardis-solver.git
Log | Files | Refs | README | LICENSE

commit c28451b7b47ccf4dd9e75ca65dc64543fd152a8b
parent a98df7818238286ecb492b2cb2ad4acf6be00611
Author: Vincent Forest <vincent.forest@meso-star.com>
Date:   Tue, 17 Nov 2020 10:39:32 +0100

Write the Solver overview

Diffstat:
MREADME.md | 123++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------
1 file changed, 104 insertions(+), 19 deletions(-)

diff --git a/README.md b/README.md @@ -1,11 +1,96 @@ -# Stardis - -The purpose of this library is to solve coupled convecto - conducto - radiative -thermal problems in 2D and 3D environments. +# Stardis-Solver + +Stardis-Solver is *free software* that solves *coupled* convecto - conducto - +radiative *thermal problems* in *complex* 2D and 3D *environments*. This C89 +library internally relies on *Monte-Carlo* algorithms based on reformulations +of the main heat transfer phenomena as cross-recursive "thermal paths" that +explore space and time until a boundary condition or an initial condition is +found. The key concept here is that heat transfer phenomena are not considered +separately but naturally coupled via cross-recursive Monte-Carlo algorithms. + +The hypothesis these algorithms are based upon are the following: + +- *conduction*: the discretization of thermal heat transfer in solids introduces + the notion of a conductive path length within the Monte-Carlo algorithm. + Solutions obtained using this algorithm are formally exact at the limit of a + null path length. In practice, this path length has to be adapted for a given + geometric configuration so that its value is small compared to the smallest + typical length of a solid. +- *convection*: fluid media are supposed to be isothermal, even if their + temperature may vary with time. This hypothesis relies on the assumption of + perfectly agitated fluids. +- *radiation*: local radiative transfer is linearised, i.e. instead of writing + the spectrally integrated net flux as a difference of temperatures to the + power 4, it is assumed of the same form as the convective flux (as a + difference of temperatures, multiplied by a radiative exchange coefficient). + In order to be valid, this representation of radiative transfer exchanges + requires that the temperature at any position and time is close to a known + reference temperature. + +In Stardis-Solver the system to simulate is represented by a *scene* whose +geometry defines the contour of the object only: in contrast to legacy thermal +solvers *no volumetric mesh* has to be provided. Each geometric primitive as an +associated *interface* that defines its physical properties (e.g. surface +emissivity) and reference the *media* defining the thermal properties on both +side of the primitive. The boundary and initial conditions are defined defined +on the interfaces (convection coefficient, fixed temperature/flux, etc.) and +the media (known temperature). Once fully and consistently described, +computations can be invoked on the resulting scene. + +The main features of the solver are currently: + +- *probe computation*: Stardis-Solver will compute the temperature at any given + position (spatial and temporal). The main idea is that thermal paths start + from this probe position, and scatter in space while going back in time, + until a (spatial) boundary condition or a (temporal) initial condition is + met. In addition to the value of temperature, using a Monte-Carlo method + makes possible to compute a numerical uncertainty (standard deviation of the + weight distribution) over each result. +- *flux computation*: Stardis-Solver can compute the flux over any surface (or + group of surfaces) at any time. Alternatively, it can also compute the total + energy output from a solid element where a internal source of power must be + taken into account. +- *green function*: the value of temperature computed at a probe position is + the average of the Monte-Carlo weight for every thermal path. In practice: + when no internal power sources have to be considered, the weight of any given + thermal path is the temperature of the boundary or initial condition that has + been reached; when internal power sources or imposed fluxes are taken into + account, additional contributions to the weight must be continuously + evaluated by the thermal conduction algorithm, but these contributions are + proportional to the local dissipated power/imposed flux. In any case, the + position and date at the end of each thermal path (and also accumulation + coefficients) can be stored during a first complete Monte-Carlo simulation. + This information, known as the Green function, can then be used in (very + fast) post-processing to compute all required results for different boundary + and initial conditions (and also different internal power sources/imposed + flux). Note that when using the Green function, only boundary and initial + conditions (as well as internal power sources) can be modified: in + particular, the geometry, thermal properties and exchange coefficients have + to remain identical. +- *path visualization*: Stardis-Solver can store the complete spatial and + temporal position along a set of thermal paths, for latter visualization. In + addition of their position and, each thermal path vertex register additional + data as the type of thermal phenomena it simulates, the accumulated + power/flux along the path, etc. + +Stardis-Solver is currently used in two frameworks. The +[Stardis](https://gitlab.com/meso-star/stardis.git) CLI and its associated +tools is the reference workflow of Stardis-Solver. It proposes a complete +toolchain from fileformats describing the scene (geometry, thermal properties, +limit and boundary conditions) to computations and post-treatments of the +results ([Stardis-Green](https://gitlab.com/meso-star/stardis-green.git). +Stardis-Solver is also integrated into +[SYRTHES](https://www.edf.fr/en/the-edf-group/world-s-largest-power-company/activities/research-and-development/scientific-communities/simulation-softwares?logiciel=10818), +the general thermal free software developed by Electricité De France (EDF). ## How to build -Stardis relies on the [CMake](http://www.cmake.org) and the +Stardis-Solver is compatible GNU/Linux as well as Microsoft Windows 7 and +later, both in 64-bits. It was successfully built with the [GNU Compiler +Collection](https://gcc.gnu.org) (versions 4.9.2 and later) as well as with +Microsoft Visual Studio 2015. + +It relies on the [CMake](http://www.cmake.org) and the [RCMake](https://gitlab.com/vaplv/rcmake/) package to build. It also depends on the [RSys](https://gitlab.com/vaplv/rsys/), @@ -70,7 +155,7 @@ variable the install directories of its dependencies. data inconsistencies. - Fix a memory leak when the scene creation failed. - Enable parallelism on Star-Enclosure[2D] to improve the performances of the - enclosure extraction on the setup of the Stardis scene. + enclosure extraction on the setup of the Stardis-Solver scene. ### Version 0.8.1 @@ -107,12 +192,12 @@ evaluation. This means that one can estimate the Green function of a system only one time and then evaluate it with different limit conditions, boundary fluxes or power terms with negligible computation costs. -Currently, Stardis assumes that during the Green function estimation, the -properties of the system do not depend on time. In addition, it assumes that -the boundary fluxes and the volumic powers are constants in time and space. -Anyway, on Green function evaluation, the limit conditions of the system can -still vary in time and space; systems in steady state can be simulated with -Green functions. +Currently, Stardis-Solver assumes that during the Green function estimation, +the properties of the system do not depend on time. In addition, it assumes +that the boundary fluxes and the volumetric powers are constants in time and +space. Anyway, on Green function evaluation, the limit conditions of the +system can still vary in time and space; systems in steady state can be +simulated with Green functions. #### Add heat path registration @@ -158,7 +243,7 @@ the few paths that failed in order to diagnose what went wrong. not support time integration, yet. - Add support of an explicit initial time `t0` for the fluid. - Fix a bug in the estimation of unknown fluid temperatures: the associativity - between the internal Stardis data and the user defined data was wrong. + between the internal Stardis-Solver data and the user defined data was wrong. ### Version 0.5 @@ -242,17 +327,17 @@ Full rewrite of how the volumetric power is taken into account. ### Version 0.0 -First version and implementation of the Stardis solver API. +First version and implementation of the Stardis-Solver API. - Support fluid/solid and solid/solid interfaces. - Only conduction is currently fully supported: convection and radiative temperature are not computed yet. Fluid media can be added to the system but - currently, Stardis assumes that their temperature are known. + currently, Stardis-Solver assumes that their temperature are known. ## License -Copyright (C) 2016-2020 |Meso|Star> (<contact@meso-star.com>). Stardis is free -software released under the GPLv3+ license: GNU GPL version 3 or later. You are -welcome to redistribute it under certain conditions; refer to the COPYING files -for details. +Copyright (C) 2016-2020 |Meso|Star> (<contact@meso-star.com>). Stardis-Solver +is free software released under the GPLv3+ license: GNU GPL version 3 or later. +You are welcome to redistribute it under certain conditions; refer to the +COPYING files for details.