DIAdem

cancel
Showing results for 
Search instead for 
Did you mean: 

3D Sparse Data Interpolation

Summary
I am trying to use the ChnD3Interp function (VBScript version of the 3D matrix interpolation function from ANALYSIS) to produce a smooth surface through my dataset, but I'm not getting the sort of results I had hoped for.

Data Set
My data set is a little unusual, in that it is sparse in x, but not in y. It is, in fact, pressure data measured at various taps on a windtunnel wing model.

Typically, there may be 8 spanwise stations (x direction), with 20 taps along the chord at each station (y direction). This result in an x spacing ~15 times larger than the y spacing. I have attached a rough sketch illustrating the x and y locations.

The z channel is the pressure measured at each of these taps.

Result
When I plot the matrix produced by the ChnD3Interp function, I get a strange stepped effect.

I think what is happening is that the function is looking at a data point and searching for other points nearby. Since the y spacing is smaller, it find loads of point with the same x location, and ignores the values for the surrounding stations, because they are too far away. It then interpolates, giving a nice smooth curve in the y direction, but nearly constant values in the x direction, with a sharp jump about half way between stations.

I've tried changing the various configuration options and, either, the interpolation fails, or, I see a small change in the results. I don't seem to be able to tell it to weight the analysis to point from adjacent stations.

Question
Is this something I should be able to do with this function, or another function within DIAdem? Or do I have to write my own custom interpolation routine?

Also, is there a way to tell to the ChnD3interp function to generate it's results channels in a particular group? Or is there a way to move a block of channels from one group to another in one go? I'm currently having to move them one channel at a time (programmatically, but still...) and it's rather slow.

Thanks,
Paul
0 Kudos
Message 1 of 5
(4,456 Views)
Hello Paul,

I first of all would like to enquire what version of Diadem you are using, as I cannot find the ChnD3interp function

Thankyou in advance

Louis Price
NI UK
Technical Support
0 Kudos
Message 2 of 5
(4,456 Views)
DIAdem 9.01

I run the function using:
Call ChnD3Interp(xChan, yChan, pChan,InterpxChan, InterpyChan)
0 Kudos
Message 3 of 5
(4,456 Views)
OK. I've managed to get the interpolation working. I had to map the data to a 1 * 1 square, interpolate with a small number of points, map it back to the wing shape again and interpolate a second time, with lots of points to get a smoother edge. Rather inefficient and I imagine there is a better way of doing it, but it produces acceptable results, where interpolating once didn't.

I still have a problem with the location of the results. Can I control which group the results end up in? Or is there a version of ChnMove which works on multiple groups?
0 Kudos
Message 4 of 5
(4,456 Views)
Are you basically just trying to map the sensor data to the surface of a wing shape? If you are there is a package called DIAdem Insight which would make this easier. You would need a VRML model of the wing and a .dat file of the channel information. If you have questions about this then please contact me.

Robert VanDeVanter
Technical Representative
robert.vandevanter@ni.com
0 Kudos
Message 5 of 5
(4,456 Views)