|
|
@ -79,6 +79,7 @@ module mld_c_jac_smoother
|
|
|
|
procedure, pass(sm) :: csetr => mld_c_jac_smoother_csetr
|
|
|
|
procedure, pass(sm) :: csetr => mld_c_jac_smoother_csetr
|
|
|
|
procedure, pass(sm) :: descr => mld_c_jac_smoother_descr
|
|
|
|
procedure, pass(sm) :: descr => mld_c_jac_smoother_descr
|
|
|
|
procedure, pass(sm) :: sizeof => c_jac_smoother_sizeof
|
|
|
|
procedure, pass(sm) :: sizeof => c_jac_smoother_sizeof
|
|
|
|
|
|
|
|
procedure, pass(sm) :: default => c_jac_smoother_default
|
|
|
|
procedure, pass(sm) :: get_nzeros => c_jac_smoother_get_nzeros
|
|
|
|
procedure, pass(sm) :: get_nzeros => c_jac_smoother_get_nzeros
|
|
|
|
procedure, pass(sm) :: get_wrksz => c_jac_smoother_get_wrksize
|
|
|
|
procedure, pass(sm) :: get_wrksz => c_jac_smoother_get_wrksize
|
|
|
|
procedure, nopass :: get_fmt => c_jac_smoother_get_fmt
|
|
|
|
procedure, nopass :: get_fmt => c_jac_smoother_get_fmt
|
|
|
@ -289,6 +290,29 @@ contains
|
|
|
|
return
|
|
|
|
return
|
|
|
|
end function c_jac_smoother_sizeof
|
|
|
|
end function c_jac_smoother_sizeof
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
subroutine c_jac_smoother_default(sm)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Implicit None
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
! Arguments
|
|
|
|
|
|
|
|
class(mld_c_jac_smoother_type), intent(inout) :: sm
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
!
|
|
|
|
|
|
|
|
! Default: BJAC with no residual check
|
|
|
|
|
|
|
|
!
|
|
|
|
|
|
|
|
sm%checkres = .false.
|
|
|
|
|
|
|
|
sm%printres = .false.
|
|
|
|
|
|
|
|
sm%checkiter = -1
|
|
|
|
|
|
|
|
sm%printiter = -1
|
|
|
|
|
|
|
|
sm%tol = 0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (allocated(sm%sv)) then
|
|
|
|
|
|
|
|
call sm%sv%default()
|
|
|
|
|
|
|
|
end if
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return
|
|
|
|
|
|
|
|
end subroutine c_jac_smoother_default
|
|
|
|
|
|
|
|
|
|
|
|
function c_jac_smoother_get_nzeros(sm) result(val)
|
|
|
|
function c_jac_smoother_get_nzeros(sm) result(val)
|
|
|
|
|
|
|
|
|
|
|
|
implicit none
|
|
|
|
implicit none
|
|
|
|