stardis-solver

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

commit 273140d19f85be710342e548e7d732610066ee7e
parent b5e6bb5111d0326a86159f6790df2b13d5e52096
Author: Vincent Forest <vincent.forest@meso-star.com>
Date:   Thu, 14 Nov 2019 15:15:40 +0100

Merge branch 'release_0.8.1'

Diffstat:
MREADME.md | 6++++++
Mcmake/CMakeLists.txt | 8++++----
Msrc/sdis_heat_path_boundary_Xd.h | 4+++-
Msrc/sdis_scene_Xd.h | 11++++++-----
4 files changed, 19 insertions(+), 10 deletions(-)

diff --git a/README.md b/README.md @@ -25,6 +25,12 @@ variable the install directories of its dependencies. ## Release notes +### Version 0.8.1 + +- Fix a solver issue that led to reject valid sampled paths. +- Bump the version of the Star-Enclosure[2D] libraries to 0.4.2. These versions + fix a numerical issue that might led to an infinite loop at the scene creation. + ### Version 0.8 - Drastically improve the robustness of the solver~: far less realisations are diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt @@ -30,10 +30,10 @@ CMAKE_DEPENDENT_OPTION(ALL_TESTS ################################################################################ find_package(RCMake 0.4 REQUIRED) find_package(Star2D 0.3.1 REQUIRED) -find_package(Star3D 0.6 REQUIRED) +find_package(Star3D 0.6.2 REQUIRED) find_package(StarSP 0.8 REQUIRED) -find_package(StarEnc 0.2.2 REQUIRED) -find_package(StarEnc2D 0.2.2 REQUIRED) +find_package(StarEnc 0.4.2 REQUIRED) +find_package(StarEnc2D 0.4.2 REQUIRED) find_package(RSys 0.8.1 REQUIRED) find_package(OpenMP 2.0 REQUIRED) @@ -56,7 +56,7 @@ rcmake_append_runtime_dirs(_runtime_dirs RSys Star3D StarSP StarEnc StarEnc2D) ################################################################################ set(VERSION_MAJOR 0) set(VERSION_MINOR 8) -set(VERSION_PATCH 0) +set(VERSION_PATCH 1) set(VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}) set(SDIS_FILES_SRC diff --git a/src/sdis_heat_path_boundary_Xd.h b/src/sdis_heat_path_boundary_Xd.h @@ -345,7 +345,9 @@ XD(select_reinjection_dir) * randomly selected by the sample_reinjection_dir procedure and adjust * the displacement distance. */ dir = dir0; - if(dst0 < dst1) { + + /* Define the reinjection distance along dir0 and its corresponding hit */ + if(dst0 <= dst1) { dst = dst0; hit = hit0; } else { diff --git a/src/sdis_scene_Xd.h b/src/sdis_scene_Xd.h @@ -570,8 +570,8 @@ XD(run_analyze) geom.position = position; geom.data = ctx; res = sencXd(scene_add_geometry) - (senc_scn, (unsigned)nprims, XD(geometry_indices), geometry_media, NULL, - (unsigned)nverts, XD(geometry_position), &geom); + (senc_scn, (unsigned)nprims, XD(geometry_indices), geometry_media, + (unsigned)nverts, XD(geometry_position), NULL, NULL, &geom); if(res != RES_OK) goto error; /* Launch the scene analyze */ @@ -624,7 +624,7 @@ XD(setup_properties) size_t ninterfaces; #if DIM == 2 - /* Retrieve the triangle id in user space */ + /* Retrieve the segment id in user space */ SENCXD(descriptor_get_global_segment_global_id(desc, iprim, &iprim_adjusted)); /* Fetch the enclosures that the segment splits */ SENCXD(descriptor_get_global_segment_enclosures(desc, iprim, enclosures)); @@ -835,12 +835,13 @@ XD(setup_enclosure_geometry)(struct sdis_scene* scn, struct sencXd(enclosure)* e res = darray_uint_resize(&enc_data->local2global, nprims); if(res != RES_OK) goto error; FOR_EACH(iprim, 0, nprims) { + enum sencXd(side) side; #if DIM == 2 senc2d_enclosure_get_segment_global_id - (enc, iprim, darray_uint_data_get(&enc_data->local2global)+iprim); + (enc, iprim, darray_uint_data_get(&enc_data->local2global)+iprim, &side); #else senc_enclosure_get_triangle_global_id - (enc, iprim, darray_uint_data_get(&enc_data->local2global)+iprim); + (enc, iprim, darray_uint_data_get(&enc_data->local2global)+iprim, &side); #endif }