stardis-solver

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

commit e1eefd1803609894d778553f65b508eb87ed06e9
parent 922ac5303c1794806926f5a83b9355e01a63d9ef
Author: Vincent Forest <vincent.forest@meso-star.com>
Date:   Fri,  5 Apr 2024 12:05:30 +0200

Fixed false test failures when using MPI

Camera and probe2 tests fail on one of the test computers. They fail
when we check the RNG state/type update. We therefore expect the
estimate to change. However, some random sequences, although different
and leading to different random walks, give exactly the same results. To
remedy this, we adjust the seed of the sequences or the number of
realizations to try and counteract this unfortunate phenomenon. But
there's no guarantee that this won't happen again on another computer
with a different number of cores and threads, since RNG sequences are
distributed across processes.

Diffstat:
Msrc/test_sdis_solve_camera.c | 4++--
Msrc/test_sdis_solve_probe2.c | 2+-
2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/test_sdis_solve_camera.c b/src/test_sdis_solve_camera.c @@ -30,7 +30,7 @@ #define IMG_WIDTH 157 #define IMG_HEIGHT 53 -#define SPP 30 /* #Samples per pixel, i.e. #realisations per pixel */ +#define SPP 32 /* #Samples per pixel, i.e. #realisations per pixel */ /* * The scene is composed of a solid cube whose temperature is unknown. The @@ -748,7 +748,7 @@ main(int argc, char** argv) /* Check the RNG state */ OK(ssp_rng_create(NULL, SSP_RNG_THREEFRY, &rng)); - OK(ssp_rng_discard(rng, 31415926535)); /* Move the RNG state */ + OK(ssp_rng_discard(rng, 3141592653589)); /* Move the RNG state */ solve_args.rng_state = rng; solve_args.rng_type = SSP_RNG_TYPE_NULL; OK(sdis_solve_camera(scn, &solve_args, &buf2)); diff --git a/src/test_sdis_solve_probe2.c b/src/test_sdis_solve_probe2.c @@ -296,7 +296,7 @@ main(int argc, char** argv) /* Check the RNG state */ OK(ssp_rng_create(NULL, SSP_RNG_THREEFRY, &rng)); - OK(ssp_rng_discard(rng, 31415926535)); /* Move the RNG state */ + OK(ssp_rng_discard(rng, 3141592653589)); /* Move the RNG state */ solve_args.rng_state = rng; solve_args.rng_type = SSP_RNG_TYPE_NULL; OK(sdis_solve_probe(scn, &solve_args, &estimator2));