diff --git a/src/gpu/core/Init/PositionReader.cpp b/src/gpu/core/Init/PositionReader.cpp
index c94ea46acb9aa1d9b86feb77ebbc58c2aa47e431..b4efea8bdc266c7e4851444db18ff012f76bae9f 100644
--- a/src/gpu/core/Init/PositionReader.cpp
+++ b/src/gpu/core/Init/PositionReader.cpp
@@ -6,189 +6,6 @@
 
 using namespace vf::lbm::dir;
 
-//////////////////////////////////////////////////////////////////////////
-void PositionReader::readFilePropellerCylinderForAlloc(Parameter* para)
-{
-    UbFileInputASCII in(para->getpropellerCylinder());
-    int test = 0, count = 0;
-    int maxlevel = in.readInteger();
-    in.readLine();
-
-    for (int level = 0; level < maxlevel; level++)
-    {
-        para->getParH(level)->propellerBC.numberOfBCnodes = in.readInteger();
-        para->getParD(level)->propellerBC.numberOfBCnodes = para->getParH(level)->propellerBC.numberOfBCnodes;
-        in.readLine();
-        if (level == para->getFine())
-        {
-            for(uint u=0; u<para->getParH(level)->propellerBC.numberOfBCnodes; u++)
-            {
-                test = in.readInteger();
-                if (para->getParH(level)->typeOfGridNode[test] == GEO_FLUID)
-                {
-                    count++;
-                }
-                ////////////////////////////////////////////////////////////////////////
-                //for(unsigned int ix3=0; ix3<para->getParH(level)->nz; ix3++)
-                //{
-                //    for(unsigned int ix2=0; ix2<para->getParH(level)->ny; ix2++)
-                //    {
-                //        for(unsigned int ix1=0; ix1<para->getParH(level)->nx; ix1++)
-                //        {
-                //            unsigned int m = para->getParH(level)->nx*(para->getParH(level)->ny*ix3 + ix2) + ix1;
-                //            if (para->getParH(level)->k[m] == test)
-                //            {
-                //                if(para->getParH(level)->geo[m] == 1)
-                //                {
-                //                    count++;                                    
-                //                }
-                //            }
-                //        }
-                //    }
-                //}
-                //count++;
-                ////////////////////////////////////////////////////////////////////////
-                in.readDouble();
-                in.readDouble();
-                in.readDouble();
-                in.readLine();
-            }
-        }
-        else
-        {
-            for(uint u=0; u<para->getParH(level)->propellerBC.numberOfBCnodes; u++)
-            {
-                in.readInteger();
-                in.readDouble();
-                in.readDouble();
-                in.readDouble();
-                in.readLine();
-            }
-        }
-        para->getParH(level)->propellerBC.numberOfBCnodes = count;
-        para->getParD(level)->propellerBC.numberOfBCnodes = para->getParH(level)->propellerBC.numberOfBCnodes;
-    }
-}
-//////////////////////////////////////////////////////////////////////////
-
-
-//////////////////////////////////////////////////////////////////////////
-void PositionReader::readFilePropellerCylinder(Parameter* para)
-{
-    UbFileInputASCII in(para->getpropellerCylinder());
-    int test = 0, count = 0;
-    int maxlevel = in.readInteger();
-    in.readLine();
-
-    for (int level = 0; level < maxlevel; level++)
-    {
-        int allnodes = in.readInteger();
-        in.readLine();
-        if (level == para->getFine())
-        {
-            for(int u=0; u<allnodes; u++)
-            {
-                test = in.readInteger();
-                ////////////////////////////////////////////////////////////////////////
-                if (para->getParH(level)->typeOfGridNode[test] == GEO_FLUID)
-                {
-                    para->getParH(level)->propellerBC.k[count] = test; 
-                    para->getParH(level)->propellerBC.Vx[count] = (real)in.readDouble();
-                    para->getParH(level)->propellerBC.Vy[count] = (real)in.readDouble();
-                    para->getParH(level)->propellerBC.Vz[count] = (real)in.readDouble();
-                    para->getParH(level)->propellerBC.RhoBC[count] = 0.0f;                                    
-                    count++;
-                }
-                else
-                {
-                    in.readDouble();
-                    in.readDouble();
-                    in.readDouble();
-                }
-                //para->getParH(level)->propellerBC.k[count] = test; 
-                //para->getParH(level)->propellerBC.Vx[count] = (real)in.readDouble();
-                //para->getParH(level)->propellerBC.Vy[count] = (real)in.readDouble();
-                //para->getParH(level)->propellerBC.Vz[count] = (real)in.readDouble();
-                //para->getParH(level)->propellerBC.Vx[count]      = 0.07f;
-                //para->getParH(level)->propellerBC.Vy[count]      = 0.0f;
-                //para->getParH(level)->propellerBC.Vz[count]      = 0.0f;
-                in.readLine();
-            }
-        } 
-        else
-        {
-            for(int u=0; u<allnodes; u++)
-            {
-                in.readInteger(); 
-                in.readDouble();
-                in.readDouble();
-                in.readDouble();
-                in.readLine();
-            }
-        }
-        printf("allnodes = %d, count = %d\n", allnodes, count);
-    }
-}
-//////////////////////////////////////////////////////////////////////////
-
-
-//////////////////////////////////////////////////////////////////////////
-void PositionReader::definePropellerQs(Parameter* para)
-{
-    //////////////////////////////////////////////////////////////////
-    //preprocessing
-    real* QQ                  = para->getParH(para->getFine())->propellerBC.q27[0]; 
-    unsigned int sizeQ           = para->getParH(para->getFine())->propellerBC.numberOfBCnodes; 
-    QforBoundaryConditions Q;
-    Q.q27[dP00   ] = &QQ[dP00   *sizeQ];
-    Q.q27[dM00   ] = &QQ[dM00   *sizeQ];
-    Q.q27[d0P0   ] = &QQ[d0P0   *sizeQ];
-    Q.q27[d0M0   ] = &QQ[d0M0   *sizeQ];
-    Q.q27[d00P   ] = &QQ[d00P   *sizeQ];
-    Q.q27[d00M   ] = &QQ[d00M   *sizeQ];
-    Q.q27[dPP0  ] = &QQ[dPP0  *sizeQ];
-    Q.q27[dMM0  ] = &QQ[dMM0  *sizeQ];
-    Q.q27[dPM0  ] = &QQ[dPM0  *sizeQ];
-    Q.q27[dMP0  ] = &QQ[dMP0  *sizeQ];
-    Q.q27[dP0P  ] = &QQ[dP0P  *sizeQ];
-    Q.q27[dM0M  ] = &QQ[dM0M  *sizeQ];
-    Q.q27[dP0M  ] = &QQ[dP0M  *sizeQ];
-    Q.q27[dM0P  ] = &QQ[dM0P  *sizeQ];
-    Q.q27[d0PP  ] = &QQ[d0PP  *sizeQ];
-    Q.q27[d0MM  ] = &QQ[d0MM  *sizeQ];
-    Q.q27[d0PM  ] = &QQ[d0PM  *sizeQ];
-    Q.q27[d0MP  ] = &QQ[d0MP  *sizeQ];
-    Q.q27[d000] = &QQ[d000*sizeQ];
-    Q.q27[dPPP ] = &QQ[dPPP *sizeQ];
-    Q.q27[dMMP ] = &QQ[dMMP *sizeQ];
-    Q.q27[dPMP ] = &QQ[dPMP *sizeQ];
-    Q.q27[dMPP ] = &QQ[dMPP *sizeQ];
-    Q.q27[dPPM ] = &QQ[dPPM *sizeQ];
-    Q.q27[dMMM ] = &QQ[dMMM *sizeQ];
-    Q.q27[dPMM ] = &QQ[dPMM *sizeQ];
-    Q.q27[dMPM ] = &QQ[dMPM *sizeQ];
-    //////////////////////////////////////////////////////////////////
-    for(uint u=0; u<para->getParH(para->getFine())->propellerBC.numberOfBCnodes; u++)
-    {
-        for (size_t dir = dP00; dir<=dMMM; dir++)
-        {
-            if ((dir==dP00)  || 
-                (dir==dPP0) || (dir==dPM0) || (dir==dP0P) || (dir==dP0M) ||
-                (dir==dPPP)|| (dir==dPPM)|| (dir==dPMP)|| (dir==dPMM))
-            {
-                Q.q27[dir][u] = 1.0f;
-            } 
-            else
-            {
-                Q.q27[dir][u] = -1.0f;
-            }
-        }
-    }
-    //////////////////////////////////////////////////////////////////
-}
-//////////////////////////////////////////////////////////////////////////
-
-
 //////////////////////////////////////////////////////////////////////////
 void PositionReader::readMeasurePoints( Parameter* para ) 
 {
diff --git a/src/gpu/core/Init/PositionReader.h b/src/gpu/core/Init/PositionReader.h
index b12a17c8148f4b5b1d5b656e0c9ea04d88eee89f..16c1b02d3dc8d9aae1fb1a51f00caabbfd0b404a 100644
--- a/src/gpu/core/Init/PositionReader.h
+++ b/src/gpu/core/Init/PositionReader.h
@@ -6,9 +6,6 @@ class Parameter;
 class PositionReader
 {
 public:
-   static void readFilePropellerCylinderForAlloc(Parameter* para);
-   static void readFilePropellerCylinder(Parameter* para);
-   static void definePropellerQs(Parameter* para);
    static void readMeasurePoints(Parameter* para);
 };
 
diff --git a/src/gpu/core/Init/VfReader.cpp b/src/gpu/core/Init/VfReader.cpp
index 8a567200863cfa5ff78c24b04a619cfccf6fa036..1c15e8cda2d5906d7c7706a65f729db67f4ee239 100644
--- a/src/gpu/core/Init/VfReader.cpp
+++ b/src/gpu/core/Init/VfReader.cpp
@@ -4,19 +4,6 @@
 #include "Init/PositionReader.h"
 #include "GPU/CudaMemoryManager.h"
 
-////////////////////////////////////////////////////////////////////////////////
-void readPropellerCylinder(Parameter* para, CudaMemoryManager* cudaMemoryManager)
-{
-    PositionReader::readFilePropellerCylinderForAlloc(para);
-
-    cudaMemoryManager->cudaAllocVeloPropeller(para->getFine());
-
-    PositionReader::readFilePropellerCylinder(para);
-    //PositionReader::definePropellerQs(para);
-
-    cudaMemoryManager->cudaCopyVeloPropeller(para->getFine());
-}
-
 ////////////////////////////////////////////////////////////////////////////////
 void readMeasurePoints(Parameter* para, CudaMemoryManager* cudaMemoryManager)
 {
diff --git a/src/gpu/core/Init/VfReader.h b/src/gpu/core/Init/VfReader.h
index f8f792375f58edd61b9ec4e876245ad3a334dd81..3583b7f819828942f621023b30cb41921cf2870f 100644
--- a/src/gpu/core/Init/VfReader.h
+++ b/src/gpu/core/Init/VfReader.h
@@ -6,8 +6,6 @@ class CudaMemoryManager;
 class Parameter;
 
 
-void readPropellerCylinder(Parameter* para, CudaMemoryManager* cudaMemoryManager);
-
 void readMeasurePoints(Parameter* para, CudaMemoryManager* cudaMemoryManager);
 
 #endif