source icon indicating copy to clipboard operation
source copied to clipboard

Discrete2DMesh for SOLPS results

Open matteomoscheni opened this issue 6 years ago • 0 comments

Hello everybody,

as usual, thank you for the awesome work!

This issue to ask your opinion about using Discrete2DMesh to elaborate SOLPS results (e.g. following the same path of solps_plasma.py, line 195 (CHERAB)). SOLPS mesh is made of 4-sided cells of different sizes and shapes. The cell vertices' and cell centres' coordinates are stored in the SOLPS output file by default.

The mesh can then be post-processed so that to split each cell in two triangular subregions. Discrete2DMesh indeed requires the data to be interpolated (e.g. the total power per unit volume emitted) to be located in the triangular-cell centres (!). By setting 'limit = False', 0 is returned for each point which lies outside the interpolated region.

In the attached (hope so) Fig_1, the green domain represents the interpolated region, the grey one is instead the region outside it. It seems to me that a portion of the contribution of the boundary cells is lost. Unfortunately, it is not that easy for me to estimate the importance of such a contribution: even though the vast majority of the cells does not lie on the boundary, in some boundary cells it is concentrated the most intense (by orders of magnitude) power emission or, rather, some boundary cells are the biggest in size. A well-done conservation of energy check should give some hints.

I then tried to follow another approach: exploiting Interpolator2DMesh which directly looks at the triangular-cell vertices. However, in this case other complications appear because the vertices are shared between neighborhing cells. Insted, by exploiting PolygonMask2D, it seems that the the computational cost becomes much bigger (and, again, the problem of the vertices shared between neighborhing cells).

Thank you in advance for the help!!

Matteo Moscheni Fig_1

matteomoscheni avatar Sep 23 '19 10:09 matteomoscheni