diff --git a/src/GridGenerator/grid/BoundaryConditions/Side.cpp b/src/GridGenerator/grid/BoundaryConditions/Side.cpp
index ea7a73d363309c740064316c83b95294759a11ed..9d069ef856b49d07db5fb9fbad6eff2d06b0e53f 100644
--- a/src/GridGenerator/grid/BoundaryConditions/Side.cpp
+++ b/src/GridGenerator/grid/BoundaryConditions/Side.cpp
@@ -58,20 +58,13 @@ uint Side::getIndex(SPtr<Grid> grid, std::string coord, real constant, real v1,
     return -1;
 }
 
-void Geometry::setPeriodicy(SPtr<Grid> grid)
-{
-
-}
 
 void Geometry::addIndices(SPtr<Grid> grid, SPtr<BoundaryCondition> boundaryCondition, std::map<SideType, bool> sideIsSet)
 {
 
 }
 
-void MX::setPeriodicy(SPtr<Grid> grid)
-{
-    grid->setPeriodicityX(false);
-}
+
 
 void MX::addIndices(SPtr<Grid> grid, SPtr<BoundaryCondition> boundaryCondition, std::map<SideType, bool> sideIsSet)
 {
@@ -98,10 +91,7 @@ void MX::addIndices(SPtr<Grid> grid, SPtr<BoundaryCondition> boundaryCondition,
         endInner, startOuter, endOuter);
 }
 
-void PX::setPeriodicy(SPtr<Grid> grid)
-{
-    grid->setPeriodicityX(false);
-}
+
 
 void PX::addIndices(SPtr<Grid> grid, SPtr<BoundaryCondition> boundaryCondition, std::map<SideType, bool> sideIsSet)
 {
@@ -127,11 +117,6 @@ void PX::addIndices(SPtr<Grid> grid, SPtr<BoundaryCondition> boundaryCondition,
         endInner, startOuter, endOuter);
 }
 
-void MY::setPeriodicy(SPtr<Grid> grid)
-{
-    grid->setPeriodicityY(false);
-}
-
 void MY::addIndices(SPtr<Grid> grid, SPtr<BoundaryCondition> boundaryCondition, std::map<SideType, bool> sideIsSet)
 {
     real startInner = grid->getStartX();
@@ -156,10 +141,6 @@ void MY::addIndices(SPtr<Grid> grid, SPtr<BoundaryCondition> boundaryCondition,
         endInner, startOuter, endOuter);
 }
 
-void PY::setPeriodicy(SPtr<Grid> grid)
-{
-    grid->setPeriodicityY(false);
-}
 
 void PY::addIndices(SPtr<Grid> grid, SPtr<BoundaryCondition> boundaryCondition, std::map<SideType, bool> sideIsSet)
 {
@@ -185,10 +166,6 @@ void PY::addIndices(SPtr<Grid> grid, SPtr<BoundaryCondition> boundaryCondition,
         endInner, startOuter, endOuter);
 }
 
-void MZ::setPeriodicy(SPtr<Grid> grid)
-{
-    grid->setPeriodicityZ(false);
-}
 
 void MZ::addIndices(SPtr<Grid> grid, SPtr<BoundaryCondition> boundaryCondition, std::map<SideType, bool> sideIsSet)
 {
@@ -214,11 +191,6 @@ void MZ::addIndices(SPtr<Grid> grid, SPtr<BoundaryCondition> boundaryCondition,
         endInner, startOuter, endOuter);
 }
 
