diff --git a/apps/cpu/MultiphaseDropletTest/DropletTest.cfg b/apps/cpu/MultiphaseDropletTest/DropletTest.cfg
index 78b53897a1977f713ec9b3a0327ac85f3dee3b31..174066574a3a105b3735cf3c36181326cce7d1b0 100644
--- a/apps/cpu/MultiphaseDropletTest/DropletTest.cfg
+++ b/apps/cpu/MultiphaseDropletTest/DropletTest.cfg
@@ -1,33 +1,33 @@
 #pathname = d:/temp/MultiphaseDropletTest
-pathname = E:/Multiphase/DropletTest
+pathname = E:/Multiphase/DropletTestImpVel-Hesam2
 
 numOfThreads = 4
 availMem = 10e9
 
 #Grid
 
-boundingBox = 0 50 0 150 0 50
-blocknx = 10 10 10
+boundingBox = 0 256 512 768 0 3
+blocknx = 16 16 3
 
 dx = 1
 refineLevel = 0
 
 #Simulation
-uLB = 0#0.01#0.005#0.005 
+uLB = 0.01#0.005#0.005 
 Re = 10
-nuL = 1e-3 #1e-5# 1.0e-5 #!1e-2
-nuG = 1e-6 # 1e-8 # 1.16e-4 #!1e-2
+nuL = 1e-2 #1e-5# 1.0e-5 #!1e-2
+nuG = 0.015811388300841892 #5e-2 #1e-4 # 1e-8 # 1.16e-4 #!1e-2
 densityRatio = 10
-sigma = 1.111111111111111e-07 #1e-10 #1e-6  # 1e-5 #4.66e-3 #surface tension 1e-4 ./. 1e-5
-interfaceThickness = 5
-radius = 5 #16
+sigma = 1.0850694444444444e-06 #1e-10 #1e-6  # 1e-5 #4.66e-3 #surface tension 1e-4 ./. 1e-5
+interfaceThickness = 4.096
+radius = 25.6
 contactAngle = 110.0
 #gravity = 0.0
-gravity = -1.111111111111111e-07 #-5.04e-6
+gravity = -1.0348028606838648e-08 #-5.04e-6
 phi_L = 0.0
 phi_H = 1.0
 Phase-field Relaxation = 0.6
-Mobility = 0.1 # 0.01 ./. 0.08, fine correction of Phase-field Relaxation parameter, to activate it need to change in kernel tauH to tauH1
+Mobility = 0.056 # 0.01 ./. 0.08, fine correction of Phase-field Relaxation parameter, to activate it need to change in kernel tauH to tauH1
 
 
 logToFile = false
@@ -35,8 +35,10 @@ logToFile = false
 newStart = true
 restartStep = 100000
 
-cpStart = 100000
-cpStep = 100000
+cpStart = 1000
+cpStep = 1000
 
 outTime = 100
-endTime = 1000000
\ No newline at end of file
+endTime = 10000
+
+rStep = 159990 #160000
\ No newline at end of file
diff --git a/apps/cpu/MultiphaseDropletTest/droplet.cpp b/apps/cpu/MultiphaseDropletTest/droplet.cpp
index 51a1b7be17ba34944be354fa403bab112359806e..2695446006d6c6cd1be439b6ffb3d7347a18ebd6 100644
--- a/apps/cpu/MultiphaseDropletTest/droplet.cpp
+++ b/apps/cpu/MultiphaseDropletTest/droplet.cpp
@@ -141,18 +141,18 @@ void run(string configname)
         SPtr<LBMKernel> kernel;
 
         //kernel = SPtr<LBMKernel>(new MultiphaseScratchCumulantLBMKernel());
