ExtremeFLOW / neko

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

Feature/brinkman #1142

Closed timfelle closed 5 months ago

timfelle commented 6 months ago

Introduction of a Brinkman forcing term.

The idea of this is to enforce regions of low permeability to block flow in certain regions. Included is an example with a Stanford bunny placed in a square duct as a block of resistance.

Still some todo points, but wanted to open it up so I could start to get some feedback

timfelle commented 6 months ago

Do you have any preference on code structure?

njansson commented 6 months ago

Is this ready for review now?

timfelle commented 6 months ago

Is this ready for review now?

Hmm i would want to setup a few unit tests but in essence we could pull it in as it is and just do extensions later on.

I have been working on setting up pFunit with my environment so that i could se if it works. The entire setup of the brinkman term is also done on the CPU only. but that would only be important later on if we want really big meshes.

timfelle commented 6 months ago

Lets get it out there. Ill do seperate PR's for the other extensions to it as they are ready. This way others can get to experiment with it.

timfelle commented 6 months ago

Ups, wrong branch

timofeymukha commented 5 months ago

Not gonna lie, I did not check any of the algorithms in the tree and distance stuff. I guess in an ideal world, it would be nice to add unit tests for the aabb, the tree and the distance. Would double as a demonstrator for how these things work :). But perhaps in a later PR then, in case someone feels inspired.

Question, should the aabb go to "common"? Seems like a larger scope than just this source term, e.g. already discussed in context of probes.

timfelle commented 5 months ago

Not gonna lie, I did not check any of the algorithms in the tree and distance stuff. I guess in an ideal world, it would be nice to add unit tests for the aabb, the tree and the distance. Would double as a demonstrator for how these things work :). But perhaps in a later PR then, in case someone feels inspired.

Question, should the aabb go to "common"? Seems like a larger scope than just this source term, e.g. already discussed in context of probes.

Yes, i would like to write some tests for it. However, i have had some issues setting up my environment with the test library. But i am almost there, i think..

And sure, lets move the general stuff somewhere else. I think the signed distance stuff could go to math and the aabb_tree could go to mesh, since thats where the octree also lives.

timfelle commented 5 months ago

@njansson Any idea why the MacOS one fails here? It seem that when I re-ran it different tests from the pfunit thing fails.

Additionally the runner seem upset about some MacOS version stuff: was built for newer 'macOS' version (13.6) than being linked (13.0)

njansson commented 5 months ago

@njansson Any idea why the MacOS one fails here? It seem that when I re-ran it different tests from the pfunit thing fails.

Additionally the runner seem upset about some MacOS version stuff: was built for newer 'macOS' version (13.6) than being linked (13.0)

There seems to be some issue with the runner, it fails when trying to create some temp storage (according to the failed test logs)