@ -94,6 +94,7 @@ subroutine mld_c_base_onelev_build(lv,info,amold,vmold,imold)
call mld_check_def ( lv % parms % sweeps_post , &
& 'Jacobi sweeps' , izero , is_int_non_negative )
if ( . false . ) then
call lv % sm % build ( lv % base_a , lv % base_desc , &
& info , amold = amold , vmold = vmold , imold = imold )
if ( info == 0 ) then
@ -111,6 +112,26 @@ subroutine mld_c_base_onelev_build(lv,info,amold,vmold,imold)
& a_err = 'Smoother bld error' )
go to 9999
end if
else
call lv % sm % build ( lv % base_a , lv % base_desc , info )
if ( info == 0 ) then
if ( allocated ( lv % sm2a ) ) then
call lv % sm2a % build ( lv % base_a , lv % base_desc , info )
lv % sm2 = > lv % sm2a
else
lv % sm2 = > lv % sm
end if
end if
if ( info / = 0 ) then
info = psb_err_internal_error_
call psb_errpush ( info , name , &
& a_err = 'Smoother bld error' )
go to 9999
end if
if ( any ( ( / present ( amold ) , present ( vmold ) , present ( imold ) / ) ) ) &
& call lv % cnv ( info , amold = amold , vmold = vmold , imold = imold )
end if
call psb_erractionrestore ( err_act )
return