mirror of
https://github.com/sfilippone/amg4psblas.git
synced 2026-10-06 22:55:12 +00:00
Fix coeff generation. Change name of polynomial coefficients module.
This commit is contained in:
@@ -46,37 +46,37 @@ contains
|
||||
! functions parametrizing the differential equation
|
||||
!
|
||||
function b1(x,y)
|
||||
use psb_base_mod, only : psb_dpk_, dzero, done
|
||||
implicit none
|
||||
real(psb_dpk_) :: b1
|
||||
real(psb_dpk_), intent(in) :: x,y
|
||||
b1 = dzero/1.414_psb_dpk_
|
||||
end function b1
|
||||
function b2(x,y)
|
||||
use psb_base_mod, only : psb_dpk_, dzero, done
|
||||
implicit none
|
||||
real(psb_dpk_) :: b2
|
||||
real(psb_dpk_), intent(in) :: x,y
|
||||
b2 = dzero/1.414_psb_dpk_
|
||||
end function b2
|
||||
function c(x,y)
|
||||
use psb_base_mod, only : psb_dpk_, dzero, done
|
||||
implicit none
|
||||
real(psb_dpk_) :: c
|
||||
real(psb_dpk_), intent(in) :: x,y
|
||||
c = dzero
|
||||
end function c
|
||||
function a1(x,y)
|
||||
use psb_base_mod, only : psb_dpk_, dzero, done
|
||||
implicit none
|
||||
real(psb_dpk_) :: a1
|
||||
real(psb_dpk_), intent(in) :: x,y
|
||||
a1=done*epsilon
|
||||
end function a1
|
||||
function a2(x,y)
|
||||
use psb_base_mod, only : psb_dpk_, dzero, done
|
||||
implicit none
|
||||
real(psb_dpk_) :: a2
|
||||
real(psb_dpk_), intent(in) :: x,y
|
||||
a2=done*epsilon
|
||||
end function a2
|
||||
function g(x,y)
|
||||
use psb_base_mod, only : psb_dpk_, dzero, done
|
||||
implicit none
|
||||
real(psb_dpk_) :: g
|
||||
real(psb_dpk_), intent(in) :: x,y
|
||||
g = dzero
|
||||
|
||||
@@ -46,37 +46,37 @@ contains
|
||||
! functions parametrizing the differential equation
|
||||
!
|
||||
function b1_box(x,y)
|
||||
use psb_base_mod, only : psb_dpk_, dzero, done
|
||||
implicit none
|
||||
real(psb_dpk_) :: b1_box
|
||||
real(psb_dpk_), intent(in) :: x,y
|
||||
b1_box = done/1.414_psb_dpk_
|
||||
end function b1_box
|
||||
function b2_box(x,y)
|
||||
use psb_base_mod, only : psb_dpk_, dzero, done
|
||||
implicit none
|
||||
real(psb_dpk_) :: b2_box
|
||||
real(psb_dpk_), intent(in) :: x,y
|
||||
b2_box = done/1.414_psb_dpk_
|
||||
end function b2_box
|
||||
function c_box(x,y)
|
||||
use psb_base_mod, only : psb_dpk_, dzero, done
|
||||
implicit none
|
||||
real(psb_dpk_) :: c_box
|
||||
real(psb_dpk_), intent(in) :: x,y
|
||||
c_box = dzero
|
||||
end function c_box
|
||||
function a1_box(x,y)
|
||||
use psb_base_mod, only : psb_dpk_, dzero, done
|
||||
implicit none
|
||||
real(psb_dpk_) :: a1_box
|
||||
real(psb_dpk_), intent(in) :: x,y
|
||||
a1_box=done*epsilon
|
||||
end function a1_box
|
||||
function a2_box(x,y)
|
||||
use psb_base_mod, only : psb_dpk_, dzero, done
|
||||
implicit none
|
||||
real(psb_dpk_) :: a2_box
|
||||
real(psb_dpk_), intent(in) :: x,y
|
||||
a2_box=done*epsilon
|
||||
end function a2_box
|
||||
function g_box(x,y)
|
||||
use psb_base_mod, only : psb_dpk_, dzero, done
|
||||
implicit none
|
||||
real(psb_dpk_) :: g_box
|
||||
real(psb_dpk_), intent(in) :: x,y
|
||||
g_box = dzero
|
||||
|
||||
@@ -46,37 +46,37 @@ contains
|
||||
! functions parametrizing the differential equation
|
||||
!
|
||||
function b1_exp(x,y)
|
||||
use psb_base_mod, only : psb_dpk_, done, dzero
|
||||
implicit none
|
||||
real(psb_dpk_) :: b1_exp
|
||||
real(psb_dpk_), intent(in) :: x,y
|
||||
b1_exp = dzero
|
||||
end function b1_exp
|
||||
function b2_exp(x,y)
|
||||
use psb_base_mod, only : psb_dpk_, done, dzero
|
||||
implicit none
|
||||
real(psb_dpk_) :: b2_exp
|
||||
real(psb_dpk_), intent(in) :: x,y
|
||||
b2_exp = dzero
|
||||
end function b2_exp
|
||||
function c_exp(x,y)
|
||||
use psb_base_mod, only : psb_dpk_, done, dzero
|
||||
implicit none
|
||||
real(psb_dpk_) :: c_exp
|
||||
real(psb_dpk_), intent(in) :: x,y
|
||||
c_exp = dzero
|
||||
end function c_exp
|
||||
function a1_exp(x,y)
|
||||
use psb_base_mod, only : psb_dpk_, done, dzero
|
||||
implicit none
|
||||
real(psb_dpk_) :: a1_exp
|
||||
real(psb_dpk_), intent(in) :: x,y
|
||||
a1=done*epsilon*exp(-(x+y))
|
||||
a1_exp=done*epsilon*exp(-(x+y))
|
||||
end function a1_exp
|
||||
function a2_exp(x,y)
|
||||
use psb_base_mod, only : psb_dpk_, done, dzero
|
||||
implicit none
|
||||
real(psb_dpk_) :: a2_exp
|
||||
real(psb_dpk_), intent(in) :: x,y
|
||||
a2=done*epsilon*exp(-(x+y))
|
||||
a2_exp=done*epsilon*exp(-(x+y))
|
||||
end function a2_exp
|
||||
function g_exp(x,y)
|
||||
use psb_base_mod, only : psb_dpk_, done, dzero
|
||||
implicit none
|
||||
real(psb_dpk_) :: g_exp
|
||||
real(psb_dpk_), intent(in) :: x,y
|
||||
g_exp = dzero
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
! POSSIBILITY OF SUCH DAMAGE.
|
||||
!
|
||||
module amg_d_pde3d_base_mod
|
||||
use psb_base_mod, only : psb_dpk_, done
|
||||
use psb_base_mod, only : psb_dpk_, done, dzero
|
||||
real(psb_dpk_), save, private :: epsilon=done/80
|
||||
contains
|
||||
subroutine pde_set_parm(dat)
|
||||
@@ -46,49 +46,49 @@ contains
|
||||
! functions parametrizing the differential equation
|
||||
!
|
||||
function b1(x,y,z)
|
||||
use psb_base_mod, only : psb_dpk_, done
|
||||
implicit none
|
||||
real(psb_dpk_) :: b1
|
||||
real(psb_dpk_), intent(in) :: x,y,z
|
||||
b1=done/sqrt(3.0_psb_dpk_)
|
||||
b1=dzero/sqrt(3.0_psb_dpk_)
|
||||
end function b1
|
||||
function b2(x,y,z)
|
||||
use psb_base_mod, only : psb_dpk_, done
|
||||
implicit none
|
||||
real(psb_dpk_) :: b2
|
||||
real(psb_dpk_), intent(in) :: x,y,z
|
||||
b2=done/sqrt(3.0_psb_dpk_)
|
||||
b2=dzero/sqrt(3.0_psb_dpk_)
|
||||
end function b2
|
||||
function b3(x,y,z)
|
||||
use psb_base_mod, only : psb_dpk_, done
|
||||
implicit none
|
||||
real(psb_dpk_) :: b3
|
||||
real(psb_dpk_), intent(in) :: x,y,z
|
||||
b3=done/sqrt(3.0_psb_dpk_)
|
||||
b3=dzero/sqrt(3.0_psb_dpk_)
|
||||
end function b3
|
||||
function c(x,y,z)
|
||||
use psb_base_mod, only : psb_dpk_, dzero, done
|
||||
implicit none
|
||||
real(psb_dpk_) :: c
|
||||
real(psb_dpk_), intent(in) :: x,y,z
|
||||
c=dzero
|
||||
end function c
|
||||
function a1(x,y,z)
|
||||
use psb_base_mod, only : psb_dpk_
|
||||
implicit none
|
||||
real(psb_dpk_) :: a1
|
||||
real(psb_dpk_), intent(in) :: x,y,z
|
||||
a1=epsilon
|
||||
end function a1
|
||||
function a2(x,y,z)
|
||||
use psb_base_mod, only : psb_dpk_
|
||||
implicit none
|
||||
real(psb_dpk_) :: a2
|
||||
real(psb_dpk_), intent(in) :: x,y,z
|
||||
a2=epsilon
|
||||
end function a2
|
||||
function a3(x,y,z)
|
||||
use psb_base_mod, only : psb_dpk_
|
||||
implicit none
|
||||
real(psb_dpk_) :: a3
|
||||
real(psb_dpk_), intent(in) :: x,y,z
|
||||
a3=epsilon
|
||||
end function a3
|
||||
function g(x,y,z)
|
||||
use psb_base_mod, only : psb_dpk_, done, dzero
|
||||
implicit none
|
||||
real(psb_dpk_) :: g
|
||||
real(psb_dpk_), intent(in) :: x,y,z
|
||||
g = dzero
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
! POSSIBILITY OF SUCH DAMAGE.
|
||||
!
|
||||
module amg_d_pde3d_exp_mod
|
||||
use psb_base_mod, only : psb_dpk_, done
|
||||
use psb_base_mod, only : psb_dpk_, done, dzero
|
||||
real(psb_dpk_), save, private :: epsilon=done/160
|
||||
contains
|
||||
subroutine pde_set_parm(dat)
|
||||
@@ -46,49 +46,49 @@ contains
|
||||
! functions parametrizing the differential equation
|
||||
!
|
||||
function b1_exp(x,y,z)
|
||||
use psb_base_mod, only : psb_dpk_, dzero
|
||||
implicit none
|
||||
real(psb_dpk_) :: b1_exp
|
||||
real(psb_dpk_), intent(in) :: x,y,z
|
||||
b1_exp=dzero/sqrt(3.0_psb_dpk_)
|
||||
end function b1_exp
|
||||
function b2_exp(x,y,z)
|
||||
use psb_base_mod, only : psb_dpk_, dzero
|
||||
implicit none
|
||||
real(psb_dpk_) :: b2_exp
|
||||
real(psb_dpk_), intent(in) :: x,y,z
|
||||
b2_exp=dzero/sqrt(3.0_psb_dpk_)
|
||||
end function b2_exp
|
||||
function b3_exp(x,y,z)
|
||||
use psb_base_mod, only : psb_dpk_, dzero
|
||||
implicit none
|
||||
real(psb_dpk_) :: b3_exp
|
||||
real(psb_dpk_), intent(in) :: x,y,z
|
||||
b3_exp=dzero/sqrt(3.0_psb_dpk_)
|
||||
end function b3_exp
|
||||
function c_exp(x,y,z)
|
||||
use psb_base_mod, only : psb_dpk_, dzero
|
||||
implicit none
|
||||
real(psb_dpk_) :: c_exp
|
||||
real(psb_dpk_), intent(in) :: x,y,z
|
||||
c_exp=dzero
|
||||
end function c_exp
|
||||
function a1_exp(x,y,z)
|
||||
use psb_base_mod, only : psb_dpk_
|
||||
implicit none
|
||||
real(psb_dpk_) :: a1_exp
|
||||
real(psb_dpk_), intent(in) :: x,y,z
|
||||
a1_exp=epsilon*exp(-(x+y+z))
|
||||
end function a1_exp
|
||||
function a2_exp(x,y,z)
|
||||
use psb_base_mod, only : psb_dpk_
|
||||
implicit none
|
||||
real(psb_dpk_) :: a2_exp
|
||||
real(psb_dpk_), intent(in) :: x,y,z
|
||||
a2_exp=epsilon*exp(-(x+y+z))
|
||||
end function a2_exp
|
||||
function a3_exp(x,y,z)
|
||||
use psb_base_mod, only : psb_dpk_
|
||||
implicit none
|
||||
real(psb_dpk_) :: a3_exp
|
||||
real(psb_dpk_), intent(in) :: x,y,z
|
||||
a3_exp=epsilon*exp(-(x+y+z))
|
||||
end function a3_exp
|
||||
function g_exp(x,y,z)
|
||||
use psb_base_mod, only : psb_dpk_, done, dzero
|
||||
implicit none
|
||||
real(psb_dpk_) :: g_exp
|
||||
real(psb_dpk_), intent(in) :: x,y,z
|
||||
g_exp = dzero
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
! POSSIBILITY OF SUCH DAMAGE.
|
||||
!
|
||||
module amg_d_pde3d_gauss_mod
|
||||
use psb_base_mod, only : psb_dpk_, done
|
||||
use psb_base_mod, only : psb_dpk_, done, dzero
|
||||
real(psb_dpk_), save, private :: epsilon=done/80
|
||||
contains
|
||||
subroutine pde_set_parm(dat)
|
||||
@@ -46,49 +46,49 @@ contains
|
||||
! functions parametrizing the differential equation
|
||||
!
|
||||
function b1_gauss(x,y,z)
|
||||
use psb_base_mod, only : psb_dpk_, done
|
||||
implicit none
|
||||
real(psb_dpk_) :: b1_gauss
|
||||
real(psb_dpk_), intent(in) :: x,y,z
|
||||
b1_gauss=done/sqrt(3.0_psb_dpk_)-2*x*exp(-(x**2+y**2+z**2))
|
||||
end function b1_gauss
|
||||
function b2_gauss(x,y,z)
|
||||
use psb_base_mod, only : psb_dpk_, done
|
||||
implicit none
|
||||
real(psb_dpk_) :: b2_gauss
|
||||
real(psb_dpk_), intent(in) :: x,y,z
|
||||
b2_gauss=done/sqrt(3.0_psb_dpk_)-2*y*exp(-(x**2+y**2+z**2))
|
||||
end function b2_gauss
|
||||
function b3_gauss(x,y,z)
|
||||
use psb_base_mod, only : psb_dpk_, done
|
||||
implicit none
|
||||
real(psb_dpk_) :: b3_gauss
|
||||
real(psb_dpk_), intent(in) :: x,y,z
|
||||
b3_gauss=done/sqrt(3.0_psb_dpk_)-2*z*exp(-(x**2+y**2+z**2))
|
||||
end function b3_gauss
|
||||
function c_gauss(x,y,z)
|
||||
use psb_base_mod, only : psb_dpk_, dzero
|
||||
implicit none
|
||||
real(psb_dpk_) :: c_gauss
|
||||
real(psb_dpk_), intent(in) :: x,y,z
|
||||
c=dzero
|
||||
c_gauss=dzero
|
||||
end function c_gauss
|
||||
function a1_gauss(x,y,z)
|
||||
use psb_base_mod, only : psb_dpk_
|
||||
implicit none
|
||||
real(psb_dpk_) :: a1_gauss
|
||||
real(psb_dpk_), intent(in) :: x,y,z
|
||||
a1_gauss=epsilon*exp(-(x**2+y**2+z**2))
|
||||
end function a1_gauss
|
||||
function a2_gauss(x,y,z)
|
||||
use psb_base_mod, only : psb_dpk_
|
||||
implicit none
|
||||
real(psb_dpk_) :: a2_gauss
|
||||
real(psb_dpk_), intent(in) :: x,y,z
|
||||
a2_gauss=epsilon*exp(-(x**2+y**2+z**2))
|
||||
end function a2_gauss
|
||||
function a3_gauss(x,y,z)
|
||||
use psb_base_mod, only : psb_dpk_
|
||||
implicit none
|
||||
real(psb_dpk_) :: a3_gauss
|
||||
real(psb_dpk_), intent(in) :: x,y,z
|
||||
a3_gauss=epsilon*exp(-(x**2+y**2+z**2))
|
||||
end function a3_gauss
|
||||
function g_gauss(x,y,z)
|
||||
use psb_base_mod, only : psb_dpk_, done, dzero
|
||||
implicit none
|
||||
real(psb_dpk_) :: g_gauss
|
||||
real(psb_dpk_), intent(in) :: x,y,z
|
||||
g_gauss = dzero
|
||||
|
||||
@@ -46,37 +46,37 @@ contains
|
||||
! functions parametrizing the differential equation
|
||||
!
|
||||
function b1(x,y)
|
||||
use psb_base_mod, only : psb_spk_, szero, sone
|
||||
implicit none
|
||||
real(psb_spk_) :: b1
|
||||
real(psb_spk_), intent(in) :: x,y
|
||||
b1 = szero/1.414_psb_spk_
|
||||
end function b1
|
||||
function b2(x,y)
|
||||
use psb_base_mod, only : psb_spk_, szero, sone
|
||||
implicit none
|
||||
real(psb_spk_) :: b2
|
||||
real(psb_spk_), intent(in) :: x,y
|
||||
b2 = szero/1.414_psb_spk_
|
||||
end function b2
|
||||
function c(x,y)
|
||||
use psb_base_mod, only : psb_spk_, szero, sone
|
||||
implicit none
|
||||
real(psb_spk_) :: c
|
||||
real(psb_spk_), intent(in) :: x,y
|
||||
c = szero
|
||||
end function c
|
||||
function a1(x,y)
|
||||
use psb_base_mod, only : psb_spk_, szero, sone
|
||||
implicit none
|
||||
real(psb_spk_) :: a1
|
||||
real(psb_spk_), intent(in) :: x,y
|
||||
a1=sone*epsilon
|
||||
end function a1
|
||||
function a2(x,y)
|
||||
use psb_base_mod, only : psb_spk_, szero, sone
|
||||
implicit none
|
||||
real(psb_spk_) :: a2
|
||||
real(psb_spk_), intent(in) :: x,y
|
||||
a2=sone*epsilon
|
||||
end function a2
|
||||
function g(x,y)
|
||||
use psb_base_mod, only : psb_spk_, szero, sone
|
||||
implicit none
|
||||
real(psb_spk_) :: g
|
||||
real(psb_spk_), intent(in) :: x,y
|
||||
g = szero
|
||||
|
||||
@@ -46,37 +46,37 @@ contains
|
||||
! functions parametrizing the differential equation
|
||||
!
|
||||
function b1_box(x,y)
|
||||
use psb_base_mod, only : psb_spk_, szero, sone
|
||||
implicit none
|
||||
real(psb_spk_) :: b1_box
|
||||
real(psb_spk_), intent(in) :: x,y
|
||||
b1_box = sone/1.414_psb_spk_
|
||||
end function b1_box
|
||||
function b2_box(x,y)
|
||||
use psb_base_mod, only : psb_spk_, szero, sone
|
||||
implicit none
|
||||
real(psb_spk_) :: b2_box
|
||||
real(psb_spk_), intent(in) :: x,y
|
||||
b2_box = sone/1.414_psb_spk_
|
||||
end function b2_box
|
||||
function c_box(x,y)
|
||||
use psb_base_mod, only : psb_spk_, szero, sone
|
||||
implicit none
|
||||
real(psb_spk_) :: c_box
|
||||
real(psb_spk_), intent(in) :: x,y
|
||||
c_box = szero
|
||||
end function c_box
|
||||
function a1_box(x,y)
|
||||
use psb_base_mod, only : psb_spk_, szero, sone
|
||||
implicit none
|
||||
real(psb_spk_) :: a1_box
|
||||
real(psb_spk_), intent(in) :: x,y
|
||||
a1_box=sone*epsilon
|
||||
end function a1_box
|
||||
function a2_box(x,y)
|
||||
use psb_base_mod, only : psb_spk_, szero, sone
|
||||
implicit none
|
||||
real(psb_spk_) :: a2_box
|
||||
real(psb_spk_), intent(in) :: x,y
|
||||
a2_box=sone*epsilon
|
||||
end function a2_box
|
||||
function g_box(x,y)
|
||||
use psb_base_mod, only : psb_spk_, szero, sone
|
||||
implicit none
|
||||
real(psb_spk_) :: g_box
|
||||
real(psb_spk_), intent(in) :: x,y
|
||||
g_box = szero
|
||||
|
||||
@@ -46,37 +46,37 @@ contains
|
||||
! functions parametrizing the differential equation
|
||||
!
|
||||
function b1_exp(x,y)
|
||||
use psb_base_mod, only : psb_spk_, sone, szero
|
||||
implicit none
|
||||
real(psb_spk_) :: b1_exp
|
||||
real(psb_spk_), intent(in) :: x,y
|
||||
b1_exp = szero
|
||||
end function b1_exp
|
||||
function b2_exp(x,y)
|
||||
use psb_base_mod, only : psb_spk_, sone, szero
|
||||
implicit none
|
||||
real(psb_spk_) :: b2_exp
|
||||
real(psb_spk_), intent(in) :: x,y
|
||||
b2_exp = szero
|
||||
end function b2_exp
|
||||
function c_exp(x,y)
|
||||
use psb_base_mod, only : psb_spk_, sone, szero
|
||||
implicit none
|
||||
real(psb_spk_) :: c_exp
|
||||
real(psb_spk_), intent(in) :: x,y
|
||||
c_exp = szero
|
||||
end function c_exp
|
||||
function a1_exp(x,y)
|
||||
use psb_base_mod, only : psb_spk_, sone, szero
|
||||
implicit none
|
||||
real(psb_spk_) :: a1_exp
|
||||
real(psb_spk_), intent(in) :: x,y
|
||||
a1=sone*epsilon*exp(-(x+y))
|
||||
a1_exp=sone*epsilon*exp(-(x+y))
|
||||
end function a1_exp
|
||||
function a2_exp(x,y)
|
||||
use psb_base_mod, only : psb_spk_, sone, szero
|
||||
implicit none
|
||||
real(psb_spk_) :: a2_exp
|
||||
real(psb_spk_), intent(in) :: x,y
|
||||
a2=sone*epsilon*exp(-(x+y))
|
||||
a2_exp=sone*epsilon*exp(-(x+y))
|
||||
end function a2_exp
|
||||
function g_exp(x,y)
|
||||
use psb_base_mod, only : psb_spk_, sone, szero
|
||||
implicit none
|
||||
real(psb_spk_) :: g_exp
|
||||
real(psb_spk_), intent(in) :: x,y
|
||||
g_exp = szero
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
! POSSIBILITY OF SUCH DAMAGE.
|
||||
!
|
||||
module amg_s_pde3d_base_mod
|
||||
use psb_base_mod, only : psb_spk_, sone
|
||||
use psb_base_mod, only : psb_spk_, sone, szero
|
||||
real(psb_spk_), save, private :: epsilon=sone/80
|
||||
contains
|
||||
subroutine pde_set_parm(dat)
|
||||
@@ -46,49 +46,49 @@ contains
|
||||
! functions parametrizing the differential equation
|
||||
!
|
||||
function b1(x,y,z)
|
||||
use psb_base_mod, only : psb_spk_, sone
|
||||
implicit none
|
||||
real(psb_spk_) :: b1
|
||||
real(psb_spk_), intent(in) :: x,y,z
|
||||
b1=sone/sqrt(3.0_psb_spk_)
|
||||
end function b1
|
||||
function b2(x,y,z)
|
||||
use psb_base_mod, only : psb_spk_, sone
|
||||
implicit none
|
||||
real(psb_spk_) :: b2
|
||||
real(psb_spk_), intent(in) :: x,y,z
|
||||
b2=sone/sqrt(3.0_psb_spk_)
|
||||
end function b2
|
||||
function b3(x,y,z)
|
||||
use psb_base_mod, only : psb_spk_, sone
|
||||
implicit none
|
||||
real(psb_spk_) :: b3
|
||||
real(psb_spk_), intent(in) :: x,y,z
|
||||
b3=sone/sqrt(3.0_psb_spk_)
|
||||
end function b3
|
||||
function c(x,y,z)
|
||||
use psb_base_mod, only : psb_spk_, szero, sone
|
||||
implicit none
|
||||
real(psb_spk_) :: c
|
||||
real(psb_spk_), intent(in) :: x,y,z
|
||||
c=szero
|
||||
end function c
|
||||
function a1(x,y,z)
|
||||
use psb_base_mod, only : psb_spk_
|
||||
implicit none
|
||||
real(psb_spk_) :: a1
|
||||
real(psb_spk_), intent(in) :: x,y,z
|
||||
a1=epsilon
|
||||
end function a1
|
||||
function a2(x,y,z)
|
||||
use psb_base_mod, only : psb_spk_
|
||||
implicit none
|
||||
real(psb_spk_) :: a2
|
||||
real(psb_spk_), intent(in) :: x,y,z
|
||||
a2=epsilon
|
||||
end function a2
|
||||
function a3(x,y,z)
|
||||
use psb_base_mod, only : psb_spk_
|
||||
implicit none
|
||||
real(psb_spk_) :: a3
|
||||
real(psb_spk_), intent(in) :: x,y,z
|
||||
a3=epsilon
|
||||
end function a3
|
||||
function g(x,y,z)
|
||||
use psb_base_mod, only : psb_spk_, sone, szero
|
||||
implicit none
|
||||
real(psb_spk_) :: g
|
||||
real(psb_spk_), intent(in) :: x,y,z
|
||||
g = szero
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
! POSSIBILITY OF SUCH DAMAGE.
|
||||
!
|
||||
module amg_s_pde3d_exp_mod
|
||||
use psb_base_mod, only : psb_spk_, sone
|
||||
use psb_base_mod, only : psb_spk_, sone, szero
|
||||
real(psb_spk_), save, private :: epsilon=sone/160
|
||||
contains
|
||||
subroutine pde_set_parm(dat)
|
||||
@@ -46,49 +46,49 @@ contains
|
||||
! functions parametrizing the differential equation
|
||||
!
|
||||
function b1_exp(x,y,z)
|
||||
use psb_base_mod, only : psb_spk_, szero
|
||||
implicit none
|
||||
real(psb_spk_) :: b1_exp
|
||||
real(psb_spk_), intent(in) :: x,y,z
|
||||
b1_exp=szero/sqrt(3.0_psb_spk_)
|
||||
end function b1_exp
|
||||
function b2_exp(x,y,z)
|
||||
use psb_base_mod, only : psb_spk_, szero
|
||||
implicit none
|
||||
real(psb_spk_) :: b2_exp
|
||||
real(psb_spk_), intent(in) :: x,y,z
|
||||
b2_exp=szero/sqrt(3.0_psb_spk_)
|
||||
end function b2_exp
|
||||
function b3_exp(x,y,z)
|
||||
use psb_base_mod, only : psb_spk_, szero
|
||||
implicit none
|
||||
real(psb_spk_) :: b3_exp
|
||||
real(psb_spk_), intent(in) :: x,y,z
|
||||
b3_exp=szero/sqrt(3.0_psb_spk_)
|
||||
end function b3_exp
|
||||
function c_exp(x,y,z)
|
||||
use psb_base_mod, only : psb_spk_, szero
|
||||
implicit none
|
||||
real(psb_spk_) :: c_exp
|
||||
real(psb_spk_), intent(in) :: x,y,z
|
||||
c_exp=szero
|
||||
end function c_exp
|
||||
function a1_exp(x,y,z)
|
||||
use psb_base_mod, only : psb_spk_
|
||||
implicit none
|
||||
real(psb_spk_) :: a1_exp
|
||||
real(psb_spk_), intent(in) :: x,y,z
|
||||
a1_exp=epsilon*exp(-(x+y+z))
|
||||
end function a1_exp
|
||||
function a2_exp(x,y,z)
|
||||
use psb_base_mod, only : psb_spk_
|
||||
implicit none
|
||||
real(psb_spk_) :: a2_exp
|
||||
real(psb_spk_), intent(in) :: x,y,z
|
||||
a2_exp=epsilon*exp(-(x+y+z))
|
||||
end function a2_exp
|
||||
function a3_exp(x,y,z)
|
||||
use psb_base_mod, only : psb_spk_
|
||||
implicit none
|
||||
real(psb_spk_) :: a3_exp
|
||||
real(psb_spk_), intent(in) :: x,y,z
|
||||
a3_exp=epsilon*exp(-(x+y+z))
|
||||
end function a3_exp
|
||||
function g_exp(x,y,z)
|
||||
use psb_base_mod, only : psb_spk_, sone, szero
|
||||
implicit none
|
||||
real(psb_spk_) :: g_exp
|
||||
real(psb_spk_), intent(in) :: x,y,z
|
||||
g_exp = szero
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
! POSSIBILITY OF SUCH DAMAGE.
|
||||
!
|
||||
module amg_s_pde3d_gauss_mod
|
||||
use psb_base_mod, only : psb_spk_, sone
|
||||
use psb_base_mod, only : psb_spk_, sone, szero
|
||||
real(psb_spk_), save, private :: epsilon=sone/80
|
||||
contains
|
||||
subroutine pde_set_parm(dat)
|
||||
@@ -46,49 +46,49 @@ contains
|
||||
! functions parametrizing the differential equation
|
||||
!
|
||||
function b1_gauss(x,y,z)
|
||||
use psb_base_mod, only : psb_spk_, sone
|
||||
implicit none
|
||||
real(psb_spk_) :: b1_gauss
|
||||
real(psb_spk_), intent(in) :: x,y,z
|
||||
b1_gauss=sone/sqrt(3.0_psb_spk_)-2*x*exp(-(x**2+y**2+z**2))
|
||||
end function b1_gauss
|
||||
function b2_gauss(x,y,z)
|
||||
use psb_base_mod, only : psb_spk_, sone
|
||||
implicit none
|
||||
real(psb_spk_) :: b2_gauss
|
||||
real(psb_spk_), intent(in) :: x,y,z
|
||||
b2_gauss=sone/sqrt(3.0_psb_spk_)-2*y*exp(-(x**2+y**2+z**2))
|
||||
end function b2_gauss
|
||||
function b3_gauss(x,y,z)
|
||||
use psb_base_mod, only : psb_spk_, sone
|
||||
implicit none
|
||||
real(psb_spk_) :: b3_gauss
|
||||
real(psb_spk_), intent(in) :: x,y,z
|
||||
b3_gauss=sone/sqrt(3.0_psb_spk_)-2*z*exp(-(x**2+y**2+z**2))
|
||||
end function b3_gauss
|
||||
function c_gauss(x,y,z)
|
||||
use psb_base_mod, only : psb_spk_, szero
|
||||
implicit none
|
||||
real(psb_spk_) :: c_gauss
|
||||
real(psb_spk_), intent(in) :: x,y,z
|
||||
c=szero
|
||||
c_gauss=szero
|
||||
end function c_gauss
|
||||
function a1_gauss(x,y,z)
|
||||
use psb_base_mod, only : psb_spk_
|
||||
implicit none
|
||||
real(psb_spk_) :: a1_gauss
|
||||
real(psb_spk_), intent(in) :: x,y,z
|
||||
a1_gauss=epsilon*exp(-(x**2+y**2+z**2))
|
||||
end function a1_gauss
|
||||
function a2_gauss(x,y,z)
|
||||
use psb_base_mod, only : psb_spk_
|
||||
implicit none
|
||||
real(psb_spk_) :: a2_gauss
|
||||
real(psb_spk_), intent(in) :: x,y,z
|
||||
a2_gauss=epsilon*exp(-(x**2+y**2+z**2))
|
||||
end function a2_gauss
|
||||
function a3_gauss(x,y,z)
|
||||
use psb_base_mod, only : psb_spk_
|
||||
implicit none
|
||||
real(psb_spk_) :: a3_gauss
|
||||
real(psb_spk_), intent(in) :: x,y,z
|
||||
a3_gauss=epsilon*exp(-(x**2+y**2+z**2))
|
||||
end function a3_gauss
|
||||
function g_gauss(x,y,z)
|
||||
use psb_base_mod, only : psb_spk_, sone, szero
|
||||
implicit none
|
||||
real(psb_spk_) :: g_gauss
|
||||
real(psb_spk_), intent(in) :: x,y,z
|
||||
g_gauss = szero
|
||||
|
||||
Reference in New Issue
Block a user