Line data Source code
1 0 : // Distributed under the MIT License. 2 : // See LICENSE.txt for details. 3 : 4 : #pragma once 5 : 6 : #include <utility> 7 : 8 : namespace ScalarTensor { 9 : /// @{ 10 : /*! 11 : * \brief Function to smoothly turn on the coupling terms. 12 : * 13 : * \details Implements Eq. B4 of \cite Okounkova:2019zjf : 14 : * \begin{align} 15 : * t_* &\equiv (t - t_\mathrm{s})/t_\mathrm{ramp} \,, \\ 16 : * F(t) &= t_*^5 (126 + t_* (-420 + t_* (540 + t_* (-315 + 70 t_*))))~, 17 : * \end{align} 18 : * where $ t_\mathrm{s} $ and $ t_\mathrm{ramp} $ are parameters that 19 : * control the start time and duration of the turn-on period. 20 : * Note that $F(t)$ is `smoothstep<4>`. 21 : */ 22 1 : double nonic_ramp_function(double time, double start_time, double ramp_time); 23 : 24 1 : double nonic_ramp_function(double time, 25 : std::pair<double, double> start_and_ramp_times); 26 : /// @} 27 : } // namespace ScalarTensor