star-gf

Compute Gebhart factors
git clone git://git.meso-star.fr/star-gf.git
Log | Files | Refs | README | LICENSE

README.md (3909B)


      1 # Star Gebhart Factor
      2 
      3 The purpose of this C library is to numerically compute the [Gebhart
      4 factor](https://en.wikipedia.org/wiki/Gebhart_factor) between 3D
      5 primitives. The Gebhart factor *B(i,j)* between two arbitrary surfaces
      6 *i* and *j* is defined as the fraction of the radiative flux emitted by
      7 *i* that is absorbed by *j*. It is not equal to the [form
      8 factor](https://en.wikipedia.org/wiki/View_factor) between *i* and *j*,
      9 even tough the difference is subtle: the form factor is the fraction of
     10 the radiative flux emitted by *i*, in direction of *j* (which is not
     11 necessarily totally absorbed by *j*). In our case, Gebhart factors have
     12 been integrated over *j*, which means that we compute the fraction of
     13 the radiative flux emitted by *i* that is absorbed by all other
     14 surfaces. It is obviously not equal to one, since a fraction of the flux
     15 can be re-absorbed by *i* itself.
     16 
     17 Star-GF estimates Gebhart factors with the Monte-Carlo method: it
     18 consists in simulating the trajectory of energy bundles according to a
     19 relevant physical model. Emission, absorption and reflection processes
     20 are therefore taken into account, as well as spectral aspects (surface
     21 properties can be defined as a function of wavelength). Should
     22 scattering processes in semi-transparent media be taken into
     23 consideration, it would be possible (even if actually not implemented).
     24 The main advantage of this statistical method is the fact it provides a
     25 numerical accuracy over each result: the Monte-Carlo method is often
     26 referred as a reference method. Also, the resulting algorithm is totally
     27 decoupled from the geometry: it will remain the same for every scene, no
     28 matter how much data is used for its description. This geometry is
     29 provided by the caller through a scene managed by the
     30 [Star 3D](https://gitlab.com/meso-star/star-3d) library.
     31 
     32 Gebhart factors may finally be used in order to compute the radiative
     33 flux absorbed by each surface, and subsequently the net radiative flux
     34 over each surface. The main advantage of Gebhart factors over form
     35 factors is the associated flexibility in terms of reflection properties:
     36 while form factors are computed with the implicit assumption that
     37 surfaces are diffuse reflectors, there is no such restriction in the
     38 case of Gebhart factors; any type of reflection can be used (totally or
     39 partially specular surfaces).
     40 
     41 ## Requirements
     42 
     43 - C compiler
     44 - POSIX make
     45 - pkg-config
     46 - [RSys](https://gitlab.com/vaplv/rsys)
     47 - [Star 2D](https://gitlab.com/meso-star/star-2d)
     48 - [Star 3D](https://gitlab.com/meso-star/star-3d)
     49 - [Star SamPling](https://gitlab.com/meso-star/star-sp)
     50 
     51 ## Installation
     52 
     53 Edit config.mk as needed, then run:
     54 
     55     make clean install
     56 
     57 ## Release notes
     58 
     59 ### Version 0.3
     60 
     61 Replace CMake with POSIX make as build system.
     62 
     63 ### Version 0.2.4
     64 
     65 Sets the required version of Star-SampPling to 0.12. This version fixes
     66 compilation errors with gcc 11 but introduces API breaks.
     67 
     68 ### Version 0.2.3
     69 
     70 Fix API break on filter function introduced by Star-3D 0.8.
     71 
     72 ### Version 0.2.2
     73 
     74 Bump the version of the dependencies and fix the code to handle their
     75 updates.
     76 
     77 ### Version 0.2.1
     78 
     79 Fix a crash that occurred in scenes having medium with a null
     80 absorption. In such scenes, radiative flux going to infinity are not
     81 allowed and must be handled as a numerical imprecision or a scene
     82 inconsistency. This was not the case: this flux was accumulated into a
     83 specific counter that was not initialised since, in this situation, such
     84 flux could not exist.
     85 
     86 ### Version 0.2
     87 
     88 - Add support of 2D scenes.
     89 - Add support of the radiative flux absorption in 0D medium.
     90 
     91 ## License
     92 
     93 Copyright (C) 2021, 2024 |Meso|Star> (contact@meso-star.com)  
     94 Copyright (C) 2015-2018 EDF S.A., France (syrthes-support@edf.fr)
     95 
     96 Star-GF is free software released under the GPL v3+ license: GNU GPL
     97 version 3 or later. You are welcome to redistribute it under certain
     98 conditions; refer to the COPYING file for details.