Artificial Viscosity vs. Laminar+SPS issues


From what I understood, DualSPHyiscs has two ways to model turbulent flows including dissipation: 1) Artificial viscosity which is dependent on a factor of alpha which is set in the input files, and 2) Laminar+SPS which implements Smagorinsky's eddy viscosity model and is dependent on Cs (Smagorinsky coefficient of 0.12 set in JSph.cpp) and CI (Blin constant of 0.0066 also set in JSph.cpp) (see 3.2.1 and 3.2.2 -

I'm trying to implement the Laminar+SPS viscosity in the input file of the Dambreak 2D example. But in the input file when I switch the viscotreatment from 1 (artificial viscosity - default setting) to 2 (Laminar + SPS), my model is still sensitive to alpha and the viscobound factor. The alpha term is only present in the artificial viscosity equations (see Eq. 8 - so theoretically if I switch to Laminar+SPS, alpha should not matter.

Additionally, it is sensitive to the viscobound factor, but I'm not sure exactly what the viscobound factor refers to, since I cannot find it in the DualSPHyiscs formulation nor which viscosity treatment it is associated with.

Thank you,



  • Dear Sandra

    When you choose viscotreatment=1 (Artificial viscosity) then you can define visco as the alpha value.

    When you choose viscotreatment=2 (Laminar+SPS) then you define visco, being this time the kinematic viscosity (10E-6 for water)

    Check page 135 of "XML_GUIDE_v5.0.pdf" in DualSPHysics_v5.0\doc\guides

  • Dear Alex,

    Thanks for your response; it was very helpful! Is there any way to change Cs (Smagorinsky coefficient of 0.12 set in JSph.cpp) and CI (Blin constant of 0.0066 also set in JSph.cpp) in the input file or the only way is changing the source code and recompiling?



  • Why do you need SPS? you can only get some effect if you are working on a turbulent flow in 3D with a huge resolution....

    SPS model is mainly an example of how to implement in our code a turbulence model ...


  • @Alex

    Using a proper turbulence model is extremely important for a lot of flows. The artificial viscosity approach unfortunately does not correctly mimic fluid behaviour and especially dissipation of energy in an eddy-like motion. This becomes really important for any wall bounded flow or if one wishes to properly resolve viscous force contributions.

    With the introduction of mDBC I am sure that new research will try to properly implement wall functions as is commonly used in FVM - this will be a huge step forward in modelling turbulence using SPH in a manner which is both feasible and practical from a simulation time perspective.

    One of the reasons I started using DualSPHysics was due to the implementation of the Smagorinsky turbulence model - even though it is not perfect, for cases where you cannot simply do a tank test and tune alpha, it is the only theoretical valid option.

    Just my two cents.

    Kind regards

Sign In or Register to comment.