Open Pressure Boundaries

Hello,

I am attempting to model a pressure driven flow. It seems as if the only way to do this as of now is by using the inlet/outlet boundary condition, which in turn requires the use of the semi-analytical wall condition. I know that the SA wall condition no longer is supported due to lack of team expertise, but I would still like to determine the capability of modeling a pressure driven flow.

The only example that uses IO boundaries that is shipped with the Spheric2022 branch seems to be ChannelIO. However, I am unable to run this example as the .cu file specifies a h5sph file that does not exist in a folder that also does not exist (./data_files/ChannelIO/0.Channel…h5sph).

Is there a way to get these files, or even to obtain the .stl and .ini files to run Crixus (despite Crixus also being outdated). I would like to simply test the codes ability to run a pressure driven flow scenario.

Thanks, Braden Kerr

Hi @bradenkerr, running scripts/get-data-files from the GPUSPH working directly should download the mesh files needed by the SA test cases. IIRC CompleteSaExample also features I/O boundary conditions.

That helped, thank you. I do seem to run into an error for most of the shipped examples where there is a warning regarding the number of neighboring particles. Editing the allowable number of neighbors doesnt seem to fix the issue either, and the model fails to run properly with the warning (example of the warning pasted below). Besides editing the resize_neiblist(128+128, 64) parameter to a higher number, is there potentially something else wrong with the install that would be causing such an issue?

(This is just a small section of the output as an example):

WARNING: current max. neighbors numbers (75 | 65633) greater than max possible neibs (255 | 63) at iteration 23407
possible culprit: -1 (neibs: 0 + 0 | 0)
WARNING: current max. neighbors numbers (75 | 28268) greater than max possible neibs (255 | 63) at iteration 23408
possible culprit: -1 (neibs: 0 + 0 | 0)
WARNING: current max. neighbors numbers (75 | 28285) greater than max possible neibs (255 | 63) at iteration 23409
possible culprit: -1 (neibs: 0 + 0 | 0)
WARNING: current max. neighbors numbers (75 | 65633) greater than max possible neibs (255 | 63) at iteration 23410
possible culprit: -1 (neibs: 0 + 0 | 0)
WARNING: particle 0 (id 0, type 0=F) has NAN position! (nan, nan, nan) @ (0, 0, 0) = (nan, nan, nan) at iteration 23411, time 17.7206
Simulation time t=1.772057e+01s, iteration=23,411, dt=8.272727e-04s, 23,487 parts (3.4, cum. 4.2 MIPPS), maxneibs 136+65890
WARNING: current max. neighbors numbers (75 | 65633) greater than max possible neibs (255 | 63) at iteration 23411
possible culprit: -1 (neibs: 0 + 0 | 0)
WARNING: particle 0 (id 0, type 0=F) has NAN position! (nan, nan, nan) @ (0, 0, 0) = (nan, nan, nan) at iteration 23411, time 17.7206
ERROR: Number of particles grew too much: 23489 > 23488
WARNING: particle 0 (id 0, type 5=-) has NAN position! (nan, nan, nan) @ (0, 0, 0) = (nan, nan, nan) at iteration 23412, time 17.7214

Additionally, Based on the limited support for the semi-analytic BC, do you know if the full release of V6 will support inlet/outlets at all, specifically inlet/outlets where a pressure driven inflow could be specified?

Hi @bradenkerr,

sorry for the late reply. The issue with the maximum number of neighbors is very strange, because the number of vertex neighbors (over 60 thousands) is unrealistic, so I think you might be hitting some other issue. Could you please give more details about the setup you’re testing with? Which CUDA and Thrust version, which version or commit of GPUSPH?

Concerning the plans for the inlet/outlet, we do plan of extending support for them to other boundary models, but I’m not sure it will be complete for version 6, as we are currently focusing on other aspects of the code. If this is high-priority for you, would you be interested in setting up a collaboration to develop this further?