The particles suddenly disappeared

Hi!

We are simulating the inlet and outlet of the fuel tank, I have a problem with fluid particles leaking through the boundary of my STL model. And suddenly a large number of particles disappear in the process, like the border collapsed.

What can I do to avoid this ?Thank you for your help.

Comments

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

    <case app="GenCase v5.0.238 (22-07-2021)" date="22-10-2021 10:14:21">

      <casedef>

        <constantsdef>

          <lattice bound="2" fluid="1" />

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

          <rhop0 value="1.2" 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="1.4" 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="60" 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" comment="Coefficient to calculate the smoothing length (h=coefh*sqrt(3*dp^2) in 3D)" />

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

        </constantsdef>

        <mkconfig boundcount="240" fluidcount="9" />

        <geometry>

          <definition dp="0.02" units_comment="metres (m)">

            <pointmin x="-0.84" y="-1.950" z="-0.8" />

            <pointmax x="0.84" y="1.950" z="0.8" />

          </definition>

          <commands>

            <mainlist>

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

              <setmkbound mk="0" />

              <drawfilestl file="0-0-0.stl">

                <drawscale x="0.001" y="0.001" z="0.001" />

              </drawfilestl>

              <setmkbound mk="1" />

              <fillbox x="0.0035" y="0.0145" z="-0.1506" mkbound="0">

                <modefill>void</modefill>

                <point x="-0.84" y="-1.95" z="-0.8" />

                <size x="1.68" y="3.8" z="0.7" />

              </fillbox>

              <setmkfluid mk="0" />

              <fillbox x="0.0035" y="0.0145" z="0.1506" mkbound="0">

                <modefill>void</modefill>

                <point x="-0.84" y="-1.95" z="-0.8" />

                <size x="1.68" y="3.8" z="1.6" />

              </fillbox>

              <setmkvoid />

              <setdrawmode mode="full" />

              <drawcylinder radius="0.05">

                <point x="0.72" y="-1.255" z="0" />

                <point x="0.8" y="-1.255" z="0" />

              </drawcylinder>

              <setmkfluid mk="1" />

              <setdrawmode mode="face" />

              <drawcylinder radius="0.05" mask="2 | 3">

                <point x="0.72" y="-1.255" z="0" />

                <point x="0.8" y="-1.255" z="0" />

              </drawcylinder>

              <setmkvoid />

              <setdrawmode mode="full" />

              <drawcylinder radius="0.05">

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

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

              </drawcylinder>

              <setmkfluid mk="2" />

              <setdrawmode mode="face" />

              <drawcylinder radius="0.05" mask="2 | 3">

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

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

              </drawcylinder>

              <setmkvoid />

              <setdrawmode mode="full" />

              <drawcylinder radius="0.05">

                <point x="-0.72" y="0" z="0.641" />

                <point x="-0.77" y="0" z="0.641" />

              </drawcylinder>

              <setmkfluid mk="3" />

              <setdrawmode mode="face" />

              <drawcylinder radius="0.05" mask="2 | 3">

                <point x="-0.72" y="0" z="0.641" />

                <point x="-0.77" y="0" z="0.641" />

              </drawcylinder>

              <shapeout file="" />

            </mainlist>

          </commands>

        </geometry>

      </casedef>

      <execution>

        <special>

          <inout>

            <memoryresize size0="10" size="10" comment="Initial memory resize (size0) and the following memory resizes according to initial inlet/outlet particles (default=2 and 4)" />

            <determlimit value="1e+3" comment="Use 1e-3 for first_order or 1e+3 for zeroth_order (default=1e+3)" />

            <inoutzone>

              <refilling value="0" comment="Refilling mode. 0:Simple full, 1:Simple below zsurf, 2:Advanced for reverse flows (very slow) (default=1)" />

              <inputtreatment value="1" comment="Treatment of fluid entering the zone. 0:No changes, 1:Convert fluid (necessary for outlet), 2:Remove fluid (recommended for inlet)" />

              <layers value="4" comment="Number of inlet/outlet particle layers" />

              <zone3d comment="Input zone for 3-D simulations">

                <particles mkfluid="1" direction="left" />

              </zone3d>

              <imposevelocity mode="0" comment="Imposed velocity 0:fixed value, 1:variable value, 2:Extrapolated value (default=0)">

                <velocity v="-5" comment="Uniform velocity" units_comment="m/s" />

              </imposevelocity>

            </inoutzone>

            <inoutzone>

              <refilling value="0" comment="Refilling mode. 0:Simple full, 1:Simple below zsurf, 2:Advanced for reverse flows (very slow) (default=1)" />

              <inputtreatment value="1" comment="Treatment of fluid entering the zone. 0:No changes, 1:Convert fluid (necessary for outlet), 2:Remove fluid (recommended for inlet)" />

              <layers value="4" comment="Number of inlet/outlet particle layers" />

              <zone3d comment="Input zone for 3-D simulations">

                <particles mkfluid="2" direction="left" />

              </zone3d>

              <imposevelocity mode="0" comment="Imposed velocity 0:fixed value, 1:variable value, 2:Extrapolated value (default=0)">

                <velocity v="-5" comment="Uniform velocity" units_comment="m/s" />

              </imposevelocity>

            </inoutzone>

            <inoutzone>

              <refilling value="0" comment="Refilling mode. 0:Simple full, 1:Simple below zsurf, 2:Advanced for reverse flows (very slow) (default=1)" />

              <inputtreatment value="2" comment="Treatment of fluid entering the zone. 0:No changes, 1:Convert fluid (necessary for outlet), 2:Remove fluid (recommended for inlet)" />

              <layers value="4" comment="Number of inlet/outlet particle layers" />

              <zone3d comment="Input zone for 3-D simulations">

                <particles mkfluid="3" direction="right" />

              </zone3d>

              <imposevelocity mode="0" comment="Imposed velocity 0:fixed value, 1:variable value, 2:Extrapolated value (default=0)">

                <velocity v="10" comment="Uniform velocity" units_comment="m/s" />

              </imposevelocity>

            </inoutzone>

          </inout>

        </special>

  • <parameters>

          <parameter key="SavePosDouble" value="1" comment="Saves particle position using double precision (default=0)" />

          <parameter key="StepAlgorithm" value="2" comment="Step Algorithm 1:Verlet, 2:Symplectic (default=1)" />

          <parameter key="VerletSteps" value="40" comment="Verlet only: Number of steps to apply Euler timestepping (default=40)" />

          <parameter key="Kernel" value="2" comment="Interaction Kernel 1:Cubic Spline, 2:Wendland (default=2)" />

          <parameter key="ViscoTreatment" value="1" comment="Viscosity formulation 1:Artificial, 2:Laminar+SPS (default=1)" />

          <parameter key="Visco" value="0.01" comment="Viscosity value" />

          <parameter key="ViscoBoundFactor" value="1" comment="Multiply viscosity value with boundary (default=1)" />

          <parameter key="DensityDT" value="0" comment="Density Diffusion Term 0:None, 1:Molteni, 2:Fourtakas, 3:Fourtakas(full) (default=0)" />

          <parameter key="DensityDTvalue" value="0.1" comment="DDT value (default=0.1)" />

          <parameter key="Shifting" value="1" comment="Shifting mode 0:None, 1:Ignore bound, 2:Ignore fixed, 3:Full (default=0)" />

          <parameter key="ShiftCoef" value="-2" comment="Coefficient for shifting computation (default=-2)" />

          <parameter key="ShiftTFS" value="2.75" comment="Threshold to detect free surface. Typically 1.5 for 2D and 2.75 for 3D (default=0)" />

          <parameter key="RigidAlgorithm" value="1" comment="Rigid Algorithm 0:collision-free, 1:SPH, 2:DEM, 3:Chrono (default=1)" />

          <parameter key="FtPause" value="0.0" comment="Time to freeze the floatings at simulation start (warmup) (default=0)" units_comment="seconds" />

          <parameter key="CoefDtMin" value="0.05" comment="Coefficient to calculate minimum time step dtmin=coefdtmin*h/speedsound (default=0.05)" />

          <parameter key="DtIni" value="0" comment="Initial time step. Use 0 to defult use (default=h/speedsound)" units_comment="seconds" />

          <parameter key="DtMin" value="0" comment="Minimum time step. Use 0 to defult use (default=coefdtmin*h/speedsound)" units_comment="seconds" />

          <parameter key="DtFixed" value="0" comment="Fixed Dt value. Use 0 to disable (default=disabled)" units_comment="seconds" />

          <parameter key="DtFixedFile" value="NONE" comment="Dt values are loaded from file. Use NONE to disable (default=disabled)" units_comment="milliseconds (ms)" />

          <parameter key="DtAllParticles" value="0" comment="Velocity of particles used to calculate DT. 1:All, 0:Only fluid/floating (default=0)" />

          <parameter key="TimeMax" value="20" comment="Time of simulation" units_comment="seconds" />

          <parameter key="TimeOut" value="0.01" comment="Time out data" units_comment="seconds" />

          <parameter key="PartsOutMax" value="1" comment="%/100 of fluid particles allowed to be excluded from domain (default=1)" units_comment="decimal" />

          <parameter key="RhopOutMin" value="0" comment="Minimum rhop valid (default=700)" units_comment="kg/m^3" />

          <parameter key="RhopOutMax" value="1300" comment="Maximum rhop valid (default=1300)" units_comment="kg/m^3" />

          <simulationdomain comment="Defines domain of simulation (default=Uses minimun and maximum position of the generated particles)">

            <posmin x="default" y="default" z="default" comment="e.g.: x=0.5, y=default-1, z=default-10%" />

            <posmax x="default" y="default" z="default + 10%" />

          </simulationdomain>

        </parameters>

        <particles np="824824" nb="660556" nbf="660556" mkboundfirst="10" mkfluidfirst="1">

          <_summary>

            <positions units_comment="metres (m)">

              <posmin x="-0.845" y="-1.915" z="-0.785" />

              <posmax x="0.825" y="1.915" z="0.785" />

            </positions>

            <fixed count="660556" id="0-660555" mkcount="2" mkvalues="10-11" />

            <fluid count="164268" id="660556-824823" mkcount="4" mkvalues="1-4" />

          </_summary>

          <fixed mkbound="0" mk="10" begin="0" count="298686" />

          <fixed mkbound="1" mk="11" begin="298686" count="361870" />

          <fluid mkfluid="0" mk="1" begin="660556" count="164205" />

          <fluid mkfluid="1" mk="2" begin="824761" count="21" />

          <fluid mkfluid="2" mk="3" begin="824782" count="21" />

          <fluid mkfluid="3" mk="4" begin="824803" count="21" />

        </particles>

        <constants>

          <data2d value="false" />

          <gravity x="0" y="0" z="-9.8" units_comment="m/s^2" />

          <cflnumber value="0.001" />

          <gamma value="1.4" />

          <rhop0 value="1.2" units_comment="kg/m^3" />

          <dp value="0.02" units_comment="metres (m)" />

          <h value="0.034641016151" units_comment="metres (m)" />

          <b value="25401.6" units_comment="Pascal (Pa)" />

          <massbound value="0.0000048" units_comment="kg" />

          <massfluid value="0.0000096" units_comment="kg" />

        </constants>

        <motion />

        <vtkout mkboundfirst="10" mkfluidfirst="1">

          <vtkfile name="CasePump__Dp.vtk" mk="10" mkbound="0" />

          <vtkfile name="CasePump__Actual.vtk" mk="10" mkbound="0" />

        </vtkout>

      </execution>

    </case>

  • How thick are your walls in the STL? I.e. how many particle layers. Are you sure that the fluid particles are just above the boundary layer particles, so they do not free fall down with a high acceleration and start going through your walls?

    Kind regards

  • edited October 2021

    I use lattice bound="2", as a result, just like the wall disappeared, all particles were excluded in several parts. @Asalih3d

  • As far as I have been told one should not use that option anymore.

    My advice would be to start from a simpler version of this case and building it up layer by layer, can often be more rewarding than debugging if it is a particularily difficult case.


    Kind regards

  • edited October 2021

    Thank you very much! @Asalih3d

    I have also tried not to use this option. Similarly, in a certain step, all particles will disappear.I modified dp, cs, coefh, cfl. The problem still exists, but the steps are different.

    Like https://forums.dual.sphysics.org/discussion/comment/4608#Comment_4608



  • What about using one of the example cases as a baseline and then step by step changing it into "your case"?

    I would give that a final go, since it should really show you where the issue pops up. Also try avoid using STL's in the debugging process to be sure that it is not an STL issue.

    Hope it helps, seems to be a bit tricky unfortunately :-)

    Kind regards

  • I'll keep trying.By the way.When can we run two-phase flow with inlet/out conditions? Can you tell me the approximate time?@Asalih3d

  • Please do keep trying, I hope you succeed and we all learn!

    I am not a developer of the software so unfortunately I cannot give you a specific time frame - I imagine that some parts of the development community would like this feature, so if I had to give a random estimate, I would say 1-2 years, so a bit further away unfortunately. @Alex would be better at giving a rough estimate, but please keep in mind that the DualSPHysics team likes to avoid rushing releases to ensure they keep delivering af high quality tool to all of us, which is extremely nice.

    Kind regards

Sign In or Register to comment.