/******************************************************************************* * This file is part of SWIFT. * Copyright (c) 2021 Matthieu Schaller (schaller@strw.leidenuniv.nl) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published * by the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program. If not, see . * ******************************************************************************/ #ifndef SWIFT_EXTRA_IO_H #define SWIFT_EXTRA_IO_H /* Config parameters. */ #include /* Import the i/o routines the user asked for */ #if defined(EXTRA_IO_EAGLE) #include "extra_io/EAGLE/extra_io.h" #elif defined(EXTRA_IO_NONE) struct extra_io_properties {}; INLINE static int extra_io_write_particles(const struct part* parts, const struct xpart* xparts, struct io_props* list, const int with_cosmology) { return 0; } INLINE static int extra_io_write_sparticles(const struct spart* sparts, struct io_props* list, const int with_cosmology) { return 0; } INLINE static int extra_io_write_bparticles(const struct bpart* bparts, struct io_props* list, const int with_cosmology) { return 0; } #ifdef HAVE_HDF5 INLINE static void extra_io_write_flavour(hid_t h_grp, hid_t h_grp_columns) {} #endif INLINE static void extra_io_init(struct swift_params* parameter_file, const struct unit_system* us, const struct phys_const* phys_const, const struct cosmology* cosmo, struct extra_io_properties* props) {} INLINE static void extra_io_clean(struct extra_io_properties* props) {} INLINE static void extra_io_struct_dump(const struct extra_io_properties* props, FILE* stream) {} INLINE static void extra_io_struct_restore(struct extra_io_properties* props, FILE* stream) {} /* In this case there are no extra lightcone map types */ static const struct lightcone_map_type extra_lightcone_map_types[] = { { /* .name = */ "", /* .update_map = */ NULL, /* .ptype_contributes = */ NULL, /* .baseline_func = */ NULL, /* .units = */ UNIT_CONV_NO_UNITS, /* .smoothing = */ map_unsmoothed, /* .compression = */ compression_write_lossless, /* .buffer_scale_factor = */ 1.0, }, }; #else #error "Invalid choice of extra-i/o." #endif #endif /* SWIFT_EXTRA_IO_H */