70 integer,
parameter :: rk = kind(1.0d0)
71 real(kind=rk),
intent(in) :: tau
73 real(kind=rk),
intent(out) :: p
74 logical,
intent(out) :: zero
76 select case (pf%relaxation_type)
78 if ( tau < pf%relaxation_freetime )
then
82 p = pf%nudgefac*(tau-pf%relaxation_freetime)/(1.0d0-pf&
83 &%relaxation_freetime)
87 if ( tau < pf%relaxation_freetime )
then
91 p = pf%nudgefac * ((tau-pf%relaxation_freetime)/(1.0d0-pf&
92 &%relaxation_freetime))**pf%power_law_p
95 if ( tau < pf%relaxation_freetime )
then
99 p = pf%nudgefac*(exp( (tau-pf%relaxation_freetime)/(1.0d0-pf&
100 &%relaxation_freetime) ) - 1 )/exp(1.0d0)
104 if ( tau < pf%relaxation_freetime )
then
114 write(emp_e,*)
'Wrong relaxation profile'
Module that stores the information about the outputting from empire.
module pf_control holds all the information to control the the main program
subroutine user_relaxation_profile(tau, p, zero)
subroutine to compute the relaxation strength that the user codes
subroutine relaxation_profile(tau, p, zero)
subroutine to compute the relaxation strength