routines for handling splines

source: splines_methods.FLoading...

allocates storage for y2 table calculates y2 table and other spline parameters

allocates storage for function table to be interpolated both x and y are allocated

calculates the potential interpolated with splines value at a given point and the first derivative. Checks included to avoid just segfaulting!!

calculates the spline value at a given point (and possibly the first derivative) WITHOUT checks and without any funny scaling business, or weird 1/x^2 grid assumptions

allocates storage for y2 table calculates y2 table and other spline parameters

TYPE(spline_data_type), |
POINTER |
:: | spl | spline_data structure to be initialized spl%y() must hold the function values spl%x() must hold the absissa values in increasing order OR if dx (below) is given, spl%x(1) must hold the starting (left-most) point. | |

REAL(dp), |
INTENT(in) |
:: | dx | x(i) are assumed to be x(1)+dx*(i-1) (spline evaluations will also be faster) y1a : (OPTIONAL) if present, the 1-deriv of the left endpoint if not present, natural spline condition at this end (2-deriv == 0) y1b : (OPTIONAL) if present, the 1-deriv of the right endpoint if not present, natural spline condition at this end (2-deriv == 0) | |

REAL(dp), |
INTENT(in), |
OPTIONAL |
:: | y1a | ... |

REAL(dp), |
INTENT(in), |
OPTIONAL |
:: | y1b | ... |

allocates storage for function table to be interpolated both x and y are allocated

TYPE(spline_data_type), |
POINTER |
:: | spl | spline_data structure to be initialized | |

INTEGER, |
INTENT(in) |
:: | nn | integer number of datapoints, that the function table will hold |

calculates the potential interpolated with splines value at a given point and the first derivative. Checks included to avoid just segfaulting!!

Return Value :: REAL(dp)

TYPE(spline_data_p_type), |
POINTER |
:: | spl_p(:) | spline_data structure | |

REAL(dp), |
INTENT(in) |
:: | xxi | absissa value | |

REAL(dp), |
INTENT(out) |
:: | y1 | 1. derivative at xx | |

TYPE(spline_factor_type), |
POINTER |
:: | spl_f | ... | |

TYPE(cp_logger_type), |
POINTER |
:: | logger | ... |

calculates the spline value at a given point (and possibly the first derivative) WITHOUT checks and without any funny scaling business, or weird 1/x^2 grid assumptions

Return Value :: REAL(dp)

TYPE(spline_data_type), |
POINTER |
:: | spl | ... | |

REAL(dp), |
INTENT(in) |
:: | xx | ... | |

REAL(dp), |
INTENT(out), |
OPTIONAL |
:: | y1 | ... |