I am trying to interpolate a t
I am trying to interpolate a tensor that is used in the laplacian.
The first problem I encountered was that the weight in the interpolation is a scalar, which limits me to interpolate all elements in the tensor in the same way, something that is too limiting for my application. The second problem I discovered was that it is in fact not possible to specify your own interpolation scheme for tensors, only scalars. The questions are as follows: 1. Am I correct in the above? 2. Does anyone have a solution to the above problems, or lacking that, pointers on how to go about to solve them? TIA, Björn |
Hello Bjorn,
1) You are cor
Hello Bjorn,
1) You are correct in the above: the standard interpolation classes will interpolate all components of a vector or a tensor in an identical manner. Doing anything else would probably violate Galilean invariance, but ultimately that depends on your model. 2) Solutions are easy. Basically, create a surfaceTensorField of any kind you wish and create a number of interpolators (I take it some elements of your tensor will be bounded and others won't). You can now use the .component(...) function to access components one at a time and a .replace(...) function to put the result into the surface field component by component. This should allow you to perform the interpolation in any way you can imagine. Enjoy, Hrv |
Thanks for your answer.
You
Thanks for your answer.
Your solution is close to what I ended up doing. I simply copied the interpolate function and added a loop over the components and calculated the weights locally in the function. /Björn |
All times are GMT -4. The time now is 05:55. |