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:
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
}