/******************************************************************************* * This file is part of SWIFT. * Copyright (c) 2020 Matthieu Schaller (schaller@strw.leideuniv.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_NONE_HYDRO_PARAMETERS_H #define SWIFT_NONE_HYDRO_PARAMETERS_H /* Configuration file */ #include /* Global headers */ #if defined(HAVE_HDF5) #include #endif /* Local headers */ #include "common_io.h" #include "error.h" #include "inline.h" /** * @file Shadowswift/hydro_parameters.h * @brief Empty implementation * * This file defines a number of things that are used in * hydro_properties.c as defaults for run-time parameters * as well as a number of compile-time parameters. */ /* Viscosity parameters -- FIXED -- MUST BE DEFINED AT COMPILE-TIME */ /* Cosmology default beta=3.0. * Alpha can be set in the parameter file. * Beta is defined as in e.g. Price (2010) Eqn (103) */ /* Structs that store the relevant variables */ /*! Artificial viscosity parameters */ struct viscosity_global_data {}; /*! Thermal diffusion parameters */ struct diffusion_global_data {}; /* Functions for reading from parameter file */ /* Forward declartions */ struct swift_params; struct phys_const; struct unit_system; /* Viscosity */ /** * @brief Initialises the viscosity parameters in the struct from * the parameter file, or sets them to defaults. * * @param params: the pointer to the swift_params file * @param us: pointer to the internal unit system * @param phys_const: pointer to the physical constants system * @param viscosity: pointer to the viscosity_global_data struct to be filled. **/ static INLINE void viscosity_init(struct swift_params* params, const struct unit_system* us, const struct phys_const* phys_const, struct viscosity_global_data* viscosity) {} /** * @brief Initialises a viscosity struct to sensible numbers for mocking * purposes. * * @param viscosity: pointer to the viscosity_global_data struct to be filled. **/ static INLINE void viscosity_init_no_hydro( struct viscosity_global_data* viscosity) {} /** * @brief Prints out the viscosity parameters at the start of a run. * * @param viscosity: pointer to the viscosity_global_data struct found in * hydro_properties **/ static INLINE void viscosity_print( const struct viscosity_global_data* viscosity) {} #if defined(HAVE_HDF5) /** * @brief Prints the viscosity information to the snapshot when writing. * * @param h_grpsph: the SPH group in the ICs to write attributes to. * @param viscosity: pointer to the viscosity_global_data struct. **/ static INLINE void viscosity_print_snapshot( hid_t h_grpsph, const struct viscosity_global_data* viscosity) {} #endif /* Diffusion */ /** * @brief Initialises the diffusion parameters in the struct from * the parameter file, or sets them to defaults. * * @param params: the pointer to the swift_params file * @param us: pointer to the internal unit system * @param phys_const: pointer to the physical constants system * @param diffusion: pointer to the diffusion struct to be filled. **/ static INLINE void diffusion_init(struct swift_params* params, const struct unit_system* us, const struct phys_const* phys_const, struct diffusion_global_data* diffusion) {} /** * @brief Initialises a diffusion struct to sensible numbers for mocking * purposes. * * @param diffusion: pointer to the diffusion_global_data struct to be filled. **/ static INLINE void diffusion_init_no_hydro( struct diffusion_global_data* diffusion) {} /** * @brief Prints out the diffusion parameters at the start of a run. * * @param diffusion: pointer to the diffusion_global_data struct found in * hydro_properties **/ static INLINE void diffusion_print( const struct diffusion_global_data* diffusion) {} #ifdef HAVE_HDF5 /** * @brief Prints the diffusion information to the snapshot when writing. * * @param h_grpsph: the SPH group in the ICs to write attributes to. * @param diffusion: pointer to the diffusion_global_data struct. **/ static INLINE void diffusion_print_snapshot( hid_t h_grpsph, const struct diffusion_global_data* diffusion) {} #endif #endif /* SWIFT_NONE_HYDRO_PARAMETERS_H */