diff --git a/Sources/Modules/integration_path.f b/Sources/Modules/integration_path.f index 7055784..cbd09b3 100644 --- a/Sources/Modules/integration_path.f +++ b/Sources/Modules/integration_path.f @@ -442,8 +442,8 @@ RECURSIVE FUNCTION integration_path_integrate_paths(this, path, & start_time = profiler_get_start_time() IF (ASSOCIATED(path%next)) THEN - total = this%integrate(path%next, context) - total = this%integrate(context, path, path%next) + total = this%integrate(path%next, context) + total = this%integrate(context, path, path%next) ELSE total = 0.0 END IF diff --git a/Sources/Modules/vmec_input.f b/Sources/Modules/vmec_input.f index 21f2422..5abf6b2 100644 --- a/Sources/Modules/vmec_input.f +++ b/Sources/Modules/vmec_input.f @@ -21,6 +21,10 @@ !> @item{niter, Maximum number of iterations to run. @b DEPRECATED @b !> Use @ref vmec_input::niter_array instead., vmec_input::niter} !> @item{niter_array, Array of iterations for the multigrid runs., vmec_input::niter_array} +!> @iten{pre_niter, Number of iterations to run after the preconditioner is +!> activated. There special control values. +!> -# -1 Default behavor. +!> -# -2 Keep niter intact. vmec_input::pre_niter} !> @item{time_slice, Time index value to label the output files., vmec_input::time_slice} !> @item{nstep, Number of iterations between screen output., vmec_input::nstep} !> @item{nvacskip, Number of iterations between vacuum responses., vmec_input::nvacskip} @@ -266,6 +270,8 @@ MODULE vmec_input INTEGER :: niter !> Array of iterations for the multigrid runs. INTEGER, DIMENSION(max_grids) :: niter_array +!> Number of iterations to run after the preconditoner is activated. + INTEGER :: pre_niter !> Time index value to label the output files. REAL (rprec) :: time_slice !> Number of iterations between screen output. @@ -493,8 +499,8 @@ MODULE vmec_input ! Declare namelist NAMELIST /indata/ & ! Control Parameters. - & omp_num_threads, gamma, niter, niter_array, time_slice, nstep, & - & nvacskip, delt, ftol, ftol_array, tcon0, & + & omp_num_threads, gamma, niter, niter_array, pre_niter, & + & time_slice, nstep, nvacskip, delt, ftol, ftol_array, tcon0, & ! Precondicioner control parameters. & precon_type, prec2d_threshold, & ! Early termination control parameters. @@ -557,7 +563,8 @@ SUBROUTINE read_indata_namelist(iunit, istat) ! Control Parameters. omp_num_threads = 8 gamma = 0 - niter_array = -1; + niter_array = -1 + pre_niter = -1 time_slice = 0 niter = 100 nstep = 10 diff --git a/Testing/test_utilities/unit_test_runner.f b/Testing/test_utilities/unit_test_runner.f index c5df626..594a02d 100644 --- a/Testing/test_utilities/unit_test_runner.f +++ b/Testing/test_utilities/unit_test_runner.f @@ -55,4 +55,6 @@ PROGRAM LIBSTELL_UNIT_TEST_RUNNER CALL EXIT(1) END IF + WRITE (*,*) 'All tests passed.' + END PROGRAM