-        //kernel = SPtr<LBMKernel>(new MultiphaseCumulantLBMKernel());
-        kernel = SPtr<LBMKernel>(new MultiphaseTwoPhaseFieldsPressureFilterLBMKernel());
+        kernel = SPtr<LBMKernel>(new MultiphaseCumulantLBMKernel());
+        //kernel = SPtr<LBMKernel>(new MultiphaseTwoPhaseFieldsPressureFilterLBMKernel());
 
-        mu::Parser fgr;
-        fgr.SetExpr("-(rho-rho_l)*g_y");
-        fgr.DefineConst("rho_l", rho_l);
-        fgr.DefineConst("g_y", g_y);
+        //mu::Parser fgr;
+        //fgr.SetExpr("-(rho-rho_l)*g_y");
+        //fgr.DefineConst("rho_l", rho_l);
+        //fgr.DefineConst("g_y", g_y);
 
-        kernel->setWithForcing(true);
-        kernel->setForcingX1(0.0);
-        kernel->setForcingX2(fgr);
-        kernel->setForcingX3(0.0);
+        //kernel->setWithForcing(true);
+        //kernel->setForcingX1(0.0);
+        //kernel->setForcingX2(fgr);
+        //kernel->setForcingX3(0.0);
 
         kernel->setPhiL(phiL);
         kernel->setPhiH(phiH);
@@ -184,7 +184,7 @@ void run(string configname)
         grid->setPeriodicX1(true);
         grid->setPeriodicX2(true);
         grid->setPeriodicX3(true);
-        grid->setGhostLayerWidth(2);
+        grid->setGhostLayerWidth(1);
 
         SPtr<Grid3DVisitor> metisVisitor(new MetisPartitioningGridVisitor(comm, MetisPartitioningGridVisitor::LevelBased, D3Q27System::BSW, MetisPartitioner::RECURSIVE));
 
@@ -306,6 +306,7 @@ void run(string configname)
             fct2.DefineConst("interfaceThickness", interfaceThickness);
 
             MultiphaseInitDistributionsBlockVisitor initVisitor(densityRatio);
+            //MultiphaseVelocityFormInitDistributionsBlockVisitor initVisitor;
             initVisitor.setPhi(fct1);
             initVisitor.setVx1(fct2);
             grid->accept(initVisitor);
@@ -343,12 +344,12 @@ void run(string configname)
 
         grid->accept(bcVisitor);
 
-        // TwoDistributionsSetConnectorsBlockVisitor setConnsVisitor(comm);
-        // grid->accept(setConnsVisitor);
-
-        ThreeDistributionsDoubleGhostLayerSetConnectorsBlockVisitor setConnsVisitor(comm);
+        TwoDistributionsSetConnectorsBlockVisitor setConnsVisitor(comm);
         grid->accept(setConnsVisitor);
 
+        //ThreeDistributionsDoubleGhostLayerSetConnectorsBlockVisitor setConnsVisitor(comm);
+        //grid->accept(setConnsVisitor);
+
         SPtr<UbScheduler> visSch(new UbScheduler(outTime));
         SPtr<WriteMultiphaseQuantitiesCoProcessor> pp(new WriteMultiphaseQuantitiesCoProcessor(
             grid, visSch, pathname, WbWriterVtkXmlBinary::getInstance(), conv, comm));
diff --git a/src/cpu/VirtualFluidsCore/Visitors/MultiphaseInitDistributionsBlockVisitor.cpp b/src/cpu/VirtualFluidsCore/Visitors/MultiphaseInitDistributionsBlockVisitor.cpp
index a59e8d476a07f305aa74f155248f3485eb42c21e..3df7fbcc90c551876b4886e44c85d0bd965346ef 100644
--- a/src/cpu/VirtualFluidsCore/Visitors/MultiphaseInitDistributionsBlockVisitor.cpp
+++ b/src/cpu/VirtualFluidsCore/Visitors/MultiphaseInitDistributionsBlockVisitor.cpp
@@ -50,13 +50,13 @@ MultiphaseInitDistributionsBlockVisitor::MultiphaseInitDistributionsBlockVisitor
 	this->setRho(0.0);
 }
 //////////////////////////////////////////////////////////////////////////
