ORB5  v4.9.4
bsplinesbasis Module Reference

Extraction of BSplines funcitonalities from the solver module. More...

Functions/Subroutines

subroutine initbsplinesbasis (nx_, ny_, nz_, degree_, xmin_, xmax_, ymin_, ymax_, zmin_, zmax_, nsel_bsplines_basis)
 
subroutine destroybsplinesbasismodule ()
 
subroutine computebsplinesx (fun, pos, x)
 
subroutine computebsplinesxd (fun, fund, pos, x)
 
subroutine computebsplinesy (fun, pos, y)
 
subroutine computebsplinesy_fft (basisspline_m, y)
 
subroutine computebsplinesyd (fun, fund, pos, y)
 
subroutine computebsplinesz (fun, pos, z)
 
subroutine computebsplinesz_fft (bspline_n, z)
 
subroutine computebsplinesgridvalues_cpx (gridx_, gridy_, output, input)
 
subroutine computebsplinesgridvalues (gridx_, gridy_, output, input)
 
subroutine computebsplinesgridvalueswithderivative (gridx_, gridy_, f, dfdx, dfdy, input)
 
pure integer function computemapping2to1 (i, j)
 
pure integer function computemapping2to1bis (i, j, n)
 
pure subroutine computemapping1to2 (a, i, j)
 
double precision function computecouplingcoeff (n, NB)
 

Variables

real, dimension(:), allocatable gridx
 
real, dimension(:), allocatable gridy
 
real, dimension(:), allocatable gridz
 
integer nx
 
integer ny
 
integer nz
 
integer degree
 
integer ns_loc
 
real xmin
 
real xmax
 
real lx
 
real ymin
 
real ymax
 
real ly
 
real zmin
 
real zmax
 
real lz
 
real dx
 
real dx_inv
 
real dy
 
real dy_inv
 
real dz
 
real dz_inv
 
integer bsplines_uniform
 
class(bsplines), allocatable bsplinesx
 
class(bsplines), allocatable bsplinesy
 
class(bsplines), allocatable bsplinesz
 
real y_m
 
real z_n
 
complex, dimension(:), allocatable basisspline_m
 
complex, dimension(:), allocatable basisspline_n
 
complex icomplex
 
integer ny2
 
integer nz2
 
type(c_ptr) plany
 
type(c_ptr) cptr_outy
 
type(c_ptr) cptr_iny
 
type(c_ptr) planz
 
type(c_ptr) cptr_outz
 
type(c_ptr) cptr_inz
 
real(c_double_complex), dimension(:), pointer p_iny
 
real(c_double_complex), dimension(:), pointer p_inz
 
complex(c_double_complex), dimension(:), pointer p_outy
 
complex(c_double_complex), dimension(:), pointer p_outz
 

Detailed Description

Extraction of BSplines funcitonalities from the solver module.

Author
Julien Dominski
Date
October 2015

Function/Subroutine Documentation

◆ computebsplinesgridvalues()

subroutine bsplinesbasis::computebsplinesgridvalues ( double precision, dimension(0:), intent(in)  gridx_,
double precision, dimension(0:), intent(in)  gridy_,
double precision, dimension(0:,0:), intent(inout)  output,
double precision, dimension(:), intent(in)  input 
)
+ Here is the call graph for this function:

◆ computebsplinesgridvalues_cpx()

subroutine bsplinesbasis::computebsplinesgridvalues_cpx ( double precision, dimension(0:), intent(in)  gridx_,
double precision, dimension(0:), intent(in)  gridy_,
double complex, dimension(0:,0:), intent(inout)  output,
double complex, dimension(:), intent(in)  input 
)
+ Here is the call graph for this function:

◆ computebsplinesgridvalueswithderivative()

subroutine bsplinesbasis::computebsplinesgridvalueswithderivative ( double precision, dimension(0:), intent(in)  gridx_,
double precision, dimension(0:), intent(in)  gridy_,
double precision, dimension(0:,0:), intent(inout)  f,
double precision, dimension(0:,0:), intent(inout)  dfdx,
double precision, dimension(0:,0:), intent(inout)  dfdy,
double precision, dimension(:), intent(in)  input 
)
+ Here is the call graph for this function:

◆ computebsplinesx()

subroutine bsplinesbasis::computebsplinesx ( double precision, dimension(:), intent(inout)  fun,
integer, dimension(:), intent(inout)  pos,
double precision, intent(in)  x 
)
+ Here is the caller graph for this function:

◆ computebsplinesxd()

subroutine bsplinesbasis::computebsplinesxd ( double precision, dimension(:), intent(inout)  fun,
double precision, dimension(:), intent(inout)  fund,
integer, dimension(:), intent(inout)  pos,
double precision, intent(in)  x 
)
+ Here is the caller graph for this function:

◆ computebsplinesy()

subroutine bsplinesbasis::computebsplinesy ( double precision, dimension(:), intent(inout)  fun,
integer, dimension(:), intent(inout)  pos,
double precision, intent(in)  y 
)
Note
NOA 08/2019: Shift cubic splines support for consistency with ORB5 numbering and achieve good convergence. This has been verified for LWA and Padé solvers, but NOT for the arbitrary wavelength solver.
+ Here is the caller graph for this function:

◆ computebsplinesy_fft()

