ExtremeFLOW / neko

/ᐠ. 。.ᐟ\ᵐᵉᵒʷˎˊ˗
https://neko.cfd/
Other
159 stars 28 forks source link

Fix periodic #1167

Closed MartinKarp closed 4 months ago

MartinKarp commented 4 months ago

Seems like there was an issue that the facets belonging to a periodic facet could be changed by a neighboring element, but then not added to the table correctly when generating connectivity.

This PR changes this. For future developments, we should note though that if the entire side is not periodic but a mesh would change from periodic to some other BC along a boundary, this is not necessarily well defined if the element it changes on is not guaranteed to be on the same rank.

MartinKarp commented 4 months ago

Victor, please try out this PR for your turbine mesh

MartinKarp commented 4 months ago

I dunno what we want as intentional behavior here, but as things stands it is not valid to create a field and dofmap without doing generate_conn at least in the mesh

MartinKarp commented 4 months ago

I think the issue of connecting the topological and geometric data really shows now in the tests. A nicer solution might be that if one inits a of dofmap, it checks the mesh and requires that the mesh has created its connectivity data. Right now one gets obscure issues instead as the dofmap assumes information about facets, edges and how they are connected.

While it would be nice to not connect these, if we do not require it the numbering in dofmap is not sure to be valid.

timofeymukha commented 4 months ago

I've never looked into this stuff, so will be difficult to review. @adampep , could you take a look?

vbaconnet commented 4 months ago

I am running it now and it seems to work, I will approve this once I have poked around a bit more :)