Sinking of a floating body with STL format

Hi every one

I have a problem with the simulation of a floating body with an almost complex geometry. It is a cone-cylinder shape. The cone shape has a dimeter of 0.3 m and the height of 0.15 m, the dimension of the cylindrical upper part is 0.4 m height and 0.15 m radius and I used the particle distance of 1 cm. I draw the geometry in Freecad and based on its draft, I calculated the density and the total mass of the body. I tried two different ways to simulate it using DualSPHysics. At first, I used the density of the floating body and I obtained very bad results. Then I checked the XML file in _out folder and I realized that the program calculated the total mass of the floating body as for example 1 kg, while it should be 9 kg based on the geometry and its draft. Then I tried another way and it was using the "massbody" option, in this way the program exited after a few time steps with this error:

Error: some boundary particle was excluded


some boundary particle exceeded the -Z limit (bottom limit) of the simulation domain.

Does anyone have an idea to fix this problem? The way I introduced the floating body to the program is as follows:

     <setmkbound mk="50" />

     <setdrawmode mode="solid"/>

     <drawfilestl file="ConeCylinder.stl" autofill="true">

     <drawmove x="4.5" y="0.5" z="0.7790"/>


<fillbox x="4.55" y="0.51" z="1">


<point x="4.35" y="0" z="0.779" />

<size x="0.3" y="1" z="0.6" />





  • 1) It is recommended to fill with particles the STL geometry . You can now use: <drawfilestl file="file.stl" autofill="true" >

    2) Your sinking object has crossed the bottom because there is no interaction between your floating body and the bottom particles.... If you want to simulate this collisions you have to use CHRONO (as it was used in some of the examples of collisions in examples/chrono). More information also here:

Sign In or Register to comment.