                 Real3 velMasB_new = dAB * (velMasB - velMasA) + velMasB;
                 velMasB = velMasB_new;
             }
-            if(rhoPresMuB.w > -0.5 && rhoPresMuB.w < 0.5 && paramsD.bceTypeWall == BceVersion::ADAMI){
+            if(rhoPresMuB.w < 0.5 && paramsD.bceTypeWall == BceVersion::ADAMI){
                 velMasB = sortedVelMas[j];
                 Real chi_A = sortedKernelSupport[index].y / sortedKernelSupport[index].x;
                 Real chi_B = sortedKernelSupport[j].y / sortedKernelSupport[j].x;

                    for (uint j = startIndex; j < endIndex; j++) {
                        Real3 posRadB = mR3(sortedPosRad[j]);
                        Real3 rij = Distance(posRadA, posRadB);
                        Real d = length(rij);
                        if (d > SuppRadii || sortedRhoPreMu[j].w < -1.5)
                            continue;
                        Real3 grad_i_wij = GradWh(rij, h_i);
                        Real3 grw_vj = grad_i_wij * paramsD.volume0;

                    if (j != index) {
                        Real3 posRadB = mR3(sortedPosRad[j]);
                        Real3 dist3 = Distance(posRadA, posRadB); 
                        Real dd = dist3.x * dist3.x + dist3.y * dist3.y + dist3.z * dist3.z;
                        if (dd > SqRadii)
                            continue;
                        Real4 rhoPresMuB = sortedRhoPreMu[j];

                        // no rigid-rigid force
                        if (rhoPresMuA.w > -0.5 && rhoPresMuB.w > -0.5)   
                            continue;
                        Real d = length(dist3);
                        Real invd = 1.0 / d;
                        // modifyPressure(rhoPresMuB, dist3Alpha);
                        // if (!(isfinite(rhoPresMuB.x) && isfinite(rhoPresMuB.y) && isfinite(rhoPresMuB.z))) {
