commit 50ef2a911d42c5c9425084a0cb660d301060e5c9
parent f55a0204795c69d087a8f119ced789ccbcf69aad
Author: Vincent Forest <vincent.forest@meso-star.com>
Date: Fri, 9 Feb 2024 10:22:17 +0100
Check the resolution of a list of boundary probes with MPI
Make the test_sdis_solve_probe_boundary_list test compatible with MPI
Diffstat:
2 files changed, 15 insertions(+), 10 deletions(-)
diff --git a/Makefile b/Makefile
@@ -192,7 +192,6 @@ TEST_SRC =\
src/test_sdis_solve_probe_2d.c\
src/test_sdis_solve_probe2_2d.c\
src/test_sdis_solve_probe3_2d.c\
- src/test_sdis_solve_probe_boundary_list.c\
src/test_sdis_source.c\
src/test_sdis_transcient.c\
src/test_sdis_unstationary_atm.c\
@@ -213,7 +212,8 @@ TEST_SRC_MPI =\
src/test_sdis_solve_boundary.c\
src/test_sdis_solve_boundary_flux.c\
src/test_sdis_solve_probe2.c\
- src/test_sdis_solve_probe_list.c
+ src/test_sdis_solve_probe_list.c\
+ src/test_sdis_solve_probe_boundary_list.c
TEST_OBJ =\
$(TEST_SRC:.c=.o)\
$(TEST_SRC_MPI:.c=.o)\
@@ -371,21 +371,18 @@ test_sdis_volumic_power4 \
src/test_sdis_draw_external_flux.d \
src/test_sdis_solid_random_walk_robustness.d \
src/test_sdis_solve_probe3.d \
-src/test_sdis_solve_probe_boundary_list.d \
: config.mk sdis-local.pc
@$(CC) $(TEST_CFLAGS) $(S3DUT_CFLAGS) -MM -MT "$(@:.d=.o) $@" $(@:.d=.c) -MF $@
src/test_sdis_draw_external_flux.o \
src/test_sdis_solid_random_walk_robustness.o \
src/test_sdis_solve_probe3.o \
-src/test_sdis_solve_probe_boundary_list.o \
: config.mk sdis-local.pc
$(CC) $(TEST_CFLAGS) $(S3DUT_CFLAGS) -c $(@:.o=.c) -o $@
test_sdis_draw_external_flux \
test_sdis_solid_random_walk_robustness \
test_sdis_solve_probe3 \
-test_sdis_solve_probe_boundary_list \
: config.mk sdis-local.pc $(LIBNAME) src/test_sdis_utils.o
$(CC) $(TEST_CFLAGS) $(S3DUT_CFLAGS) -o $@ src/$@.o $(TEST_LIBS) $(S3DUT_LIBS)
@@ -434,18 +431,21 @@ test_sdis_solve_medium_2d \
src/test_sdis_compute_power.d \
src/test_sdis_solve_camera.d \
src/test_sdis_solve_medium.d \
+src/test_sdis_solve_probe_boundary_list.d \
: config.mk sdis-local.pc
@$(CC) $(TEST_CFLAGS_MPI) $(S3DUT_CFLAGS) -MM -MT "$(@:.d=.o) $@" $(@:.d=.c) -MF $@
src/test_sdis_compute_power.o \
src/test_sdis_solve_camera.o \
src/test_sdis_solve_medium.o \
+src/test_sdis_solve_probe_boundary_list.o \
: config.mk sdis-local.pc
$(CC) $(TEST_CFLAGS_MPI) $(S3DUT_CFLAGS) -c $(@:.o=.c) -o $@
test_sdis_compute_power \
test_sdis_solve_camera \
test_sdis_solve_medium \
+test_sdis_solve_probe_boundary_list \
: config.mk sdis-local.pc $(LIBNAME) src/test_sdis_utils.o
$(CC) $(TEST_CFLAGS_MPI) $(S3DUT_CFLAGS) -o $@ src/$@.o $(TEST_LIBS_MPI) $(S3DUT_LIBS)
diff --git a/src/test_sdis_solve_probe_boundary_list.c b/src/test_sdis_solve_probe_boundary_list.c
@@ -420,9 +420,12 @@ check_probe_boundary_list(struct sdis_scene* scn, const int is_master_process)
/* Solve the probes */
OK(sdis_solve_probe_boundary_list(scn, &args, &estim_buf));
- check_estimator_buffer(estim_buf, scn, &args);
-
- OK(sdis_estimator_buffer_ref_put(estim_buf));
+ if(!is_master_process) {
+ CHK(estim_buf == NULL);
+ } else {
+ check_estimator_buffer(estim_buf, scn, &args);
+ OK(sdis_estimator_buffer_ref_put(estim_buf));
+ }
#undef NPROBES
}
@@ -448,7 +451,7 @@ main(int argc, char** argv)
int is_master_process = 1;
(void)argc, (void)argv;
- OK(sdis_device_create(&SDIS_DEVICE_CREATE_ARGS_DEFAULT, &dev));
+ create_default_device(&argc, &argv, &is_master_process, &dev);
/* Setup the mesh */
mesh_init(&mesh);
@@ -472,12 +475,14 @@ main(int argc, char** argv)
check_probe_boundary_list(scn, is_master_process);
mesh_release(&mesh);
- OK(sdis_device_ref_put(dev));
OK(sdis_interface_ref_put(solid_fluid));
OK(sdis_interface_ref_put(solid_solid));
OK(sdis_medium_ref_put(fluid));
OK(sdis_medium_ref_put(solid));
OK(sdis_scene_ref_put(scn));
+
+ free_default_device(dev);
+
CHK(mem_allocated_size() == 0);
return 0;
}