From 9cf92b55ae3f29edbe8055af11f8c0fb75cceb99 Mon Sep 17 00:00:00 2001 From: Matthieu Schaller <schaller@strw.leidenuniv.nl> Date: Wed, 28 Nov 2018 15:46:36 +0100 Subject: [PATCH] Read the number of extra part/gpart/spart from the yaml file. --- examples/parameter_example.yml | 3 +++ src/space.c | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/examples/parameter_example.yml b/examples/parameter_example.yml index 9ae5fef665..78e46e9fff 100644 --- a/examples/parameter_example.yml +++ b/examples/parameter_example.yml @@ -63,6 +63,9 @@ Scheduler: cell_sub_size_self_stars: 32000 # (Optional) Maximal number of interactions per sub-self stars task (this is the default value). cell_split_size: 400 # (Optional) Maximal number of particles per cell (this is the default value). cell_subdepth_diff_grav: 4 # (Optional) Maximal depth difference between leaves and a cell that gravity tasks can be pushed down to (this is the default value). + cell_extra_parts: 0 # (Optional) Number of spare parts per top-level allocated at rebuild time for on-the-fly creation. + cell_extra_gparts: 0 # (Optional) Number of spare gparts per top-level allocated at rebuild time for on-the-fly creation. + cell_extra_sparts: 400 # (Optional) Number of spare sparts per top-level allocated at rebuild time for on-the-fly creation. max_top_level_cells: 12 # (Optional) Maximal number of top-level cells in any dimension. The number of top-level cells will be the cube of this (this is the default value). tasks_per_cell: 0 # (Optional) The average number of tasks per cell. If not large enough the simulation will fail (means guess...). mpi_message_limit: 4096 # (Optional) Maximum MPI task message size to send non-buffered, KB. diff --git a/src/space.c b/src/space.c index 7cfdaa9a71..fa34146d80 100644 --- a/src/space.c +++ b/src/space.c @@ -3754,6 +3754,12 @@ void space_init(struct space *s, struct swift_params *params, space_subdepth_diff_grav = parser_get_opt_param_int(params, "Scheduler:cell_subdepth_diff_grav", space_subdepth_diff_grav_default); + space_extra_parts = parser_get_opt_param_int( + params, "Scheduler:cell_extra_parts", space_extra_parts_default); + space_extra_sparts = parser_get_opt_param_int( + params, "Scheduler:cell_extra_sparts", space_extra_sparts_default); + space_extra_gparts = parser_get_opt_param_int( + params, "Scheduler:cell_extra_gparts", space_extra_gparts_default); if (verbose) { message("max_size set to %d split_size set to %d", space_maxsize, -- GitLab