besselnumba#
Bessel functions for line elements with numba acceleration.
Functions#
|
besselk0near. |
|
besselk0cheb. |
|
besselk0. |
|
besselk1near. |
|
besselk1cheb. |
|
besselk1. |
|
lapls_int_ho. |
|
lapls_gauss_ho. |
|
Note this is W andReturns Qx - iQy. |
|
lapls_gauss_ho_wdis. |
|
lapld_int_ho. |
|
lapld_int_ho_d1d2. |
|
lapld_gauss_ho. |
|
lapld_int_ho_wdis. |
|
lapld_int_ho_wdis_d1d2. |
|
lapld_gauss_ho_wdis. |
|
Checks whether point zc is within oval with 'radius' R from line element. |
|
find_d1d2. |
|
Docs. |
|
bessells_gauss_ho. |
|
Returns integral from d1 to d2 along real axis. |
|
bessellsv2. |
|
Bessells. |
|
Docs. |
|
bessells_gauss_ho_qxqy. |
|
Returns integral from d1 to d2 along real axis. |
|
bessellsqxqyv2. |
|
Bessellsqxqy. |
|
Docs. |
|
besselld_gauss_ho. |
|
besselld_gauss_ho_d1d2. |
|
besselldv2. |
|
Besselld. |
|
Docs. |
|
besselld_gauss_ho_qxqy. |
|
Returns integral from d1 to d2 along real axis. |
|
besselldqxqyv2. |
|
Besselldqxqy. |
|
Potential of line-sink for use in timflow.steady. |
|
Disvec of line-sink for use in timflow.steady. |
|
Potential of line-doublet for use in timflow.steady. |
|
Disvec of line-doublet for use in timflow.steady. |
Module Contents#
- besselk0near(z, Nt)[source]#
besselk0near.
implicit none complex(kind=8), intent(in) :: z integer, intent(in) :: Nt complex(kind=8) :: omega complex(kind=8) :: rsq, log1, term integer :: n
- besselk0cheb(z, Nt)[source]#
besselk0cheb.
implicit none complex(kind=8), intent(in) :: z integer, intent(in) :: Nt complex(kind=8) :: omega integer :: n, n2, ts real(kind=8) :: a, b, c, A3, u complex(kind=8) :: A1, A2, cn, cnp1, cnp2, cnp3 complex(kind=8) :: z1, z2, S, T
- besselk0(x, y, lab)[source]#
besselk0.
implicit none real(kind=8), intent(in) :: x,y complex(kind=8), intent(in) :: lab complex(kind=8) :: z, omega real(kind=8) :: cond
- besselk1near(z, Nt)[source]#
besselk1near.
implicit none complex(kind=8), intent(in) :: z integer, intent(in) :: Nt complex(kind=8) :: omega complex(kind=8) :: zsq, log1, term integer :: n
- besselk1cheb(z, Nt)[source]#
besselk1cheb.
implicit none complex(kind=8), intent(in) :: z integer, intent(in) :: Nt complex(kind=8) :: omega integer :: n, n2, ts real(kind=8) :: a, b, c, A3, u complex(kind=8) :: A1, A2, cn, cnp1, cnp2, cnp3 complex(kind=8) :: z1, z2, S, T
- besselk1(x, y, lab)[source]#
besselk1.
implicit none real(kind=8), intent(in) :: x,y complex(kind=8), intent(in) :: lab complex(kind=8) :: z, omega real(kind=8) :: cond
- lapls_int_ho(x, y, z1, z2, order)[source]#
lapls_int_ho.
! Near field only implicit none integer, intent(in) :: order real(kind=8), intent(in) :: x,y complex(kind=8), intent(in) :: z1,z2 complex(kind=8), dimension(0:order) :: omega, qm integer :: m, n real(kind=8) :: L complex(kind=8) :: z, zplus1, zmin1
- lapls_gauss_ho(x, y, z1, z2, order)[source]#
lapls_gauss_ho.
implicit none integer, intent(in) :: order real(kind=8), intent(in) :: x,y complex(kind=8), intent(in) :: z1,z2 complex(kind=8), dimension(0:order) :: omega integer :: n, p real(kind=8) :: L, x0 complex(kind=8) :: bigz complex(kind=8), dimension(8) :: log
- lapls_gauss_ho_wdis(x, y, z1, z2, order)[source]#
lapls_gauss_ho_wdis.
implicit none integer, intent(in) :: order real(kind=8), intent(in) :: x,y complex(kind=8), intent(in) :: z1,z2 integer :: n, p real(kind=8) :: L complex(kind=8) :: bigz complex(kind=8), dimension(8) :: pole complex(kind=8), dimension(0:order) :: W
- lapld_int_ho(x, y, z1, z2, order)[source]#
lapld_int_ho.
! Near field only implicit none integer, intent(in) :: order real(kind=8), intent(in) :: x,y complex(kind=8), intent(in) :: z1,z2 complex(kind=8), dimension(0:order) :: omega, qm integer :: m, n real(kind=8) :: L complex(kind=8) :: z, zplus1, zmin1
- lapld_int_ho_d1d2(x, y, z1, z2, order, d1, d2)[source]#
lapld_int_ho_d1d2.
Near field only Returns integral from d1 to d2 along real axis while strength is still Delta^order from -1 to +1 implicit none integer, intent(in) :: order real(kind=8), intent(in) :: x,y,d1,d2 complex(kind=8), intent(in) :: z1,z2 complex(kind=8), dimension(0:order) :: omega, omegac integer :: n, m real(kind=8) :: xp, yp, dc, fac complex(kind=8) :: z1p,z2p,bigz1,bigz2
- lapld_gauss_ho(x, y, z1, z2, order)[source]#
lapld_gauss_ho.
implicit none integer, intent(in) :: order real(kind=8), intent(in) :: x,y complex(kind=8), intent(in) :: z1,z2 complex(kind=8), dimension(0:order) :: omega integer :: n, p real(kind=8) :: L, x0 complex(kind=8) :: bigz complex(kind=8), dimension(8) :: pole
- lapld_int_ho_wdis(x, y, z1, z2, order)[source]#
lapld_int_ho_wdis.
# Near field only implicit none integer, intent(in) :: order real(kind=8), intent(in) :: x,y complex(kind=8), intent(in) :: z1,z2 complex(kind=8), dimension(0:order) :: wdis complex(kind=8), dimension(0:10) :: qm # Max order is 10 integer :: m, n complex(kind=8) :: z, zplus1, zmin1, term1, term2, zterm
- lapld_int_ho_wdis_d1d2(x, y, z1, z2, order, d1, d2)[source]#
lapld_int_ho_wdis_d1d2.
# Near field only # Returns integral from d1 to d2 along real axis while strength is still # Delta^order from -1 to +1 implicit none integer, intent(in) :: order real(kind=8), intent(in) :: x,y,d1,d2 complex(kind=8), intent(in) :: z1,z2 complex(kind=8), dimension(0:order) :: wdis, wdisc integer :: n, m real(kind=8) :: xp, yp, dc, fac complex(kind=8) :: z1p,z2p,bigz1,bigz2
- lapld_gauss_ho_wdis(x, y, z1, z2, order)[source]#
lapld_gauss_ho_wdis.
implicit none integer, intent(in) :: order real(kind=8), intent(in) :: x,y complex(kind=8), intent(in) :: z1,z2 integer :: n, p real(kind=8) :: L complex(kind=8) :: bigz complex(kind=8), dimension(8) :: pole complex(kind=8), dimension(0:order) :: W
- isinside(z1, z2, zc, R)[source]#
Checks whether point zc is within oval with ‘radius’ R from line element.
implicit none complex(kind=8), intent(in) :: z1, z2, zc real(kind=8), intent(in) :: R integer :: irv real(kind=8) :: Lover2, d, xa, xb complex(kind=8) :: bigz
- find_d1d2(z1, z2, zc, R)[source]#
find_d1d2.
implicit none complex(kind=8), intent(in) :: z1, z2, zc real(kind=8), intent(in) :: R real(kind=8), intent(inout) :: d1, d2 real(kind=8) :: Lover2, d, xa, xb complex(kind=8) :: bigz
- bessells_gauss_ho(x, y, z1, z2, lab, order)[source]#
bessells_gauss_ho.
implicit none integer, intent(in) :: order real(kind=8), intent(in) :: x,y complex(kind=8), intent(in) :: z1,z2 complex(kind=8), intent(in) :: lab complex(kind=8), dimension(0:order) :: omega integer :: n, p real(kind=8) :: L, x0 complex(kind=8) :: bigz, biglab complex(kind=8), dimension(8) :: k0
- bessells_gauss_ho_d1d2(x, y, z1, z2, lab, order, d1, d2)[source]#
Returns integral from d1 to d2 along real axis.
While strength is still Delta^order from -1 to +1.
implicit none integer, intent(in) :: order real(kind=8), intent(in) :: x,y,d1,d2 complex(kind=8), intent(in) :: z1,z2,lab complex(kind=8), dimension(0:order) :: omega, omegac integer :: n, m real(kind=8) :: xp, yp, dc, fac complex(kind=8) :: z1p,z2p,bigz1,bigz2
- bessellsv2(x, y, z1, z2, lab, order, R)[source]#
bessellsv2.
implicit none integer, intent(in) :: order real(kind=8), intent(in) :: x,y,R complex(kind=8), intent(in) :: z1,z2 integer, intent(in) :: nlab real(kind=8) :: d1, d2 complex(kind=8), dimension(nlab), intent(in) :: lab complex(kind=8), dimension(order+1,nlab) :: omega integer :: n, nterms
- bessells(x, y, z1, z2, lab, order, d1in, d2in)[source]#
Bessells.
implicit none integer, intent(in) :: order real(kind=8), intent(in) :: x,y,d1in,d2in complex(kind=8), intent(in) :: z1,z2 complex(kind=8), intent(in) :: lab complex(kind=8), dimension(0:order) :: omega
integer :: Nls, n real(kind=8) :: Lnear, L, d1, d2, delta complex(kind=8) :: z, delz, za, zb
- bessells_gauss_ho_qxqy(x, y, z1, z2, lab, order)[source]#
bessells_gauss_ho_qxqy.
implicit none integer, intent(in) :: order real(kind=8), intent(in) :: x,y complex(kind=8), intent(in) :: z1,z2 complex(kind=8), intent(in) :: lab complex(kind=8), dimension(0:2*order+1) :: qxqy integer :: n, p real(kind=8) :: L, bigy, angz complex(kind=8) :: bigz, biglab real(kind=8), dimension(8) :: r, xmind complex(kind=8), dimension(8) :: k1 complex(kind=8), dimension(0:order) :: qx,qy
- bessells_gauss_ho_qxqy_d1d2(x, y, z1, z2, lab, order, d1, d2)[source]#
Returns integral from d1 to d2 along real axis.
While strength is still Delta^order from -1 to +1.
implicit none integer, intent(in) :: order real(kind=8), intent(in) :: x,y,d1,d2 complex(kind=8), intent(in) :: z1,z2,lab complex(kind=8), dimension(0:2*order+1) :: qxqy, qxqyc integer :: n, m real(kind=8) :: xp, yp, dc, fac complex(kind=8) :: z1p,z2p,bigz1,bigz2
- bessellsqxqyv2(x, y, z1, z2, lab, order, R)[source]#
bessellsqxqyv2.
implicit none integer, intent(in) :: order real(kind=8), intent(in) :: x,y,R complex(kind=8), intent(in) :: z1,z2 integer, intent(in) :: nlab real(kind=8) :: d1, d2 complex(kind=8), dimension(nlab), intent(in) :: lab complex(kind=8), dimension(2*(order+1),nlab) :: qxqy complex(kind=8), dimension(0:2*order+1) :: qxqylab integer :: n, nterms, nhalf
- bessellsqxqy(x, y, z1, z2, lab, order, d1in, d2in)[source]#
Bessellsqxqy.
implicit none integer, intent(in) :: order real(kind=8), intent(in) :: x,y,d1in,d2in complex(kind=8), intent(in) :: z1,z2 complex(kind=8), intent(in) :: lab complex(kind=8), dimension(0:2*order+1) :: qxqy
integer :: Nls, n real(kind=8) :: Lnear, L, d1, d2, delta complex(kind=8) :: z, delz, za, zb
- besselld_gauss_ho(x, y, z1, z2, lab, order)[source]#
besselld_gauss_ho.
implicit none integer, intent(in) :: order real(kind=8), intent(in) :: x,y complex(kind=8), intent(in) :: z1,z2 complex(kind=8), intent(in) :: lab complex(kind=8), dimension(0:order) :: omega integer :: n, p real(kind=8) :: L, x0, r complex(kind=8) :: bigz, biglab complex(kind=8), dimension(8) :: k1overr
- besselld_gauss_ho_d1d2(x, y, z1, z2, lab, order, d1, d2)[source]#
besselld_gauss_ho_d1d2.
# Returns integral from d1 to d2 along real axis while strength is still # Delta^order from -1 to +1 implicit none integer, intent(in) :: order real(kind=8), intent(in) :: x,y,d1,d2 complex(kind=8), intent(in) :: z1,z2,lab complex(kind=8), dimension(0:order) :: omega, omegac integer :: n, m real(kind=8) :: xp, yp, dc, fac complex(kind=8) :: z1p,z2p,bigz1,bigz2
- besselldv2(x, y, z1, z2, lab, order, R)[source]#
besselldv2.
implicit none integer, intent(in) :: order real(kind=8), intent(in) :: x,y,R complex(kind=8), intent(in) :: z1,z2 integer, intent(in) :: nlab real(kind=8) :: d1, d2 complex(kind=8), dimension(nlab), intent(in) :: lab complex(kind=8), dimension(order+1,nlab) :: omega integer :: n, nterms
- besselld(x, y, z1, z2, lab, order, d1in, d2in)[source]#
Besselld.
implicit none integer, intent(in) :: order real(kind=8), intent(in) :: x,y,d1in,d2in complex(kind=8), intent(in) :: z1,z2 complex(kind=8), intent(in) :: lab complex(kind=8), dimension(0:order) :: omega
integer :: Nls, n real(kind=8) :: Lnear, L, d1, d2, delta complex(kind=8) :: z, delz, za, zb
- besselld_gauss_ho_qxqy(x, y, z1, z2, lab, order)[source]#
besselld_gauss_ho_qxqy.
implicit none integer, intent(in) :: order real(kind=8), intent(in) :: x,y complex(kind=8), intent(in) :: z1,z2 complex(kind=8), intent(in) :: lab complex(kind=8), dimension(0:2*order+1) :: qxqy integer :: n, p real(kind=8) :: L, bigy, angz complex(kind=8) :: bigz, biglab real(kind=8), dimension(8) :: r, xmind complex(kind=8), dimension(8) :: k0,k1 complex(kind=8), dimension(0:order) :: qx,qy
- besselld_gauss_ho_qxqy_d1d2(x, y, z1, z2, lab, order, d1, d2)[source]#
Returns integral from d1 to d2 along real axis.
While strength is still Delta^order from -1 to +1.
implicit none integer, intent(in) :: order real(kind=8), intent(in) :: x,y,d1,d2 complex(kind=8), intent(in) :: z1,z2,lab complex(kind=8), dimension(0:2*order+1) :: qxqy, qxqyc integer :: n, m real(kind=8) :: xp, yp, dc, fac complex(kind=8) :: z1p,z2p,bigz1,bigz2
- besselldqxqyv2(x, y, z1, z2, lab, order, R)[source]#
besselldqxqyv2.
implicit none integer, intent(in) :: order real(kind=8), intent(in) :: x,y,R complex(kind=8), intent(in) :: z1,z2 integer, intent(in) :: nlab real(kind=8) :: d1, d2 complex(kind=8), dimension(nlab), intent(in) :: lab complex(kind=8), dimension(2*(order+1),nlab) :: qxqy complex(kind=8), dimension(0:2*order+1) :: qxqylab integer :: n, nterms, nhalf
- besselldqxqy(x, y, z1, z2, lab, order, d1in, d2in)[source]#
Besselldqxqy.
implicit none integer, intent(in) :: order real(kind=8), intent(in) :: x,y,d1in,d2in complex(kind=8), intent(in) :: z1,z2 complex(kind=8), intent(in) :: lab complex(kind=8), dimension(0:2*order+1) :: qxqy
integer :: Nls, n real(kind=8) :: Lnear, L, d1, d2, delta complex(kind=8) :: z, delz, za, zb
- potbeslsv(x, y, z1, z2, lab, order, ilap, naq, R=8)[source]#
Potential of line-sink for use in timflow.steady.
- disbeslsv(x, y, z1, z2, lab, order, ilap, naq, R=8)[source]#
Disvec of line-sink for use in timflow.steady.