Interpolation over an irregular surface
- To: mathgroup at smc.vnet.net
- Subject: [mg39240] Interpolation over an irregular surface
- From: jrome at mail.com (Jacob Rome)
- Date: Wed, 5 Feb 2003 00:11:20 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
I'm trying to map (interpolate) temperatures from one 2D set of points to another for a finite element application. The initial set of points is {x1,y1,t1} and the second set is {X1,Y1,T1}, and I know all the values except for T1. I have connectivity data for the new mesh {X1,Y1}, but not for the original mesh (x1,y1). I have downloaded the ExtendGraphics package, and it has a functions (TriangularInterpolate) which should do exactly what I need. No error is given when I initially use it (interpFunc=TriangularInterpolate[nodeTemp], where nodeTemp is a 3-column matrix). However, when I invoke it again (interpFunc[x1,y1]), I get a series of errors, primarily about reaching the recursion or iteration limits. Could this have to do with the size of the initial matrix (~15,000 sets of data), or is there a different problem? It only seems to work correctly when the point is outside of the initial region, or if all the nearest nodes have the same temperature. After this setback, I planned to use the Delaunay function in the same package to help write my own interpolation routine. Using this function should return three sets of data: the Convex Hull, Adjacency Matrix and the Triangles. However, it appears that only the Convex Hull and the Triangles are returned; to effectively write an interpolation routine, the Adjacency Matrix is crucial. How can I get this data from the Delaunay function? Any advice on solving this problem is greatly appreciated, whether you can suggest an alternative approach or provide a means to use these functions more effectively. Thank you.