FIXME : Add documentation
If not valid abort with error noting invalid spline and which method was invoked
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
logical, | intent(in) | :: | valid | |||
character(len=*), | intent(in) | :: | routine_name |
Constructor for spline
Populates a spline instance spl
representing the non-periodic
data y(x).
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real, | intent(in), | dimension (:) | :: | x | ||
real, | intent(in), | dimension (:) | :: | y | ||
real, | intent(in), | optional | :: | tension |
Constructor for periodic_spline
Populates a periodic_spline instance spl
representing the
periodic data y(x) of length n and periodic on period
. Note
that the spline library expects period > x(n) - x(1)
, which
means the input data shouldn't include the duplicate periodic
point. As a convenience the user can pass data with the
duplicate point and set drop_last_point = .true.
to
automatically exclude the duplicate point.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real, | intent(in), | dimension (:) | :: | x | ||
real, | intent(in), | dimension (:) | :: | y | ||
real, | intent(in) | :: | period | |||
logical, | intent(in), | optional | :: | drop_last_point | ||
real, | intent(in), | optional | :: | tension |
Holds data representing a non-periodic spline. Should be set up by calling new_spline.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | private | :: | n | = | 0 |
Length of the data arrays represented by the spline |
|
real, | private, | dimension (:), allocatable | :: | x |
Holds the independent and dependent values of the
splined data in |
||
real, | private, | dimension (:), allocatable | :: | y |
Holds the independent and dependent values of the
splined data in |
||
real, | private, | dimension (:), allocatable | :: | y2 |
Holds the independent and dependent values of the
splined data in |
||
logical, | public | :: | valid | = | .false. |
Indicates if the spline corresponding to this data is valid and can be used with the spline evaluation routines. |
|
real, | private | :: | tension | = | 1.0 |
The tension used in computing the splined data, note this must be the value used in the initialisation when passed to the spline evaluation routines. |
Constructor for spline
public function new_spline (x, y, tension) | Populates a spline instance |
procedure , public , :: interpolate => spline_interp Function | |
procedure , public , :: derivative => spline_deriv Function |
Holds data representing a periodic spline. Should be set up by calling new_periodic_spline.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | private | :: | n | = | 0 |
Length of the data arrays represented by the spline |
|
real, | private | :: | period | = | 0 |
The actual size of the periodic domain |
|
real, | private, | dimension (:), allocatable | :: | x |
Holds the independent and dependent values of the
splined data in |
||
real, | private, | dimension (:), allocatable | :: | y |
Holds the independent and dependent values of the
splined data in |
||
real, | private, | dimension (:), allocatable | :: | y2 |
Holds the independent and dependent values of the
splined data in |
||
logical, | public | :: | valid | = | .false. |
Indicates if the spline corresponding to this data is valid and can be used with the spline evaluation routines. |
|
real, | private | :: | tension | = | 1.0 |
The tension used in computing the splined data, note this must be the value used in the initialisation when passed to the spline evaluation routines. |
Constructor for periodic_spline
public function new_periodic_spline (x, y, period, drop_last_point, tension) | Populates a periodic_spline instance |
procedure , public , :: interpolate => periodic_spline_interp Function | |
procedure , public , :: derivative => periodic_spline_deriv Function |
Populates a spline instance spl
representing the non-periodic
data y(x).
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real, | intent(in), | dimension (:) | :: | x | ||
real, | intent(in), | dimension (:) | :: | y | ||
real, | intent(in), | optional | :: | tension |
Populates a periodic_spline instance spl
representing the
periodic data y(x) of length n and periodic on period
. Note
that the spline library expects period > x(n) - x(1)
, which
means the input data shouldn't include the duplicate periodic
point. As a convenience the user can pass data with the
duplicate point and set drop_last_point = .true.
to
automatically exclude the duplicate point.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real, | intent(in), | dimension (:) | :: | x | ||
real, | intent(in), | dimension (:) | :: | y | ||
real, | intent(in) | :: | period | |||
logical, | intent(in), | optional | :: | drop_last_point | ||
real, | intent(in), | optional | :: | tension |
Bound wrapper to splint
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(spline), | intent(in) | :: | self | |||
real, | intent(in) | :: | x |
Bound wrapper to dsplint
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(spline), | intent(in) | :: | self | |||
real, | intent(in) | :: | x |
FIXME : Add documentation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real, | intent(in) | :: | x | |||
type(spline), | intent(in) | :: | spl |
Bound wrapper to splint
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(periodic_spline), | intent(in) | :: | self | |||
real, | intent(in) | :: | x |
Bound wrapper to dsplint
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(periodic_spline), | intent(in) | :: | self | |||
real, | intent(in) | :: | x |
FIXME : Add documentation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real, | intent(in) | :: | x | |||
type(periodic_spline), | intent(in) | :: | spl |
FIXME : Add documentation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real, | intent(in) | :: | x | |||
type(spline), | intent(in) | :: | spl |
FIXME : Add documentation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real, | intent(in) | :: | x | |||
type(periodic_spline), | intent(in) | :: | spl |
FIXME : Add documentation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real, | intent(in) | :: | x0 | |||
real, | intent(in) | :: | x1 | |||
type(spline), | intent(in) | :: | spl |
FIXME : Add documentation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real, | intent(in) | :: | x0 | |||
real, | intent(in) | :: | x1 | |||
type(periodic_spline), | intent(in) | :: | spl |
FIXME : Add documentation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real, | intent(in) | :: | t | |||
integer, | intent(in) | :: | n | |||
real, | intent(in), | dimension(n) | :: | x | ||
real, | intent(in), | dimension(n) | :: | y | ||
real, | intent(in), | dimension(n) | :: | yp | ||
real, | intent(in) | :: | sigma |
FIXME : Add documentation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real, | intent(in) | :: | t | |||
integer, | intent(in) | :: | n | |||
real, | intent(in), | dimension(n) | :: | x | ||
real, | intent(in), | dimension(n) | :: | y | ||
real, | intent(in), | dimension(n) | :: | yp | ||
real, | intent(in) | :: | sigma |
FIXME : Add documentation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real, | intent(in) | :: | xl | |||
real, | intent(in) | :: | xu | |||
integer, | intent(in) | :: | n | |||
real, | intent(in), | dimension(n) | :: | x | ||
real, | intent(in), | dimension(n) | :: | y | ||
real, | intent(in), | dimension(n) | :: | yp | ||
real, | intent(in) | :: | sigma |
FIXME : Add documentation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real, | intent(in) | :: | t | |||
integer, | intent(in) | :: | n | |||
real, | intent(in), | dimension(:) | :: | x | ||
real, | intent(in), | dimension(:) | :: | y | ||
real, | intent(in) | :: | p | |||
real, | intent(in), | dimension(:) | :: | yp | ||
real, | intent(in) | :: | sigma |
FIXME : Add documentation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real, | intent(in) | :: | t | |||
integer, | intent(in) | :: | n | |||
real, | intent(in), | dimension(:) | :: | x | ||
real, | intent(in), | dimension(:) | :: | y | ||
real, | intent(in) | :: | p | |||
real, | intent(in), | dimension(:) | :: | yp | ||
real, | intent(in) | :: | sigma |
FIXME : Add documentation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real, | intent(in) | :: | xl | |||
real, | intent(in) | :: | xu | |||
integer, | intent(in) | :: | n | |||
real, | intent(in), | dimension(n) | :: | x | ||
real, | intent(in), | dimension(n) | :: | y | ||
real, | intent(in) | :: | p | |||
real, | intent(in), | dimension(n) | :: | yp | ||
real, | intent(in) | :: | sigma |
FIXME : Add documentation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real, | intent(in) | :: | xx | |||
real, | intent(in) | :: | yy | |||
integer, | intent(in) | :: | m | |||
integer, | intent(in) | :: | n | |||
real, | intent(in), | dimension(m) | :: | x | ||
real, | intent(in), | dimension(n) | :: | y | ||
real, | intent(in), | dimension(iz,n) | :: | z | ||
integer, | intent(in) | :: | iz | |||
real, | intent(in), | dimension(m,n,3) | :: | zp | ||
real, | intent(in) | :: | sigma |
FIXME : Add documentation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real, | intent(in) | :: | t | |||
real, | intent(in), | dimension(n) | :: | x | ||
integer, | intent(in) | :: | n |
FIXME : Add documentation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real, | intent(in) | :: | t | |||
real, | intent(in), | dimension(n) | :: | x | ||
integer, | intent(in) | :: | n |
Given a value t, and stating value of abscissae, x, periodic with period p map t to the equivalent value in the range of x (i.e. between x(1) and x(1) + p)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real, | intent(in) | :: | t | |||
real, | intent(in) | :: | x_start | |||
real, | intent(in) | :: | p |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real, | intent(in) | :: | tt | |||
real, | intent(in), | dimension(n) | :: | x | ||
integer, | intent(in) | :: | n | |||
logical, | intent(in) | :: | periodic |
Calculate sinhm(x) = sinh(x) / x - 1
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real, | intent(in) | :: | x |
Calculate coshm(x) = cosh(x) - 1
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real, | intent(in) | :: | x |
Calculate coshmm(x) = (cosh(x) - 1 - x * x / 2) / (x * x)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real, | intent(in) | :: | x |
Reset and deallocate variables in passed spline
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(spline), | intent(inout) | :: | spl |
Reset and deallocate variables in passed periodic spline
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(periodic_spline), | intent(inout) | :: | spl |
If not valid abort with error noting invalid spline and which method was invoked
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
logical, | intent(in) | :: | valid | |||
character(len=*), | intent(in) | :: | routine_name |
FIXME : Add documentation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real, | intent(in), | dimension(:) | :: | r | ||
real, | intent(in), | dimension(:) | :: | data | ||
real, | intent(in), | dimension(:) | :: | x | ||
real, | intent(out), | dimension(:) | :: | dint | ||
real, | intent(out), | dimension(:) | :: | ddint |
FIXME : Add documentation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real, | intent(in), | dimension(:) | :: | r | ||
real, | intent(in), | dimension(:) | :: | data | ||
real, | intent(in), | dimension(:) | :: | x | ||
real, | intent(out), | dimension(:) | :: | dint |
FIXME : Add documentation (or tidyup above)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | n | |||
real, | intent(in), | dimension(n) | :: | x | ||
real, | intent(in), | dimension(n) | :: | y | ||
real, | intent(in) | :: | slp1 | |||
real, | intent(in) | :: | slpn | |||
integer, | intent(in) | :: | islpsw | |||
real, | intent(out), | dimension(n) | :: | yp | ||
real, | intent(out), | dimension(n) | :: | temp | ||
real, | intent(in) | :: | sigma | |||
integer, | intent(out) | :: | ierr |
FIXME : Add documentation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | n | |||
real, | intent(in), | dimension(:) | :: | x | ||
real, | intent(in), | dimension(:) | :: | y | ||
real, | intent(in) | :: | p | |||
real, | intent(out), | dimension(:) | :: | yp | ||
real, | intent(out), | dimension(:) | :: | temp | ||
real, | intent(in) | :: | sigma | |||
integer, | intent(out) | :: | ierr |
FIXME : Add documentation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | m | |||
integer, | intent(in) | :: | n | |||
real, | intent(in), | dimension(m) | :: | x | ||
real, | intent(in), | dimension(n) | :: | y | ||
real, | intent(in), | dimension(iz,n) | :: | z | ||
integer, | intent(in) | :: | iz | |||
real, | intent(in), | dimension(n) | :: | zx1 | ||
real, | intent(in), | dimension(n) | :: | zxm | ||
real, | intent(in), | dimension(m) | :: | zy1 | ||
real, | intent(in), | dimension(m) | :: | zyn | ||
real, | intent(in) | :: | zxy11 | |||
real, | intent(in) | :: | zxym1 | |||
real, | intent(in) | :: | zxy1n | |||
real, | intent(in) | :: | zxymn | |||
integer, | intent(in) | :: | islpsw | |||
real, | intent(out), | dimension(m,n,3) | :: | zp | ||
real, | intent(out), | dimension(n+n+m) | :: | temp | ||
real, | intent(in) | :: | sigma | |||
integer, | intent(out) | :: | ierr |
FIXME : Add documentation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real, | intent(in) | :: | del1 | |||
real, | intent(in) | :: | del2 | |||
real, | intent(in) | :: | sigma | |||
real, | intent(out) | :: | c1 | |||
real, | intent(out) | :: | c2 | |||
real, | intent(out) | :: | c3 | |||
integer, | intent(in) | :: | n |
FIXME : Add documentation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real, | intent(out) | :: | diag | |||
real, | intent(out) | :: | sdiag | |||
real, | intent(in) | :: | sigma | |||
real, | intent(in) | :: | del |