Piston position, and O1 / O2?


Could anyone explain to me how I should understand these parameters

I cannot understand where elevation 1 and 2 are measured and for position I assume it is actually displacement of wave paddle?

Kind regards


  • The file you show in the figure contains theoretical results only. Nothing is measured in the SPH simulation.

    The displacement of the wave paddle is computed using the wave theory in order to generate the desired wave condition (H,T,d)

    The elevation of order 1 and order 2 are the theoretical surface elevations at the distance you should have specified in "savemotion" in the XML and those results are theory... and purely wave propagation in an infinite tank of cte depth and with no reflection.

    Is it clear? Perhaps extra information about this needs to be included in some point of the wiki...


  • edited September 4

    Ah yes, "measured" was wrong word by me! Is it of course theoretical values, I think you also told me before sorry..

    Okay so position = displacement as I anticipated so that is nice

    That which confuses me about O1 and O2 is that I only have specified one point (marked in yellow). I suppose there is something I am not seeing?

    EDIT: I think it would be nice to have this in the wiki, since when I tried to dig in the documentation I could not find anything about it

    Kind regards

  • I still did not completely understand O1 and O2, since I have only specified one point as marked with yellow above. I have tried plotting it to understand it better, but I still struggle.

    In black I have the AWAS result (i.e just infront of the piston), orange is numerical and 1 wave length away from initial piston

    Elevation O1 and O2 are then from the file shown initially. What confuses me is that the results are phase-shifted by a factor c*pi, and I still do not understand the difference between O1 and O2, since I have as far as I know only specified one point

    Kind regards

  • Note that xpos in savemotion is the distance from piston since we are computing a theoretical value...

    In fact we compute the theoretical solution using 1st order and 2nd order theory...

    However for the SPH simulation we move piston using the theory order you define in the XML and you compute surface elevation at positions defined in TXT file used by MeasureTool.



  • O1 and O2 refers to the same measurement point. The former is the solution at 1st order, the latter the solution at 2nd order.

  • Thanks for clarification @iarba27 it sounds so obvious now when you say it, but I really couldn't figure it out 😅

    Since I am using 2nd order wave theory to generate the waves in DualSPHysics I now know to use O2 when comparing numerical / theoretical results, thanks!

    Kind regards

  • Thanks! I think it is completely covered for me how it works now.

    Tip for those who see this post in the future

    For any one wondering if one has to use MeasureTool, one can also directly in the XML specify the numerical gauges:

    This is personally a bit easier for me, but if you have already done your simulation, then MeasureTool is the way to go.

    Kind regards

  • edited September 20

    As I thought I had no more questions, I managed to find at least one more..

    It is based upon the "GaugesSWL_AwasMkb02.csv" file. Basically looking into my simulation directory, using savedata => value = 0 in AWAS, it produces the following files:

    Based on this thread I am now sure that the 3 yellow files I have defined are numerical measurements and that the WavePaddle file underlined with a blue line is theoretical.

    I just want to be completely sure about the "GaugesSWL_AwasMkb02.csv" file, we agree that it is numerical results right? The contents of the file is as follows:

    I note that the swlx value changes as well, which is due to it following the motion of the piston. That is why pos0x, pos2x and swlx are always the same value. It is a 2D simulation, that is why 0 for all y-values. Then I see that the relationship between pos*z and swlz, seem to be something like:

    swlz = (pos0z+pos2z)/2

    I cannot completely explain why, but it works and when I inspect visually the gauge behaves correctly. It might be due to having two points approaching the SWL from each side, until they reach a threshold and then the average between the two, gives the correct SWL measurement, which I assume is numerical.

    The reason I am so interested in this is because I am producing these kind of plots:

    So that I can really understand how AWAS/Damping affects results. Blue dots show the gauges at c lambda distance away from the piston and in yellow I have the AWAS results, which I assume are based on numerical measurements in the simulation (i.e. the file in "GaugesSWL_AwasMkb02.csv" the first picture). Then I do a simulation where I turn off both AWAS and Damping:

    But now since I do not have AWAS enabled I lose gauge measurements at the piston - I know that I can place a static gauge in front of the piston, but I want my measurement technique to be the same in all cases. I was therefore considering if it was possible to do so by setting all of these values to zero:

    <correction coefstroke="1.8" coefperiod="1" powerfunc="3" comment="Drift correction configuration (default=no applied)" />

    Then my hope would be that I could have a "false" AWAS enabled which actually does not do any corrections, while I still get the measurements - would this work?


    1. Is the file, "GaugesSWL_AwasMkb02.csv", based on measurements in the simulation, i.e. numerical results? (I am 95% sure that yes it is)
    2. Is it possible to "falsely" enable AWAS such that I only measure using the gauge and do not apply any corrections / AWAS method?

    Kind regards

  • By accident I found the complete answer for the first question. This is written in the Run.out file

    So there is no doubt regarding that it is a numerical measurement of the fluid particles.

    For 2nd question I would love feedback / ideas

    Kind regards

Sign In or Register to comment.