ComputeForces Issue

edited June 2017 in DualSPHysics_v4.0
I am currently trying to validate DualSPHysics' ComputeForces tool vs. empirical results as well as results attained from ANSYS-Fluent regarding drag forces. My simulations include simulating a submarine moving with a constant velocity in the x-direction while it is submerged but near the surface (about 1 meter below). I understand that DSPH takes free-surface dynamics into account whereas the empirical and Fluent results do not but the discrepancy in the value is about a 500% difference - Empirical and Fluent values = ~60 N, DSPH values = ~330 N and I do not think free-surface dynamics can account for that much of a difference. I was wondering if anyone can shed light on how DSPH computes forces in the x-direction and why there could be such a divergence in values? I have run simulations using 20-55 million particles in these simulations and still find around the same values by a difference of only ~1-5 %.

To test out the values I could get from ComputeForces by running a simple case where the submarine just sits motionless on top of the water and used the CF tool to attain the forces in the z-direction, i.e. the total vertical force, which in this case should = the buoyant force. Even in this simulation I got a difference between empirical and DSPH results of 9-13%. So I am wondering if I am using this tool wrong or if it takes into account something that I am unaware of.

PLEASE HELP! I am supposed to include DSPH results in a final technical paper with NASA and do not want to show this much of a discrepancy in results attained by different tools.


  • Please send an email to and we will help you

  • DualSPHysics is pretty good computing forces:

    Altomare C, Domínguez JM, Crespo AJC, González-Cao J, Suzuki T, Gómez-Gesteira M, Troch P. 2017. Long-crested wave generation and absorption for SPH-based DualSPHysics model. Coastal Engineering, 127: 37-54 doi: 10.1016/j.coastaleng.2017.06.004.

    Altomare C, Crespo AJC, Domínguez JM, Gómez-Gesteira M, Suzuki T, Verwaest T. 2015. Applicability of Smoothed Particle Hydrodynamics for estimation of sea wave impact on coastal structures. Coastal Engineering, 96: 1-12. doi:10.1016/j.coastaleng.2014.11.001.

    We will try to check why the discrepancy

  • I have a similar problem.. My first question is, in order to make casesloshing example's 4 walls having different mk's.. I should define them seperately..

    How can I assign different mk's to 4 different walls in CaseSloshing example?

    Thank you!

  • follow example of CaseDambreak3D where one wall of the building is created with different mk to the rest of parts of the building

  • I will try that.. Thanks Alex !
  • Hello Admins,

    What was the final verdict on this discrepancy reported by ShaneCM? I am also getting higher forces than the experimental value.

  • The error in computing forces is all related to VISCOSITY. Try SPS instead of artificial viscosity.
  • But the papers that Alex is referring to achieved reasonable force estimate with artificial viscosity. So it must be something else.
  • edited July 2017
    Is it harmful to examine your case with the SPS ???
  • example of CaseDambreak3D
    setmkbound mk="10" />
    point x="0.9" y="0.24" z="0" />
    size x="0.12" y="0.12" z="0.45" />
    shapeout file="Building"/>
    if [ $errcode -eq 0 ]; then
    $computeforces -dirin $dirout -filexml $dirout/${name}.xml -onlymk:21 -savecsv $dirout/WallForce

    Why -onlymk:21 ?
  • mk=mkbound+11
  • Gut and the next question: why +11 ? why not +21 +31 +13 +5
  • To give a recursive answer, because page 60 of the DualSPHysics v4.0 guide says:

    Note that values of the final mk are different to
    mkfluid, mkbound and mkvoid following the rules:
    mk for boundaries = mkbound + 11
    mk for fluid particles = mkfluid + 1

    I don't know the historical reasons why 11 and not some other number, but all that matters is that we use the correct number for any given particle type.
  • Really, page 60 is exit
    Many thanks
  • we have booked 11 different mk values to create objects of fluid.... we consider this is enough...

    we use initially mkbound and mkfluid but these are later converted to a unique list of mk values... so the first 11 are booked for fluid and then we have boundaries. on the other hand the first mk should be 1 and not zero... then:
    mk for fluid = mkfluid +1
    mk for boundaries = makbound + 11

  • Hello Alex,
    I performed several simulations where use ComputeForces tool and compare results with MPS method. The results are in good agreement but there are some questions. Who from DualSPHysics developer can comment ?
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!