The formula using ViscoBoundFactor

In relation to

<parameter key="Visco" value="0.01" comment="Viscosity value" />
<parameter key="ViscoBoundFactor" value="1" comment="Multiply viscosity value with boundary (default=1)" />

beside the little glitch that one does not multiply a viscosity for a boundary,

  1. What is the formula using the product Visco * ViscoBoundFactor?
  2. If that formula is the conventional expression of the artificial viscous term (below), which fluid particles is that product applied to, as opposed to the conventional fluid particles?
  3. Which physics am I actually modelling when setting this ViscoBoundFactor to zero?
  4. And when ViscoBoundFactor is one?

Thanks in advance for addressing these questions. I could not spot an answer in the wiki, forum and some literature.


  • Brief explanation can be found in page 134 of the XML-GUIDE-v5.0.pdf in DualSPHysics_v5.0\doc\guides.

    This value was introduced to mimic the roughness of some boundaries as we did in the study of runoff on real terrains in:

    Barreiro A, Domínguez JM, Crespo AJC, González-Jorge H, Roca D, Gómez-Gesteira M. 2014. Integration of UAV photogrammetry and SPH modelling of fluids to study runoff on real terrains. PLoS ONE, 9(11): e111031. doi:10.1371/journal.pone.0111031.

    Follow figure 6:


  • edited December 2020

    Thanks @Alex

    The article is, understandably, all about the effects of such a ViscoBoundFactor, which is not sufficient (for me) to understand how it has been implemented. I'd rather have a context to anticipate what ViscoBoundFactor does for me in other situations.

    The figure, by the way, is also directly on-line: As I understand it, it shows a calibration exercise, which is case-specific understandably. Fair enough, but magic for me (exaggerated).

    Leaning on the slide of the XML guide,

    1. When (in which conditions) or where (for which particles) does alpha become either alphaFF or alphaFB?
    2. What are the interactions modelled after setting ViscoBoundFactor either 0 or 1?
    3. How to do I implement a genuine free-slip condition, for example?

    Thanks for your helping out

  • When I tested in the past, I also found that it had an effect (using ViscoBoundFactor) when working with SPS-LES. That was quite confusing for me at the time. It makes sense that one can do it as well, but it is not documented in the wiki

    Kind regards.

Sign In or Register to comment.