-
Notifications
You must be signed in to change notification settings - Fork 20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
to_global has Problem with different cell-sizes #49
Comments
Hi Robert, This problem is the following: If there is a cell-centered slice that cuts right through the border of two meshes (mesh1 and mesh2), there will actually be two slices that could be equally relevant for the user. The one will cells on mesh1 and the one wiht cells on mesh2. As there are no cells in between (i.e. where the slice "should" be) and cell-centered slices output values at the centers of each cell (as the name suggests obviously), FDS simply outputs two slices, one on each side of the mesh borders. As the fdsreader will never discard any data, both slices that are output by FDS are sent to the user for him to decide which one to use. |
Hi Jan, Further Information for example (wouldn't read): z: 0.8 is ok, 0.81 is splitted [0.05,0.05,0.8] -> x,y,z ok |
We could add a boolean to the function to either return just a single slice which averages the data of both slices (and also "fills holes") or return both "raw" slices. |
Sorry, I was ill. I will have to think about a reasonable strategy here and propose something asap. |
@JanVogelsang @r-wrobel
Regarding the different resolutions:
What do you think? |
I don't have enough knowledge about cell-centered data to be able to survey all of the consequences of changing the data. Global data is intuitiv and convenient. But I don't think we need global data. There is a reason for the finer meshes, so the "finest" option should be default. Interpolation changes the data, therfore i would avoid it. Especially for boundaries (e.g. layers of different densities or a strong gas flow) an interpolation could even produce wrong data. For the "finest" option, I would just use the original value for all refined values. For "coarsest" data, the result should be the mean average of the finer data. I assume this corrspondes most to the result you would get from FDS by calculating with the required resolution. |
I have to admit, I don't really see why we would need the "coarstest"/"finest" option, as the user could simply downsample/pool the fine global array (e.g. using numpy) to get a coarser version of the array. I think the reader should simply output the data that is provided by FDS without changing any raw data (e.g. by averaging). @lu-kas Regarding the "random" option, this alone would not solve the problem. The issue comes when the two arrays, produced by FDS when cutting through two mesh borders, can carry different information. It might be possible that one array cuts through 3 meshes, while the other one only cuts through 2 ones. |
I have multiple meshes in different sizes and cell sizes.
The xy-plane (z-axis) works as desired. But slcf/slices.py:to_global returns a tuple for axis x and y instand of numpy.ndarray.
The first element contains the numpy.ndarray of the finder mesh, while the second element contains the numpy.ndarray of the coarser mesh. It would be nice, if all axis behave same and create only one result.
Problem illustrated:
z|x
y|-
The text was updated successfully, but these errors were encountered: