Neighbour cell centre to face distance
I feel my question is rather simple, but I've trying to solve this for quite a while without any success, so maybe you guys can help.
Consider two patches which are coupled, I need to know the distance between points A and B, where A is the centre of the cells which contain faces on the neighbour patch, and B is the centre of the faces on the neighbour patch.
I could just use the distance from A to the current faces, however, this becomes a problem whenever cyclic conditions come into play...
So, any suggestions?
I am not sure that I interpret your question correctly. You want to get the distance from the cell next to the coupled patch to face centre on the neighbouring face?
Perhaps you could be helped by looking at the implementation of the patches. For example have a look at the function delta in the cyclic patch (src/finiteVolume/lnInclude/cyclicFvPatch.C). There you can see how the distance between the cells is calculated as a sum between the distance from the cell to the face for each side of the interface.
Note that the function delta has different meaning depending on the type of patch (src/finiteVolume/fvMesh/fvPatches/fvPatch/fvPatch.H):
In fact, what I needed was not the cell-centre to coupled-cell vector (which can be obtained directly from delta()), but rather the coupled-cell-centre to coupled-cell-face vector (the face would be that which is coupled to the original cell).
In the meanwhile the following procedure seems to work:
Nevertheless, thanks for the swift reply :)
Aha, I understand now.
Yes, it seems reasonable that what you are using works. As found in cyclicFvPatch.C you could get a reference to the neighbouring patch and then ask the patch for delta:
About the returned quantities of function delta(), I also read the source files fvPatch.H and fvPatch.C. In the latter, the delta is defined as:
After digging the source files, I found that
- for physical boundary faces: delat is Cf-Cn. That is, the delta vector points from the cell (which contains this face) to the face center.
- for inter-processor faces: delta is the vector from the owner (located in the local processor) to the neighbor cells (located in the neighboring processor).
Is what I am saying correct? Any comments are welcome.
|All times are GMT -4. The time now is 22:54.|