Hi,
I’m also not sure what you want to do…
However, as last resource, you can write your own DataProcessor for performing the operations you need.
You can access the single component of a MultiTensorField3D using:
tensorField.get(iX,iY,iZ)[0]
Of course, in this way, you need to access all the “cells” of the tensorField in a “for loop”. As you maybe know, you MUST do this in a DataProcessor.
Let’s now assume that you know how to write a DataProcessor which “contains” 3 tensorFields, you can write (inside the method process, inherithed from the class BoxProcessingFunctional):
tensor3.get(iX,iY,iZ)[0] = tensor1.get(iX,iY,iZ)[0]*tensor2.get(iX,iY,iZ)[1]
There are other things you should be aware, like offsets between the blocks and modifications, but essentially this will do the job.
Referring to what you wrote, you wanted to do:
MultiTensorField3d[1]=MultiScalarField3d.
As Malaspin said, you achive this using the the wrapper function extractComponent. Smth like:
extractComponent(tensor, scalar, 1);
This will take the second dimension of the MultiTensorField3D and load it in a MultiScalarField3D (the methid can take a Box3D domain if needed).
Hope this helps!