# FLASH4.3 API

Generated from /asc/asci2/site/flashcode/secure/release_4p3/source/numericalTools/Interpolate/Interpolate_cubic1DmonoDerv.F90 with ROBODoc v4.99.8 on Fri Jul 17 16:16:09 2015

## [Functions] source/numericalTools/Interpolate/Interpolate_cubic1DmonoDerv

[top][index]

NAME

Interpolate_cubic1DmonoDerv

SYNOPSIS

call Interpolate_cubic1DmonoDerv (integer, intent (in)  :: nx,
real,    intent (in)  :: f   (0:nx+1),
real,    intent (out) :: fx  (1:nx  ))

DESCRIPTION

Calculates 1st order x derivatives from a collection of data points, such that
the resulting coefficients for monocubic expansion deliver a monotone 1D line.
While there is always one such monotone line if all derivatives are set equal to
zero, the resulting line is bumpy, especially on data points representing lines of
constant slope. The present routine calculates derivatives, which corrects for this
bumpiness and delivers a more smooth monotonic line. Since the code is dealing with
lines in terms of rescaled [0,1] x coordinates, the resulting derivatives will all
be rescaled.

While there is a whole family of possible monotone lines, the current implementation
is such that it ensures that the cubic expansion for data points alined on a constant
slope will lead to an actual line with that slope. This is achieved by setting the
derivative at a point equal to the minimum of the two differences between the two
neighboring adjacent points and the current point.

Evaluation of the 1st order derivatives needs nearest neighbor data point values
-> we need 1 extra layer of data point values beyond the intended 1D grid.

ARGUMENTS

nx        : number of data points in x direction
f   (i)   : data value for i-th grid point
fx  (i)   : 1st order x derivative value for i-th grid point

NOTES

...