CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   Main CFD Forum (http://www.cfd-online.com/Forums/main/)
-   -   help on interpolation (http://www.cfd-online.com/Forums/main/6179-help-interpolation.html)

Jean-François May 28, 2003 11:42

help on interpolation
 
Hello,

I would like some advices on bivariate interpolation.

I need to interpolate (and to calculate first derivative) on a non orthogonal structured mesh. The data are given on straight lines (nearly horizontal) passing through the mesh. I've got a lot of data on each line but only a few lines so the typical distance between two consecutive data points in the 2 "directions" is quite big.

I've tried routines found on netlib for "scattered data", but because I have only few data in one direction, I had to take a lot of points to make the interpolation and that cause wiggles in the solution.

What can do ? Make a correspondance between my domain and a square and then use a standard bivariate interpolation valid on rectangular mesh ? Is there a public fortran routine that do that and that I haven't found ?

Thanks for your time,

Jean-François


Praveen May 28, 2003 12:11

Re: help on interpolation
 
You can try to use Radial Basis Functions which give very high accuracy if the function to be interpolated is smooth. Try a search on google first. It is very simple to implement also. You expand the function in terms of radial functions and N unknowns coefficients, where N is the number of data points.

f(x) = &Sigma; <sub>i</sub> A<sub>i</sub> &Phi; (|x - x<sub>i</sub>| )

f<sub>k</sub> = &Sigma; <sub>i</sub> A<sub>i</sub> &Phi; (|x<sub>k</sub> - x<sub>i</sub>| ) k=1 to N

You get N equations, whose solution gives the coefficients. Now you can do interpolation or calculate derivatives by differentiation. The points can be scattered any way.



All times are GMT -4. The time now is 16:46.