Chrono objects not interacting as desired


I am trying to run a model of a turbine device, one of the key aspects of the device is the way that the hinged blades blades contact the hub as the device rotates. I have been trying to do this in DualSPHysics using the Chrono coupling, but the objects continue to pass through each other, leading the turbine to effectively run as though the materials have failed.

The process in the xml is as follows:

  • Load in the hub (brown in images) from an .stl file, and fill the voids with particles mk="50"
  • Save the hub particles as .vtk using <shapeout file="Axle"
  • For the various flaps, (1-8) in the same manner, saving each in new <shapeout> files
  • Define Properties:


         <propertyfile file="Floating_Materials.xml" path="materials" />


            <link mkbound="0" property="pvc" />

            <link mkbound="21,23,24,25,26,27,28,50" property="aluminium"/>



  • Where properties file entry for aluminium:

   <property name="aluminium">

      <Young_Modulus value="69000000000.0" comment="Young Modulus (N/m2)" />

       <PoissonRatio value="0.33" comment="Poisson Ratio (-)" />

      <Restitution_Coefficient value="0.65" comment="Restitution Coefficient (-)" />

       <Kfric value="0.65" comment="Kinetic friction coefficient" />


  • Define Floatings:


           <floating mkbound="50" rhopbody="2400" property="aluminium"/>

         <floating mkbound="21,23,24,25,26,27,28" rhopbody="2500" property="aluminium"/>


  • Apply initial velocity to flume water
  • Chrono Definition: (only hub/body and flap 1 shown for brevity)


            <!-- Chrono variables to determine when two objects have collided -->

            <_savedata value="0.01" comment="Saves CSV with data exchange for each time interval (0=all steps)" />

            <collisiondp value="0.5" comment="Allowed collision overlap according Dp (default=0.5)" />

<bodyfixed id="domain" mkbound="0" />

            <bodyfloating id="Tbody" mkbound="50" modelfile="[CaseName]_Axle_Actual.vtk"/>

            <bodyfloating id="Flap1" mkbound="21" modelfile="[CaseName]Flap-01Actual.vtk"/>

<!-- Link body of turbine to the domain -->

     <link_hinge idbody1="Tbody">

       <rotpoint x="0" y="0" z="0.5" comment="Point for rotation" />

              <rotvector x="0" y="1" z="0" comment="Vector direction for rotation" />

              <stiffness value="0" comment="Torsional stiffness" />

               <damping value="0" comment="Torsional damping" />


            <!-- Link flaps to body -->

            <link_hinge idbody1="Tbody" idbody2="Flap1">

                   <rotpoint x="0.107" y="0.0" z="0.5" comment="Point for rotation" />

                   <rotvector x="0" y="1" z="0" comment="Vector direction for rotation" />

                   <stiffness value="0" comment="Torsional stiffness" />

                   <damping value="0" comment="Torsional damping" />

                   <friction value="0" comment="Friction coefficient" />


I am using wendland kernel, Symplectic step, Chrono rigid algorithm, and most other parameters as default. I have tried adjusting collisiondp between 0.05 and 0.95 ( and default=0.5) but the issue persists. I believe everything is defined that should be,

Any help would be appreciated, and thank you for to all those working on DualSPHysics, it's a very nice model to be working with.




  • Update: I believe I have solved/identified the issue.

    I had been running this model in a 2D mode, (effectively depth averaging by setting gravity to 0.0 and constraining the rotated flume in the Y plane). I ran a 3D model of the structure over the weekend on the HPC and it appears that the components are interacting (contacting) as the should.

  • Update 2: I rebuilt the model in a tidier manner and changed the .stl files i was calling to define the geometry and the model now works. If anyone is interested I can give you details on my settings.

    The model behaviour still needs some calibration, but the general construction is done and it behaves as you might expect.

  • Nice to hear and awesome that you managed to figure it out your self. The flow field looks very interesting. Would you be able to share a video on youtube/gif which shows how your turbine blades moves during movement?

    Kind regards

  • Hi @Asalih3d, unfortunately I'm not at liberty to post moving images due to the developmental nature of the work. However I will post them on this or a new thread once I get approval.

    Kind regards,

  • @Nick thank you, I hope you are allowed in the end. I just have never thought about doing it the way you did it, and it could be very nice to actually see if you get feasible results / flow fields etc.

    Kind regards

  • Hi @Asalih3d

    Attached is a gif of a quite normal vertical axis turbine in the flow (standard NACA foils fixed around a central axle). This was one of my stops along the way to the turbine model we really want to test.

    The advantage of the vertical axis here being that we can assume a simplified depth averaged profile for the 2D model, of course you get model effects; and the setup shown here is far from perfect (I should really extend the downstream area to limit the boudary effect among other things). One of the things I tested with this model was the effect of grid resolution, as the bernoulli effect across the foil is dependant on representation, with the brief conclusion I reached being that for this type of turbine lower dp is better.

    I also tested a simple savonius turbine (drag based) which showed less need for resolution as long as the key geometry is captured (note the flow between the blades that gives the blade moving upstream a small boost).

    All the best,


  • Thanks Nick!

    These are very interesting flows. Nice to see that SPH can be of use in this kind of process - and yes your down stream limit should be increased by quite a bit or the flow rate should be lowered - never the less this is very interesting to simulate. In your first gif with NACA air blades you had a point where a void appeared, remember to increase shifting a bit or amount of particles etc.

    Have you tried validating the results from DualSPHysics with any real life experiments or?

    Kind regards

  • Hi Asalih3d

    Yes calibrating to flume and CFD model results is what I'm currently working on. I will need to re-build the turbines as you have said to improve the representation, and also to better match the flume tests; as these are models mainly to provide proof of concept I just used indicative scenarios/designs.

    I hope that getting these models calibrated will give encourage others that this method is useful, but until then at least we-ve got some nice potential for loading icons.

    All the best

Sign In or Register to comment.