A problem occurred while using AWAS

When I used the active absorption wave generation method AWAS, I found that piston would gradually move away from the water when the simulation time reached the time when AWAS was enabled. Here's my code. Why?

<?xml version="1.0" encoding="UTF-8" ?>

<case>

  <casedef>

    <constantsdef>      

      <gravity x="0" y="0" z="-9.81" comment="Gravitational acceleration" units_comment="m/s^2" />

      <rhop0 value="1000" comment="Reference density of the fluid" units_comment="kg/m^3" />

      <hswl value="0" auto="true" comment="Maximum still water level to calculate speedofsound using coefsound" units_comment="metres (m)" />

      <gamma value="7" comment="Polytropic constant for water used in the state equation" />

      <speedsystem value="0" auto="true" comment="Maximum system speed (by default the dam-break propagation is used)" />

      <coefsound value="20" comment="Coefficient to multiply speedsystem" />

      <speedsound value="0" auto="true" comment="Speed of sound to use in the simulation (by default speedofsound=coefsound*speedsystem)" />

      <coefh value="1.2" comment="Coefficient to calculate the smoothing length (h=coefh*sqrt(3*dp^2) in 3D)" />

      <cflnumber value="0.2" comment="Coefficient to multiply dt" />

    </constantsdef>

    <mkconfig boundcount="241" fluidcount="9">

        <mkorientfluid mk="0" orient="Xyz" />

    </mkconfig>

    <geometry>

      <definition dp="0.5" comment="Initial inter-particle distance" units_comment="metres (m)">

        <pointmin x="-10.0" y="0.0" z="-5.0" />

        <pointmax x="220.0" y="0.0" z="60.0" />

      </definition>

      <commands>

        <mainlist>

        <setshapemode>actual | dp | bound</setshapemode>

        <setmkbound mk="0"/>

        <setdrawmode mode="face"/>

        <drawbox objname="box">

          <boxfill>solid</boxfill>

          <point x="0.0" y="-5.0" z="0.0" />

          <size x="210.0" y="10.0" z="55.0" />

        </drawbox>

        <setmkbound mk="1"/>

        <setdrawmode mode="solid"/>

        <drawbox objname="sand">

          <boxfill>solid</boxfill>

          <point x="0.0" y="-5.0" z="0.0" />

          <size x="210.0" y="10.0" z="30.0" />

        </drawbox>

        <setmkbound mk="2"/>

        <setdrawmode mode="full"/>

        <drawbox objname="piston">

          <boxfill>solid</boxfill>

          <point x="5.0" y="-5.0" z="30.0" />

          <size x="0.4" y="10.0" z="24.0" />

        </drawbox>

        <move x="0.0" y="-5.0" z="30.0" />

        <setmkfluid mk="0"/>

        <fillbox x="110.0" y="5.0" z="5.0" objname="FillBox">

          <modefill>void</modefill>

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

          <size x="210.0" y="10.0" z="20.0" />

        </fillbox>

        <matrixreset />

        <shapeout file="" />

        </mainlist>

      </commands>

    </geometry>

    <motion>

      <objreal ref="2">

        <begin mov="1" start="0"/> 

        <mvnull id="1" />

      </objreal>

    </motion>

  </casedef>

  <execution>

    <special>

      <wavepaddles>

        <piston>

          <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="20.0" 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="2.0" comment="Wave height" />

          <waveperiod value="10.0" comment="Wave period" />

          <phase value="0.0" comment="Initial wave phase in function of PI (default=0)" />

          <ramp value="1" 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" />

          <awas_zsurf>

            <startawas value="10" comment="Time to start AWAS correction (def=ramp*waveperiod)" />

            <swl value="20" comment="Still water level (free-surface water)" />

            <elevation value="2" comment="Order wave to calculate elevation 1:1st order, 2:2nd order (def=2)" />

            <gaugex valueh="10" comment="Position in X from piston to measure free-surface water (def=5*Dp)" />

            <gaugey value="0" comment="Position in Y to measure free-surface water" />

            <gaugezmin value="46" comment="Minimum position in Z to measure free-surface water, it must be in water (def=domain limits)" />

            <gaugezmax value="54" comment="Maximum position in Z to measure free-surface water (def=domain limits)" />

            <gaugedp value="0.25" comment="Resolution to measure free-surface water, it uses Dp*gaugedp (def=0.1)" />

            <coefmasslimit value="0.4" comment="Coefficient to calculate mass of free-surface (def=0.5 on 3D and 0.4 on 2D)" />

            <savedata value="1" comment="Saves CSV with information 1:by part, 2:more info 3:by step (def=0)" />

            <limitace value="2" comment="Factor to limit maximum value of acceleration, with 0 disabled (def=2)" />

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

          </awas_zsurf>

</piston>

      </wavepaddles>

    </special>

   

Comments

  • You have used bad parameters for AWAS

    Start with the initial example and play with parameters until you understand what each of them do.

    Kind regards

  • Also note the "_"

    Infront of some of your parameters. It means they are not applied!

Sign In or Register to comment.