XSPH velocity

edited September 2013 in Old versions
hi, I found that XSPH velocity is only contributed to the position update. But for velocity update, only velocity from Navier-Stokes equation is taken into account. (the code is referred as JSphCpu.cpp line 984 to line 989). Could you please explain what the reason is here? Thanks!

Comments

  • XSPH contributes to velocity. So we have compute the new velocity including the XSPH variant as "VelXcor[p].x*Eps

    where velxcor[i].x+=wab_rhobar_mass * dvx;

    that is the equation shown in "Monaghan, J. J. 1989. On the problem of penetration in particle methods. Journal Computational Physics, 82: 1-15."
  • hi, Alex

    Thanks for your response. I understood that XSPH is computed. But what I meant is by watching following code which is from JSphCpu.cpp line 984 to lin 989. One can see that VelXcor is only used in the position update. But for velocity update, the VelXcor has not been taken into account.
    //position update
    Pos[p].x+=(vel1[p].x+VelXcor[p].x*Eps) * dt + Ace[p].x*dtsq_05;
    Pos[p].y+=(vel1[p].y+VelXcor[p].y*Eps) * dt + Ace[p].y*dtsq_05;
    Pos[p].z+=(vel1[p].z+VelXcor[p].z*Eps) * dt + Ace[p].z*dtsq_05;
    //velocity update V(n+1)=V(n-1)+2dt*F(n);
    velnew[p].x=vel2[p].x+Ace[p].x*dt2;
    velnew[p].y=vel2[p].y+Ace[p].y*dt2;
    velnew[p].z=vel2[p].z+Ace[p].z*dt2;

    Both Velnew and Vel2 (which is VelM1) doesn't include VelXcor contribution.
  • edited October 2013
    As Dr. Benedict suggests (benedict.rogers@manchester.ac.uk):

    According to Monaghan (1992), Equation (3.19), only the new position is affected by the XSPH correction, not the updated velocity or acceleration.

    Regards
  • PKAN, i undertand u, and i agreed that u said.
    average between the speed is different to calculate the average speed and that developers are not knowing explain clearly. The SPH method essentially calculates the reference speed of the particle speed from its neighbors by a iterpolação providing a weighted average speed. This average value will depend on the smoothing long as the number of neighboring particles which will influence the reference particle may vary with the hsml size and therefore the particles in the same fluid layer (incopressível) may have speed very different, which does not occur in a real flow. And to make this correction is calculated new speed between the reference particle and its neighbor using the average of the densities of the particles. The term average speed in XSPH arises you have a new rate that is equal to the old speed + weighted average of speeds, ie delta_v = average => v_new = v_old + weighted average, and the boundary speed is zero speed old is void.

    danilofisico@yahoo.com.br
Sign In or Register to comment.