diff --git a/apps/gpu/LBM/ActuatorLine/ActuatorLine.cpp b/apps/gpu/LBM/ActuatorLine/ActuatorLine.cpp
index 117287abf2378e1416aa7fe1c8275c265233e294..df18067a764151a1b9af50a4f2e46b3a0d46484e 100644
--- a/apps/gpu/LBM/ActuatorLine/ActuatorLine.cpp
+++ b/apps/gpu/LBM/ActuatorLine/ActuatorLine.cpp
@@ -96,7 +96,7 @@ void multipleLevel(const std::string& configPath)
     const real velocity = config.getValue<real>("Velocity");
 
 
-    const real L_x = 16*reference_diameter;
+    const real L_x = 24*reference_diameter;
     const real L_y = 6*reference_diameter;
     const real L_z = 6*reference_diameter;
 
@@ -128,11 +128,11 @@ void multipleLevel(const std::string& configPath)
 	gridBuilder->addCoarseGrid(0.0, 0.0, 0.0,
 							   L_x,  L_y,  L_z, dx);
 
-    // gridBuilder->setNumberOfLayers(4,0);
-    // gridBuilder->addGrid( new Cuboid(   turbPos[0]-1.5*reference_diameter,  turbPos[1]-1.5*reference_diameter,  turbPos[2]-1.5*reference_diameter, 
-    //                                     turbPos[0]+10.0*reference_diameter, turbPos[1]+1.5*reference_diameter,  turbPos[2]+1.5*reference_diameter) , 1 );
-    // para->setMaxLevel(2);
-    // scalingFactory.setScalingFactory(GridScalingFactory::GridScaling::ScaleCompressible);
+    gridBuilder->setNumberOfLayers(4,0);
+    gridBuilder->addGrid( new Cuboid(   turbPos[0]-1.5*reference_diameter,  turbPos[1]-1.5*reference_diameter,  turbPos[2]-1.5*reference_diameter, 
+                                        turbPos[0]+10.0*reference_diameter, turbPos[1]+1.5*reference_diameter,  turbPos[2]+1.5*reference_diameter) , 1 );
+    para->setMaxLevel(2);
+    scalingFactory.setScalingFactory(GridScalingFactory::GridScaling::ScaleCompressible);
 
 	gridBuilder->setPeriodicBoundaryCondition(false, false, false);
 
@@ -157,9 +157,6 @@ void multipleLevel(const std::string& configPath)
 
     para->setPrintFiles(true);
 
-    para->setMaxLevel(1);
-
-
     para->setVelocityLB(velocityLB);
     para->setViscosityLB(viscosityLB);
     para->setVelocityRatio( dx / dt );
@@ -173,10 +170,12 @@ void multipleLevel(const std::string& configPath)
         vz  = (real)0.0;
     });
 
+    para->setTimestepStartOut( uint(tStartOut/dt) );
     para->setTimestepOut( uint(tOut/dt) );
     para->setTimestepEnd( uint(tEnd/dt) );
 
     para->setIsBodyForce( true );
+    para->setUseStreams( true );
 
     /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
@@ -196,12 +195,14 @@ void multipleLevel(const std::string& configPath)
 
     ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
-    real epsilon = 5.f; // width of gaussian smearing
-    real density = 1.225f;
-    int level = 0;
-    uint nBlades = 3;
-    uint nBladeNodes = 32;
-    real omega = 1.0f;
+    int level = 1; // grid level at which the turbine samples velocities and distributes forces
+    const real epsilon = dx*exp2(-level)*1.5; // width of gaussian smearing
+    const real density = 1.225f;
+    const uint nBlades = 3;
+    const uint nBladeNodes = 32;
+    const real tipspeed_ratio = 7.5f; // tipspeed ratio = angular vel * radius / inflow vel
+    const real omega = 2*tipspeed_ratio*velocity/reference_diameter;
+    
 
     SPtr<ActuatorFarm> actuator_farm = std::make_shared<ActuatorFarm>(nBlades, density, nBladeNodes, epsilon, level, dt, dx, true);
     std::vector<real> bladeRadii;
