stardis-solver

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

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:
MMakefile | 10+++++-----
Msrc/test_sdis_solve_probe_boundary_list.c | 15++++++++++-----
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; }