diff --git a/sources/evolution.F90 b/sources/evolution.F90 index 06d51d3..118acdc 100644 --- a/sources/evolution.F90 +++ b/sources/evolution.F90 @@ -60,6 +60,7 @@ module evolution ! evolution parameters ! + logical , save :: error_control = .false. character(len=255), save :: name_int = "" integer , save :: stages = 2 integer , save :: registers = 1 @@ -216,11 +217,12 @@ module evolution case ("ssprk(m,2)", "SSPRK(m,2)") + error_control = .true. evolve => evolve_ssprk2_m registers = 3 stages = max(2, min(9, stages)) cfl = (stages - 1) * cfl - write(name_int, "('2nd order SSPRK(',i0,',2)')") stages + write(name_int, "('Optimal 2nd order SSPRK(',i0,',2) with error control')") stages case ("rk3", "RK3") @@ -244,6 +246,7 @@ module evolution case ("rk3.m", "ssprk(m,3)", "SSPRK(m,3)") + error_control = .true. evolve => evolve_ssprk3_m registers = 3 n = 2 @@ -253,7 +256,7 @@ module evolution n = n - 1 stages = max(4, n**2) cfl = (n - 1) * n * cfl - write(name_int, "('Optimal 3rd order SSPRK(',i0,',3)')") stages + write(name_int, "('Optimal 3rd order SSPRK(',i0,',3) with error control')") stages case ("rk4.10", "RK4.10", "ssprk(10,4)", "SSPRK(10,4)") @@ -406,12 +409,14 @@ module evolution if (magnetized) then call print_parameter(verbose, "GLM alpha coefficient", glm_alpha) end if - call print_parameter(verbose, "absolute tolerance", atol) - call print_parameter(verbose, "relative tolerance", rtol) - call print_parameter(verbose, "maximum rejections", mrej) - call print_parameter(verbose, "factor" , fac) - call print_parameter(verbose, "minimum factor" , facmin) - call print_parameter(verbose, "maximum factor" , facmax) + if (error_control) then + call print_parameter(verbose, "absolute tolerance", atol) + call print_parameter(verbose, "relative tolerance", rtol) + call print_parameter(verbose, "maximum rejections", mrej) + call print_parameter(verbose, "factor" , fac) + call print_parameter(verbose, "minimum factor" , facmin) + call print_parameter(verbose, "maximum factor" , facmax) + end if end if