diff --git a/apps/gpu/LBM/ActuatorLine/configActuatorLine.txt b/apps/gpu/LBM/ActuatorLine/configActuatorLine.txt
index d4be0a6dba11d311d075c5496204cbb0f5d27c21..5799f24716777295b2f835ab00561ff767ba87b9 100644
--- a/apps/gpu/LBM/ActuatorLine/configActuatorLine.txt
+++ b/apps/gpu/LBM/ActuatorLine/configActuatorLine.txt
@@ -11,7 +11,7 @@ ReferenceDiameter=126
 NodesPerDiameter=32
 Velocity=9
 ##################################################
-tStartOut=500
+tStartOut=100
 tOut=100
 tEnd=1000
 ##################################################
@@ -21,4 +21,14 @@ tStartAveraging=100
 tAveraging=100
 tTmpAveraging=100
 tStartOutProbe=100
-tOutProbe=100
\ No newline at end of file
+tOutProbe=100
+
+##################################################
+#TurbulenceModel = QR
+#SGSconstant = 0.3333333
+#
+#QuadricLimiterP = 100000.0
+#QuadricLimiterM = 100000.0
+#QuadricLimiterD = 100000.0
+##################################################
+
diff --git a/src/gpu/VirtualFluids_GPU/PreCollisionInteractor/ActuatorFarm.cu b/src/gpu/VirtualFluids_GPU/PreCollisionInteractor/ActuatorFarm.cu
index 75c6ee9cfd61e694eb8f229b04e8e2e2e1b4d4b7..ef74653d6955c0613f0c0388039c7ecce742dcf5 100644
--- a/src/gpu/VirtualFluids_GPU/PreCollisionInteractor/ActuatorFarm.cu
+++ b/src/gpu/VirtualFluids_GPU/PreCollisionInteractor/ActuatorFarm.cu
@@ -341,7 +341,7 @@ void ActuatorFarm::calcForcesEllipticWing()
     real phi;
     real Cl = c1o1;
     real Cd = c0o1;
-    real c0 = c1o1;
+    real c0 = 20*c1o10;
     real c, Cn, Ct;
     for(uint turbine=0; turbine<this->numberOfTurbines; turbine++)
     {
@@ -361,11 +361,15 @@ void ActuatorFarm::calcForcesEllipticWing()
                 c = c0 * sqrt( c1o1- tmp*tmp );
                 Cn = Cl*cos(phi)+Cd*sin(phi);
                 Ct = Cl*sin(phi)-Cd*cos(phi);
-                this->bladeForcesXH[node] = -c1o2*u_rel_sq*c*this->density*Cn;
-                this->bladeForcesYH[node] = -c1o2*u_rel_sq*c*this->density*Ct;
+                real fx = c1o2*u_rel_sq*c*this->density*Cn;
+                real fy = c1o2*u_rel_sq*c*this->density*Ct;
+                this->bladeForcesXH[node] = -fx;
+                this->bladeForcesYH[node] = -fy;
                 this->bladeForcesZH[node] = c0o1;
+                // printf("u %f v %f fx %f fy %f \n", u_rel, v_rel, fx, fy);
             }
         }
+        azimuthsH[turbine] = azimuthsH[turbine]+deltaT*omegasH[turbine];
     }
 }
 
diff --git a/src/gpu/VirtualFluids_GPU/PreCollisionInteractor/ActuatorFarm.h b/src/gpu/VirtualFluids_GPU/PreCollisionInteractor/ActuatorFarm.h
index 12b552d239af5ff9399bec8afd8171477afd3099..d5b089177e1c994036cbe95c7ec6b5e08b6abb15 100644
--- a/src/gpu/VirtualFluids_GPU/PreCollisionInteractor/ActuatorFarm.h
+++ b/src/gpu/VirtualFluids_GPU/PreCollisionInteractor/ActuatorFarm.h
@@ -32,8 +32,8 @@ public:
         numberOfNodes(0),
         PreCollisionInteractor()
     {
-        this->deltaT = _deltaX/pow(2,this->level);
-        this->deltaX = _deltaX/pow(2,this->level);
+        this->deltaT = _deltaT*exp2(-this->level);
+        this->deltaX = _deltaX*exp2(-this->level);
         this->invEpsilonSqrd = 1/(epsilon*epsilon);
         this->invDeltaX = c1o1/this->deltaX;
     }