6 use,
intrinsic :: ieee_arithmetic, only: ieee_is_nan
18 integer,
intent(in) :: step
19 real(kind=
rp),
intent(in) :: t, dt
20 character(len=LOG_SIZE) :: log_buf
26 write(log_buf,
'(A,A,A)')
'Iterations: ',&
27 'Start residual: ',
'Final residual:'
29 write(log_buf,
'(I11,3x, E15.7,5x, E15.7)') ksp_results(1)%iter, &
30 ksp_results(1)%res_start, ksp_results(1)%res_final
34 write(log_buf,
'(A,A,A)')
'Iterations: ',&
35 'Start residual: ',
'Final residual:'
37 write(log_buf,
'(I11,3x, E15.7,5x, E15.7)') ksp_results(2)%iter, &
38 ksp_results(2)%res_start, ksp_results(2)%res_final
42 write(log_buf,
'(A,A,A)')
'Iterations: ',&
43 'Start residual: ',
'Final residual:'
45 write(log_buf,
'(I11,3x, E15.7,5x, E15.7)') ksp_results(3)%iter, &
46 ksp_results(3)%res_start, ksp_results(3)%res_final
50 write(log_buf,
'(A,A,A)')
'Iterations: ', &
51 'Start residual: ',
'Final residual:'
53 write(log_buf,
'(I11,3x, E15.7,5x, E15.7)') ksp_results(4)%iter, &
54 ksp_results(4)%res_start, ksp_results(4)%res_final
59 if (ieee_is_nan(ksp_results(i)%res_final))
then
60 call neko_log%error(
"Fluid solver diverged")
Auxiliary routines for fluid solvers.
subroutine, public fluid_step_info(step, t, dt, ksp_results)
Prints for prs, velx, vely, velz the following: Number of iterations, start residual,...
Implements the base abstract type for Krylov solvers plus helper types.
type(log_t), public neko_log
Global log stream.
integer, parameter, public log_size
integer, parameter, public rp
Global precision used in computations.
Type for storing initial and final residuals in a Krylov solver.