Surface interpolation schemes and parallelization
I have a question regarding surface interpolation schemes and parallelization.
I'm working on global atmospheric flow simulations by solving the Euler equations in a spherical mesh setting. Essential elements of my framework are the following:
- rotating Cartesian coordinate system
- compressible Euler equations with Coriolis and centrifugal force (due to rotation)
- global 3D mesh of the earth's atmosphere consisting of truncated tetrahedrons.
For the calculation of the mass flux phi it was necessary to construct an own interpolation scheme of the volVectorField U based on rotation matrices. I don't see any possibility for avoiding such an interpolation in my spherical atmospheric framework. (Note, that in my setting this new interpolation is invariant under Galilean transformations.)
I wasn't able to define my interpolation as new surface interpolation scheme in OpenFOAM-1.6 because these schemes don't allow for tensors instead of scalars as weighting factors. So I defined it as a new non-derived function. Note, that I just want to use this interpolation for the explicit calculation of the mass flux in each time step (in contrast to my earlier question [http://www.cfd-online.com/Forums/ope...g-factors.html] regarding the use of such schemes for the implicit treatment of the convection term and therefore the construction of the fvVectorMatrix).
In serial execution, my code works fine, but now I would like to run it in parallel. Since my interpolation isn't defined as regular surface interpolation scheme I get problems at the new boundary interface between the decomposed mesh parts. The values of phi at this boundary are incorrect because apparently, there's no communication/data exchange between the adjacent processors.
Do you know
- how to extend the surface interpolation scheme to allow for tensors as weighting factors or whether this has been implemented since?
- how to ensure parallel communication of processor data at the boundary for an own cell-to-face interpolation?
Thanks in advance,
|All times are GMT -4. The time now is 21:45.|