# What is the idea behind doubling the number of boundary particles?

I have noticed this possibility among the constants of the settings file:

<lattice bound="2" fluid="1" />

as also illustrated in the XML file guide.

It also shows up in the standard output of GenCase, where the number of particles is doubled

List of Points: Points -> Floating-Boundary particles: block[ 0] (mk: 31): 729 --> 1458 block[ 1] (mk: 51): 729 --> 1458 block[ 2] (mk: 52): 729 --> 1458

In this example 729 is 9³, since I have a cube with edge length equal to 8dp.

I then wondered what is the reason for this 1|2 choice, whether there is a recommended option and to which advantage. Thanks in advance for addressing these questions.

## Comments

Dear colleagues, I wanted to impart a little bit of bouyancy to this old topic. I am intrigued by understanding the purpose of this arrangement and which benefits brings about, or which headaches it takes away. Hence, what is recommended and why. The image above is a clip-out of the XML Guide. Thanks in advance for sharing your views.

Hello

The most obvious benefit would be that in the same discretized area you would have double the amount of particles (in 2D) - therefore a higher resolution. In theory the interpolation Kernel in SPH should not care about the disordering of particles (as far as I know) as long as it is uniformly disordered.

Doing a very quick and insufficient google search, I found this paper, which seems to go against my initial understanding. They dive a bit deeper into the topic a bit, but not with your exact setup as I can see;

https://www.researchgate.net/publication/282317546

Influenceof_particle_disorder_and_smoothing_length_on_SPH_operator_accuracyStill, it could be very interesting to dive deeper into how much different particle configurations actually affect results and accuracy. My personal dream is that one day, DualSPHysics allows one to upload a custom made particle layout and then solve that, i.e. without using GenCase.

Kind regards

That option is old, and it is not used now.

We will remove it in v5.0

In the past, first version of the code and as a legacy of the SPHysics fortran code we included the option of creating two layers of boundary particles when we observed penetration of fluid particles. Improving formulation, the penetration of fluid particles was removed so now there is no need to keep that option since it is not recommended and not compatible with latest functionalities since version 4.

Regards

I don't completely understand why it would be wrong to use, since increasing the amount of particles, but keeping the mass constant of a boundary, should not change the results?

In the past (as far as I understood) one needed to have a "thicker boundary layer", to ensure that the sum of the weighting kernel function would produce unity (1).

I would like to understand a bit better, why it is not recommended.

Kind regards

It is not recommend in the sense that our latest developments: coupling with chrono, inlet&outlet, new desnsity diffusion terms and the new multiphase model we are going to release now have been checked with all previous options, but we have not been checking those options when using lattie=2 for boundaries...

When we have time we can check more options than lattice bound="2" fluid="1", but so far it is not recommended

However, users can check and report us the results since we plan to release first a beta version of 5.0 this month during https://dual.sphysics.org/5thusersworkshop/, before official complete release in May-June

Regards

@Alex okay I see, you meant from a practical point of view. Could be fun to test yes :-)

Kind regards

@Alex Thanks for this explanation. I take then that <lattice bound="2" fluid="1"/> is the safe, battle-proven option in terms of robustness.

The code v4.4 works perfectly with lattice bound="1" fluid="1" so there is no need to use now lattice bound="2" since we have not checked so far for all the new options

Regards