-void PZ::setPeriodicy(SPtr<Grid> grid)
-{
-    grid->setPeriodicityZ(false);
-}
-
 void PZ::addIndices(SPtr<Grid> grid, SPtr<BoundaryCondition> boundaryCondition, std::map<SideType, bool> sideIsSet)
 {
     real startInner = grid->getStartX();
diff --git a/src/GridGenerator/grid/BoundaryConditions/Side.h b/src/GridGenerator/grid/BoundaryConditions/Side.h
index 7eaac59ccd88917ab0a527871e3ecb5c76d6e3e0..486e04ebe60946bf59416c7b5c59efb039eed64f 100644
--- a/src/GridGenerator/grid/BoundaryConditions/Side.h
+++ b/src/GridGenerator/grid/BoundaryConditions/Side.h
@@ -32,7 +32,6 @@ class Side
 {
 public:
     virtual void addIndices(SPtr<Grid> grid, SPtr<BoundaryCondition> boundaryCondition, std::map<SideType, bool> sideIsSet) = 0;
-    virtual void setPeriodicy(SPtr<Grid> grid) = 0;
 
     virtual int getCoordinate() const = 0;
     virtual int getDirection() const = 0;
@@ -41,6 +40,8 @@ protected:
     static void addIndices(SPtr<Grid> grid, SPtr<BoundaryCondition> boundaryCondition, std::string coord, real constant,
                            real startInner, real endInner, real startOuter, real endOuter);
 
+    static void setPressureNeighborIndices(SPtr<BoundaryCondition> boundaryCondition, SPtr<Grid> grid, const uint index);
+
 private:
     static uint getIndex(SPtr<Grid> grid, std::string coord, real constant, real v1, real v2);
 };
@@ -48,7 +49,6 @@ private:
 class Geometry : public Side
 {
 public:
-    void setPeriodicy(SPtr<Grid> grid) override;
     void addIndices(SPtr<Grid> grid, SPtr<BoundaryCondition> boundaryCondition, std::map<SideType, bool> sideIsSet) override;
 
     int getCoordinate() const override
@@ -65,7 +65,6 @@ public:
 class MX : public Side
 {
 public:
-    void setPeriodicy(SPtr<Grid> grid) override;
     void addIndices(SPtr<Grid> grid, SPtr<BoundaryCondition> boundaryCondition, std::map<SideType, bool> sideIsSet) override;
 
     int getCoordinate() const override
@@ -82,8 +81,6 @@ public:
 class PX : public Side
 {
 public:
-    void setPeriodicy(SPtr<Grid> grid) override;
-
     void addIndices(SPtr<Grid> grid, SPtr<BoundaryCondition> boundaryCondition, std::map<SideType, bool> sideIsSet) override;
 
     int getCoordinate() const override
@@ -101,8 +98,6 @@ public:
 class MY : public Side
 {
 public:
-    void setPeriodicy(SPtr<Grid> grid) override;
-
     void addIndices(SPtr<Grid> grid, SPtr<BoundaryCondition> boundaryCondition, std::map<SideType, bool> sideIsSet) override;
 
     int getCoordinate() const override
@@ -119,8 +114,6 @@ public:
 class PY : public Side
 {
 public:
-    void setPeriodicy(SPtr<Grid> grid) override;
-
     void addIndices(SPtr<Grid> grid, SPtr<BoundaryCondition> boundaryCondition, std::map<SideType, bool> sideIsSet) override;
 
     int getCoordinate() const override
@@ -138,8 +131,6 @@ public:
 class MZ : public Side
 {
 public:
-    void setPeriodicy(SPtr<Grid> grid) override;
-
     void addIndices(SPtr<Grid> grid, SPtr<BoundaryCondition> boundaryCondition, std::map<SideType, bool> sideIsSet) override;
 
     int getCoordinate() const override
@@ -156,8 +147,6 @@ public:
 class PZ : public Side
 {
 public:
-    void setPeriodicy(SPtr<Grid> grid) override;
-
     void addIndices(SPtr<Grid> grid, SPtr<BoundaryCondition> boundaryCondition, std::map<SideType, bool> sideIsSet) override;
 
     int getCoordinate() const override
diff --git a/src/GridGenerator/grid/GridBuilder/LevelGridBuilder.cpp b/src/GridGenerator/grid/GridBuilder/LevelGridBuilder.cpp
index a02f4c6857a183a6de65f259f11a691f79cd231e..12607b335d260f5d65a595a6d9769075a6336b3f 100644
--- a/src/GridGenerator/grid/GridBuilder/LevelGridBuilder.cpp
+++ b/src/GridGenerator/grid/GridBuilder/LevelGridBuilder.cpp
@@ -63,7 +63,6 @@ void LevelGridBuilder::setVelocityBoundaryCondition(SideType sideType, real vx,
 
     auto side = SideFactory::make(sideType);
 
-    side->setPeriodicy(grids[0]);
     velocityBoundaryConditions.push_back(velocityBoundaryCondition);
     velocityBoundaryCondition->side = side;
 }
@@ -76,7 +75,6 @@ void LevelGridBuilder::setPressureBoundaryCondition(SideType sideType, real rho)
 
     auto side = SideFactory::make(sideType);
 
-    side->setPeriodicy(grids[0]);
     pressureBoundaryConditions.push_back(pressureBoundaryCondition);
     pressureBoundaryCondition->side = side;
 }
diff --git a/src/GridGenerator/grid/GridBuilder/MultipleGridBuilder.cpp b/src/GridGenerator/grid/GridBuilder/MultipleGridBuilder.cpp
index 928ce9971e881bb4e30fdfc96639a1e1c75600c7..4ca99c08c9e79cf957cc422664ca486103967935 100644
--- a/src/GridGenerator/grid/GridBuilder/MultipleGridBuilder.cpp
+++ b/src/GridGenerator/grid/GridBuilder/MultipleGridBuilder.cpp
@@ -250,9 +250,6 @@ std::vector<SPtr<Grid> > MultipleGridBuilder::getGrids() const
 
 void MultipleGridBuilder::buildGrids()
 {
-    for (size_t i = 1; i < grids.size(); i++)
-        grids[i]->setPeriodicity(false, false, false);
-
     for (auto grid : grids)
         grid->inital();
 
diff --git a/src/GridGenerator/grid/GridImp.h b/src/GridGenerator/grid/GridImp.h
index 40b88ece864a883361de345c847860c25e8d3c3b..54c35239a6a1775d42cd844d633c647399d019fa 100644
--- a/src/GridGenerator/grid/GridImp.h
+++ b/src/GridGenerator/grid/GridImp.h
@@ -54,7 +54,7 @@ private:
 
 	uint size;
     uint sparseSize;
-    bool periodicityX = true, periodicityY = true, periodicityZ = true;
+    bool periodicityX = false, periodicityY = false, periodicityZ = false;
 
     Field field;
     Object* object;
diff --git a/targets/apps/HULC/main.cpp b/targets/apps/HULC/main.cpp
index 8022ad6a44843060f0941a5ebe196e69edbc27bf..f07109d53423ea4000e186afd09c48d2b84b80e2 100644
--- a/targets/apps/HULC/main.cpp
+++ b/targets/apps/HULC/main.cpp
@@ -280,6 +280,7 @@ void multipleLevel(const std::string& configPath)
 
     gridBuilder->setVelocityBoundaryCondition(SideType::MX, 0.001, 0.0, 0.0);
     gridBuilder->setPressureBoundaryCondition(SideType::PX, 0.001);
+
     //gridBuilder->setVelocityBoundaryCondition(SideType::PX, 0.001, 0.0, 0.0);
     //gridBuilder->setVelocityBoundaryCondition(SideType::MY, 0.001, 0.0, 0.0);
     //gridBuilder->setVelocityBoundaryCondition(SideType::PY, 0.001, 0.0, 0.0);