/******************************************************************************* * This file is part of SWIFT. * Copyright (c) 2025 Darwin Roduit (darwin.roduit@alumni.epfl.ch) * * 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_FEEDBACK_GEAR_COMMON_H #define SWIFT_FEEDBACK_GEAR_COMMON_H /* We need to explicitely point to the src/ file to ensure the correct file is included for each feedback */ #include "../../feedback_properties.h" #include "hydro_properties.h" #include "part.h" #include "units.h" /** * @file src/feebback/GEAR/feedback_common.h * @brief Header file with common functions for GEAR and GEAR-mechanical * feedback modules. */ float feedback_compute_spart_timestep( const struct spart* const sp, const struct feedback_props* feedback_props, const struct phys_const* phys_const, const struct unit_system* us, const int with_cosmology, const struct cosmology* cosmo, const integertime_t ti_current, const double time, const double time_base); void feedback_will_do_feedback( struct spart* sp, const struct feedback_props* feedback_props, const int with_cosmology, const struct cosmology* cosmo, const double time, const struct unit_system* us, const struct phys_const* phys_const, const integertime_t ti_current, const double time_base); void compute_time(struct spart* sp, const int with_cosmology, const struct cosmology* cosmo, double* star_age_beg_of_step, double* dt_enrichment, integertime_t* ti_begin_star, const integertime_t ti_current, const double time_base, const double time); double feedback_get_enrichment_timestep(const struct spart* sp, const int with_cosmology, const struct cosmology* cosmo, const double time, const double dt_star); void feedback_init_after_star_formation( struct spart* sp, const struct feedback_props* feedback_props, enum stellar_type star_type); void feedback_first_init_spart(struct spart* sp, const struct feedback_props* feedback_props); void feedback_struct_dump(const struct feedback_props* feedback, FILE* stream); void feedback_struct_restore(struct feedback_props* feedback, FILE* stream); void feedback_clean(struct feedback_props* feedback); #endif /* SWIFT_FEEDBACK_GEAR_COMMON_H */