Wave Generation Problem in a Wave Flume

  • I am trying to generate a 2nd order wave regular wave (H = 0.2 m, T = 0.95 sec) using a Piston.
  • The depth of the flume is 1 m, flat-segment is 6 meters, and beach has 1/10 slope.

No matter what I change, the wave keeps "dying" ? (i.e., it does not propagate until the end of the flume. Is there a way to fix this).



  • Check whether the damping zone is used.


  • Hi, did anyone help me with the same issue. I am getting the same wave behavior. I have not used damping zone.

    Please let me know where I am going wrong. Thanks.

  • Checkout this paper "https://www.sciencedirect.com/science/article/abs/pii/S0378383921001666"

    • Short waves die faster than longer waves.
    • The decay is linearly proportional to the x/L, where x is the distance of propagation and L is wave length.

    I guess wave-decay is inherent in standard SPH formulation. Correction needs to be done to Kernel Gradient, I am not sure if it has been implemented in DualSPHysics.

  • Thank you so much @sam95 for your reply and sharing the paper about kernel gradient!

    Alright, so to tackle this wave decay issue, I'm going to make a couple of changes. First up, I'll reduce the distance between the piston and the coast (x), so that the wave doesn't have to travel as far and lose energy along the way. And secondly, I'll increase the wavelength (L) by cranking up the wave period. Hopefully, with these adjustments, I'll be able to get a better-looking wave that'll propagate throughout the flume. Let me know if I am correct.

                        <mkbound value="2" comment="Mk-Bound of selected particles" />
                        <start value="0" comment="Start time (default=0)" />
                        <duration value="0.0" comment="Movement duration, Zero is the end of simulation (default=0)" />
                        <depth value="0.75" comment="Water depth (default=0)" />
                        <pistondir x="1.0" y="0.0" z="0.0" comment="Movement direction (default=(1,0,0))" />
                        <waveorder value="2" comment="Order wave generation 1:1st order, 2:2nd order (default=1)" />
                        <waveheight value="0.3" comment="Wave height" />
                        <waveperiod value="1.0" comment="Wave period" />
                        <gainstroke value="1.0" comment="Gain factor to amplify/reduce the paddle stroke (default=1)" />
                        <phase value="0.0" comment="Initial wave phase in function of PI (default=0)" />
                        <ramp value="0.0" comment="Periods of ramp (default=0)" />
                        <savemotion periods="24" periodsteps="20" xpos="2.0" zpos="-0.15" comment="Saves motion data. xpos and zpos are optional. zpos=-depth of the measuring point" />

    Also. could you please tell me which parameters apart from propagation distance (x) and wave period, what other settings worked for you? I am currently using above values.


    • First, make sure your wave is not breaking. Wave breaks when the wave height is >= 1/7* wavelength (check papers on that).
    • Regarding wave-period, increasing it will definitely solve the problem, but that depends if your study is not concerned with wave period.
    • Another method to solve the decay is to increase resolution, so you can decrease dp (inter-particle distance). However, this will greatly increase computation time.
  • Thank you so much @sam95 for explanation. I will proceed accordingly.


  • Using alpha=0.01, 10 particles per wave height and coefh=1.2 or higher will allow propagating waves for 3 wavelengths without problems


Sign In or Register to comment.