subroutine bsplinesbasis::computebsplinesy_fft ( complex, dimension(:), intent(inout)  basisspline_m,
double precision, intent(in)  y 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ computebsplinesyd()

subroutine bsplinesbasis::computebsplinesyd ( double precision, dimension(:), intent(inout)  fun,
double precision, dimension(:), intent(inout)  fund,
integer, dimension(:), intent(inout)  pos,
double precision, intent(in)  y 
)
Note
NOA 08/2019: Shift cubic splines support for consistency with ORB5 numbering and achieve good convergence. This has been verified for LWA and Padé solvers, but NOT for the arbitrary wavelength solver.
+ Here is the caller graph for this function:

◆ computebsplinesz()

subroutine bsplinesbasis::computebsplinesz ( double precision, dimension(:), intent(inout)  fun,
integer, dimension(:), intent(inout)  pos,
double precision, intent(in)  z 
)
+ Here is the caller graph for this function:

◆ computebsplinesz_fft()

subroutine bsplinesbasis::computebsplinesz_fft ( complex, dimension(:), intent(inout)  bspline_n,
double precision, intent(in)  z 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ computecouplingcoeff()

double precision function bsplinesbasis::computecouplingcoeff ( integer, intent(in)  n,
integer, intent(in)  NB 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ computemapping1to2()

pure subroutine bsplinesbasis::computemapping1to2 ( integer, intent(in)  a,
integer, intent(out)  i,
integer, intent(out)  j 
)

◆ computemapping2to1()

pure integer function bsplinesbasis::computemapping2to1 ( integer, intent(in)  i,
integer, intent(in)  j 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ computemapping2to1bis()

pure integer function bsplinesbasis::computemapping2to1bis ( integer, intent(in)  i,
integer, intent(in)  j,
integer, intent(in)  n 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ destroybsplinesbasismodule()

subroutine bsplinesbasis::destroybsplinesbasismodule

◆ initbsplinesbasis()

subroutine bsplinesbasis::initbsplinesbasis ( integer, intent(in)  nx_,
integer, intent(in)  ny_,
integer, intent(in)  nz_,
integer, intent(in)  degree_,
double precision, intent(in)  xmin_,
double precision, intent(in)  xmax_,
double precision, intent(in)  ymin_,
double precision, intent(in)  ymax_,
double precision, intent(in)  zmin_,
double precision, intent(in)  zmax_,
integer, intent(in)  nsel_bsplines_basis 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Variable Documentation

◆ basisspline_m

complex, dimension(:), allocatable bsplinesbasis::basisspline_m

◆ basisspline_n

complex, dimension(:), allocatable bsplinesbasis::basisspline_n

◆ bsplines_uniform

integer bsplinesbasis::bsplines_uniform

◆ bsplinesx

class(bsplines), allocatable bsplinesbasis::bsplinesx

◆ bsplinesy

class(bsplines), allocatable bsplinesbasis::bsplinesy

◆ bsplinesz

class(bsplines), allocatable bsplinesbasis::bsplinesz

◆ cptr_iny

type(c_ptr) bsplinesbasis::cptr_iny

◆ cptr_inz

type(c_ptr) bsplinesbasis::cptr_inz

◆ cptr_outy

type(c_ptr) bsplinesbasis::cptr_outy

◆ cptr_outz

type(c_ptr) bsplinesbasis::cptr_outz

◆ degree

integer bsplinesbasis::degree

◆ dx

real bsplinesbasis::dx

◆ dx_inv

real bsplinesbasis::dx_inv

◆ dy

real bsplinesbasis::dy

◆ dy_inv

real bsplinesbasis::dy_inv

◆ dz

real bsplinesbasis::dz

◆ dz_inv

real bsplinesbasis::dz_inv

◆ gridx

real, dimension(:), allocatable bsplinesbasis::gridx

◆ gridy

real, dimension(:), allocatable bsplinesbasis::gridy

◆ gridz

real, dimension(:), allocatable bsplinesbasis::gridz

◆ icomplex

complex bsplinesbasis::icomplex

◆ lx

real bsplinesbasis::lx

◆ ly

real bsplinesbasis::ly

◆ lz

real bsplinesbasis::lz

◆ ns_loc

integer bsplinesbasis::ns_loc

◆ nx

integer bsplinesbasis::nx

◆ ny

integer bsplinesbasis::ny

◆ ny2

integer bsplinesbasis::ny2

◆ nz

integer bsplinesbasis::nz

◆ nz2

integer bsplinesbasis::nz2

◆ p_iny

real(c_double_complex), dimension (:), pointer bsplinesbasis::p_iny

◆ p_inz

real(c_double_complex), dimension (:), pointer bsplinesbasis::p_inz

◆ p_outy

complex(c_double_complex), dimension (:), pointer bsplinesbasis::p_outy

◆ p_outz

complex(c_double_complex), dimension (:), pointer bsplinesbasis::p_outz

◆ plany

type(c_ptr) bsplinesbasis::plany

◆ planz

type(c_ptr) bsplinesbasis::planz

◆ xmax

real bsplinesbasis::xmax

◆ xmin

real bsplinesbasis::xmin

◆ y_m

real bsplinesbasis::y_m

◆ ymax

real bsplinesbasis::ymax

◆ ymin

real bsplinesbasis::ymin

◆ z_n

real bsplinesbasis::z_n

◆ zmax

real bsplinesbasis::zmax

◆ zmin

real bsplinesbasis::zmin