Abstract type, B-splines
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | public | :: | degree | ||||
| logical, | public | :: | periodic | ||||
| logical, | public | :: | uniform | ||||
| integer, | public | :: | ncells | ||||
| integer, | public | :: | nbasis | ||||
| integer, | public | :: | offset | ||||
| real(kind=wp), | public | :: | xmin | ||||
| real(kind=wp), | public | :: | xmax | ||||
| real(kind=wp), | public, | allocatable | :: | knots(:) |
results cell index
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(sll_c_bsplines), | intent(in) | :: | self |
B-splines object |
||
| real(kind=wp), | intent(in) | :: | x |
point of interest |
Evaluate value at x of all basis functions with support in local cell values[j] = B_j(x) for jmin <= j <= jmin+degree
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(sll_c_bsplines), | intent(in) | :: | self |
B-splines object |
||
| real(kind=wp), | intent(in) | :: | x |
evaluation point |
||
| real(kind=wp), | intent(out) | :: | values(:) | |||
| integer, | intent(out) | :: | jmin |
index of first non-zero B-spline |
Evaluate derivative at x of all basis functions with support in local cell derivs[j] = B_j'(x) for jmin <= j <= jmin+degree
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(sll_c_bsplines), | intent(in) | :: | self |
B-splines object |
||
| real(kind=wp), | intent(in) | :: | x |
evaluation point |
||
| real(kind=wp), | intent(out) | :: | derivs(:) | |||
| integer, | intent(out) | :: | jmin |
index of first non-zero B-spline |
Evaluate value and n derivatives at x of all basis functions with support in local cell derivs[i,j] = (d/dx)^i B_j(x) for 0 <= i <= n and jmin <= j <= jmin+degree
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(sll_c_bsplines), | intent(in) | :: | self |
B-splines object |
||
| real(kind=wp), | intent(in) | :: | x |
evaluation point |
||
| integer, | intent(in) | :: | n |
number of required derivatives |
||
| real(kind=wp), | intent(out) | :: | derivs(:,:) | |||
| integer, | intent(out) | :: | jmin |
index of first non-zero B-spline |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(sll_c_bsplines), | intent(inout) | :: | self |
B-splines object |
type, abstract :: sll_c_bsplines integer :: degree logical :: periodic logical :: uniform integer :: ncells integer :: nbasis integer :: offset real(wp) :: xmin real(wp) :: xmax real(wp), allocatable :: knots(:) ! Only used by non-uniform B-splines contains procedure(i_fun_find_cell ), deferred :: find_cell procedure(i_sub_eval_basis ), deferred :: eval_basis procedure(i_sub_eval_deriv ), deferred :: eval_deriv procedure(i_sub_eval_basis_and_n_derivs), deferred :: eval_basis_and_n_derivs procedure(i_sub_free ), deferred :: free end type sll_c_bsplines