-MultiphaseInitDistributionsBlockVisitor::MultiphaseInitDistributionsBlockVisitor( LBMReal densityRatio, LBMReal vx1, LBMReal vx2, LBMReal vx3)
+MultiphaseInitDistributionsBlockVisitor::MultiphaseInitDistributionsBlockVisitor( LBMReal densityRatio, LBMReal vx1, LBMReal vx2, LBMReal vx3, LBMReal rho)
 	: Block3DVisitor(0, Grid3DSystem::MAXLEVEL), densityRatio(densityRatio) 
 {
 	this->setVx1(vx1);
 	this->setVx2(vx2);
 	this->setVx3(vx3);
-}
+	this->setRho(rho);}
 //////////////////////////////////////////////////////////////////////////
 void MultiphaseInitDistributionsBlockVisitor::setVx1( const mu::Parser& parser)  
 { 
@@ -194,7 +194,7 @@ void MultiphaseInitDistributionsBlockVisitor::visit(const SPtr<Grid3D> grid, SPt
 
 					
 					p1  = 0.0;
-					//p1 = muRho.Eval();
+					p1 = muRho.Eval();
 					vx1 = muVx1.Eval();
 					vx2 = muVx2.Eval();
 					vx3 = muVx3.Eval();
@@ -220,8 +220,10 @@ void MultiphaseInitDistributionsBlockVisitor::visit(const SPtr<Grid3D> grid, SPt
 						LBMReal gamma = WEIGTH[dir]*(3*velProd + 4.5*velSq1 - 1.5*(vx1Sq+vx2Sq+vx3Sq));
 
 						feq[dir] = rho*WEIGTH[dir]*(1 + 3*velProd + 4.5*velSq1 - 1.5*(vx1Sq+vx2Sq+vx3Sq));
-						//geq[dir] = p1*WEIGTH1[dir] + gamma;
-						geq[dir] = p1*WEIGTH[dir]/(rho*UbMath::c1o3) + gamma*rho;
+						//geq[dir] = p1*WEIGTH[dir] + gamma;
+						//geq[dir] = p1*WEIGTH[dir]/(rho*UbMath::c1o3) + gamma*rho;
+						//geq[dir] = (p1*WEIGTH[dir]/(rho*UbMath::c1o3) + gamma*rho)*UbMath::c1o3;
+						geq[dir] = (gamma*rho)*UbMath::c1o3;
 					}
 
 
diff --git a/src/cpu/VirtualFluidsCore/Visitors/MultiphaseInitDistributionsBlockVisitor.h b/src/cpu/VirtualFluidsCore/Visitors/MultiphaseInitDistributionsBlockVisitor.h
index e351b901ce63a89a5d422a7b508c302332c97b66..6ff60387daeef966da6143ef459fa7b7d247fbd5 100644
--- a/src/cpu/VirtualFluidsCore/Visitors/MultiphaseInitDistributionsBlockVisitor.h
+++ b/src/cpu/VirtualFluidsCore/Visitors/MultiphaseInitDistributionsBlockVisitor.h
@@ -56,7 +56,7 @@ public:
 	//! \param vx1 - velocity in x
 	//! \param vx2 - velocity in y
 	//! \param vx3 - velocity in z
-	MultiphaseInitDistributionsBlockVisitor( LBMReal densityRatio, LBMReal vx1=0.0, LBMReal vx2=0.0, LBMReal vx3=0.0);
+	MultiphaseInitDistributionsBlockVisitor( LBMReal densityRatio, LBMReal vx1=0.0, LBMReal vx2=0.0, LBMReal vx3=0.0, LBMReal rho=0.0);
 	//////////////////////////////////////////////////////////////////////////
 	//automatic vars are: x1,x2, x3
 	//ussage example: setVx1("x1*0.01+x2*0.003")