diff --git a/src/velociraptor_interface.c b/src/velociraptor_interface.c index 77eb9fa9dce12e52455e5f9586f19c2e0640d033..218beb1976fbf813e5fc6381fa68a4e74f483d99 100644 --- a/src/velociraptor_interface.c +++ b/src/velociraptor_interface.c @@ -135,7 +135,7 @@ void velociraptor_init(struct engine *e) { message("No. of top-level cells: %d", sim_info.numcells); message("Top-level cell locations range: (%e,%e,%e) -> (%e,%e,%e)", sim_info.cellloc[0].loc[0], sim_info.cellloc[0].loc[1], sim_info.cellloc[0].loc[2], sim_info.cellloc[sim_info.numcells - 1].loc[0], sim_info.cellloc[sim_info.numcells - 1].loc[1], sim_info.cellloc[sim_info.numcells - 1].loc[2]); - InitVelociraptor(configfilename, outputFileName, cosmo_info, unit_info, sim_info); + if(!InitVelociraptor(configfilename, outputFileName, cosmo_info, unit_info, sim_info)) error("Exiting. VELOCIraptor initialisation failed."); /* Free cell locations after VELOCIraptor has copied them. */ //free(sim_info.cellloc); @@ -194,7 +194,7 @@ void velociraptor_invoke(struct engine *e) { e->time); } - InvokeVelociraptor(nr_gparts, nr_hydro_parts, gparts, cell_node_ids, outputFileName); + if(!InvokeVelociraptor(nr_gparts, nr_hydro_parts, gparts, cell_node_ids, outputFileName)) error("Exiting. Call to VELOCIraptor failed."); /* Reset the pthread affinity mask after VELOCIraptor returns. */ pthread_setaffinity_np(thread, sizeof(cpu_set_t), engine_entry_affinity()); diff --git a/src/velociraptor_interface.h b/src/velociraptor_interface.h index 4ae0e713af95d2d41128b929b1e78f0fb9eaeceb..cc4002dbdcb2147a85bdb06d324e1ef44719f845 100644 --- a/src/velociraptor_interface.h +++ b/src/velociraptor_interface.h @@ -68,8 +68,8 @@ struct siminfo { }; /* VELOCIraptor interface. */ -void InitVelociraptor(char* config_name, char* output_name, struct cosmoinfo cosmo_info, struct unitinfo unit_info, struct siminfo sim_info); -void InvokeVelociraptor(const int num_gravity_parts, const int num_hydro_parts, struct gpart *gravity_parts, const int *cell_node_ids, char* output_name); +int InitVelociraptor(char* config_name, char* output_name, struct cosmoinfo cosmo_info, struct unitinfo unit_info, struct siminfo sim_info); +int InvokeVelociraptor(const int num_gravity_parts, const int num_hydro_parts, struct gpart *gravity_parts, const int *cell_node_ids, char* output_name); /* VELOCIraptor wrapper functions. */ void velociraptor_init(struct engine *e);