Stardis Solver Release Notes git repository

Version 0.14

Version 0.13.1

Fixed compilation errors and compilation warnings displayed on some versions of GCC.

Version 0.13

Non linear radiative transfer

Uses a new iterative numerical method to estimate radiative transfer. With a recursion level of 1, this is equivalent to a linearization of the radiative transfer but with a reference temperature that can vary in time and space. By using a higher-order recursion, one can converge towards a rigorous estimate that takes into account the non-linearity of the radiative transfer; the higher the recursion order, the better the convergence, but with the counterpart of an increase in calculation time.

Distributed memory parallelism

Uses message passing interface to distribute computation across multiple computers. Stardis-Solver now, uses a mixed parallelism: on one computer (i.e. a node), it uses a shared memory parallelism and relies on the message passing interface to parallelize calculations between several nodes.

Type and state of the random number generator

Adds the member input variable rng_type to the solve functions. It defines the type of random number generator to use when no generator is defined. Note that the sdis_solve_camera function does not have a random number generator as an input variable and has therefore been updated to support it.

Reading the source code

Refactoring and deep rewriting of the source code to simplify its reading.

Version 0.12.3

Fix green paths ending in a fluid (transcient computation): The path's end was not correctly registred and the path was later treated as failed.

Version 0.12.2

Version 0.12.1

Updates the way numerical issues are handled during a conductive random walk. Previously, a zealous test would report a numerical error and stop the calculations when that error could be handled.

Version 0.12

Add the support of thermal contact resistance between two solids: the new thermal_contact_resistance functor on the data structure struct sdis_interface_shader defines the thermal resistance contact in K.m^2.W^-1 at a given time and at a specific position onto the interface.

Version 0.11

Version 0.10.1

Version 0.10

Version 0.9

Version 0.8.2

Version 0.8.1

Version 0.8

Version 0.7

Add Green function support

Provide new solve functions that compute and save the Green function, i.e. the propagator used in regular solvers. The resulting Green function can be then evaluated to obtain an estimate of the temperature.

The time spent to compute the Green function is comparable to the computation time of regular solvers; actually, they rely on the same code. However, its evaluation is instantaneous while it still handles the limit conditions, the boundary fluxes and the power term of the media at the moment of the 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-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

Add the int register_paths mask to almost all solve functions to enable the registration against the returned estimator of the failure and/or successful random paths used by the solvers. For each path, the registered data are:

Note that the amount of registered data can be huge if too more paths are registered. Consequently, this functionality should be used with few realisations to obtain a subset of representative paths, or to only register the few paths that failed in order to diagnose what went wrong.


Version 0.6.1

Version 0.6

Version 0.5

Add support of fluid enclosure with unknown uniform temperature.

Version 0.4

Full rewrite of how the volumetric power is taken into account.

Version 0.3

Version 0.2

Version 0.1

Version 0.0

First version and implementation of the Stardis-Solver API.