7 use,
intrinsic :: ieee_arithmetic, only: ieee_is_nan
17 logical,
intent(in),
optional :: strict_convergence
18 character(len=LOG_SIZE) :: log_buf
22 call ksp_results(1)%print_header()
23 do i = 1,
size(ksp_results)
24 call ksp_results(i)%print_result(time%tstep)
28 do i = 1,
size(ksp_results)
29 if (ieee_is_nan(ksp_results(i)%res_final))
then
30 call neko_error(
"Scalar solver diverged for " // &
31 trim(ksp_results(i)%name))
34 if (
present(strict_convergence))
then
35 if (.not. ksp_results(i)%converged)
then
36 log_buf =
'Scalar solver did not converge for ' &
37 // trim(ksp_results(i)%name)
39 if (strict_convergence)
then
Implements the base abstract type for Krylov solvers plus helper types.
integer, parameter, public log_size
Auxiliary routines for fluid solvers.
subroutine scalar_step_info(time, ksp_results, strict_convergence)
Prints for prs, velx, vely, velz the following: Number of iterations, start residual,...
Module with things related to the simulation time.
subroutine, public neko_warning(warning_msg)
Reports a warning to standard output.
Type for storing initial and final residuals in a Krylov solver.
A struct that contains all info about the time, expand as needed.