@ -33,7 +33,7 @@ module psb_d_genpde_mod
use psb_base_mod , only : psb_dpk_ , psb_ipk_ , psb_desc_type , &
use psb_base_mod , only : psb_dpk_ , psb_ipk_ , psb_desc_type , &
& psb_dspmat_type , psb_d_vect_type , dzero , &
& psb_dspmat_type , psb_d_vect_type , dzero , &
& psb_d_base_sparse_mat , psb_d_base_vect_type
& psb_d_base_sparse_mat , psb_d_base_vect_type , psb_i_base_vect_type
interface
interface
function d_func_3d ( x , y , z ) result ( val )
function d_func_3d ( x , y , z ) result ( val )
@ -45,7 +45,7 @@ module psb_d_genpde_mod
interface psb_gen_pde3d
interface psb_gen_pde3d
subroutine psb_d_gen_pde3d ( ictxt , idim , a , bv , xv , desc_a , afmt , &
subroutine psb_d_gen_pde3d ( ictxt , idim , a , bv , xv , desc_a , afmt , &
& a1 , a2 , a3 , b1 , b2 , b3 , c , g , info , f , amold , vmold , nrl)
& a1 , a2 , a3 , b1 , b2 , b3 , c , g , info , f , amold , vmold , imold, nrl)
!
!
! Discretizes the partial differential equation
! Discretizes the partial differential equation
!
!
@ -62,7 +62,7 @@ module psb_d_genpde_mod
! Note that if b1 = b2 = b3 = c = 0. , the PDE is the Laplace equation .
! Note that if b1 = b2 = b3 = c = 0. , the PDE is the Laplace equation .
!
!
import :: psb_ipk_ , psb_desc_type , psb_dspmat_type , psb_d_vect_type , &
import :: psb_ipk_ , psb_desc_type , psb_dspmat_type , psb_d_vect_type , &
& d_func_3d , psb_d_base_sparse_mat , psb_d_base_vect_type
& d_func_3d , psb_d_base_sparse_mat , psb_d_base_vect_type , psb_i_base_vect_type
implicit none
implicit none
procedure ( d_func_3d ) :: a1 , a2 , a3 , c , b1 , b2 , b3 , g
procedure ( d_func_3d ) :: a1 , a2 , a3 , c , b1 , b2 , b3 , g
integer ( psb_ipk_ ) :: idim
integer ( psb_ipk_ ) :: idim
@ -74,6 +74,7 @@ module psb_d_genpde_mod
procedure ( d_func_3d ) , optional :: f
procedure ( d_func_3d ) , optional :: f
class ( psb_d_base_sparse_mat ) , optional :: amold
class ( psb_d_base_sparse_mat ) , optional :: amold
class ( psb_d_base_vect_type ) , optional :: vmold
class ( psb_d_base_vect_type ) , optional :: vmold
class ( psb_i_base_vect_type ) , optional :: imold
integer ( psb_ipk_ ) , optional :: nrl
integer ( psb_ipk_ ) , optional :: nrl
end subroutine psb_d_gen_pde3d
end subroutine psb_d_gen_pde3d
end interface
end interface
@ -89,7 +90,7 @@ module psb_d_genpde_mod
interface psb_gen_pde2d
interface psb_gen_pde2d
subroutine psb_d_gen_pde2d ( ictxt , idim , a , bv , xv , desc_a , afmt , &
subroutine psb_d_gen_pde2d ( ictxt , idim , a , bv , xv , desc_a , afmt , &
& a1 , a2 , b1 , b2 , c , g , info , f , amold , vmold , nrl)
& a1 , a2 , b1 , b2 , c , g , info , f , amold , vmold , imold, nrl)
!
!
! Discretizes the partial differential equation
! Discretizes the partial differential equation
!
!
@ -106,7 +107,7 @@ module psb_d_genpde_mod
! Note that if b1 = b2 = c = 0. , the PDE is the Laplace equation .
! Note that if b1 = b2 = c = 0. , the PDE is the Laplace equation .
!
!
import :: psb_ipk_ , psb_desc_type , psb_dspmat_type , psb_d_vect_type , &
import :: psb_ipk_ , psb_desc_type , psb_dspmat_type , psb_d_vect_type , &
& d_func_2d , psb_d_base_sparse_mat , psb_d_base_vect_type
& d_func_2d , psb_d_base_sparse_mat , psb_d_base_vect_type , psb_i_base_vect_type
implicit none
implicit none
procedure ( d_func_2d ) :: a1 , a2 , c , b1 , b2 , g
procedure ( d_func_2d ) :: a1 , a2 , c , b1 , b2 , g
integer ( psb_ipk_ ) :: idim
integer ( psb_ipk_ ) :: idim
@ -118,6 +119,7 @@ module psb_d_genpde_mod
procedure ( d_func_2d ) , optional :: f
procedure ( d_func_2d ) , optional :: f
class ( psb_d_base_sparse_mat ) , optional :: amold
class ( psb_d_base_sparse_mat ) , optional :: amold
class ( psb_d_base_vect_type ) , optional :: vmold
class ( psb_d_base_vect_type ) , optional :: vmold
class ( psb_i_base_vect_type ) , optional :: imold
integer ( psb_ipk_ ) , optional :: nrl
integer ( psb_ipk_ ) , optional :: nrl
end subroutine psb_d_gen_pde2d
end subroutine psb_d_gen_pde2d
end interface
end interface