diff --git a/apps/benchmarks/ComplexGeometry/CMakeLists.txt b/apps/benchmarks/ComplexGeometry/CMakeLists.txt
index 1a4bca93490261808161c24120837c1842d9f8bc..583b9426437a0844be2949ed65f242333a457ed1 100644
--- a/apps/benchmarks/ComplexGeometry/CMakeLists.txt
+++ b/apps/benchmarks/ComplexGeometry/CMakeLists.txt
@@ -3,7 +3,7 @@ if ( WALBERLA_BUILD_WITH_OPENMESH )
 	waLBerla_link_files_to_builddir( "*.obj" )                 
    waLBerla_link_files_to_builddir( "*.conf" )  
                                   
-	waLBerla_add_executable( NAME ComplexGeometry DEPENDS boundary core lbm mesh vtk )
+	waLBerla_add_executable( NAME ComplexGeometry FILES ComplexGeometry.cpp ComplexGeometryLatticeModel.gen.py DEPENDS boundary core lbm mesh vtk )
 
 	##############
 	# Some tests #
diff --git a/apps/benchmarks/ComplexGeometry/ComplexGeometry.cpp b/apps/benchmarks/ComplexGeometry/ComplexGeometry.cpp
index 590e14083df6a4d668e7d31d7c8d580d72c35d94..6dc4ace06c8b64cf1d0b1af1ba50352814ab477b 100644
--- a/apps/benchmarks/ComplexGeometry/ComplexGeometry.cpp
+++ b/apps/benchmarks/ComplexGeometry/ComplexGeometry.cpp
@@ -19,6 +19,8 @@
 //
 //======================================================================================================================
 
+#include "ComplexGeometryLatticeModel.h"
+
 #include "blockforest/Initialization.h"
 #include "blockforest/SetupBlockForest.h"
 #include "blockforest/communication/UniformBufferedScheme.h"
@@ -37,10 +39,14 @@
 #include "lbm/boundary/factories/DefaultBoundaryHandling.h"
 #include "lbm/communication/PdfFieldPackInfo.h"
 #include "lbm/communication/SparsePdfFieldPackInfo.h"
+#include "lbm/field/AddToStorage.h"
 #include "lbm/lattice_model/D3Q19.h"
+#include "lbm/lattice_model/D3Q27.h"
 #include "lbm/lattice_model/CollisionModel.h"
-#include "lbm/field/AddToStorage.h"
+#include "lbm/lattice_model/ForceModel.h"
+#include "lbm/refinement/TimeStep.h"
 #include "lbm/sweeps/CellwiseSweep.h"
+#include "lbm/sweeps/SplitPureSweep.h"
 #include "lbm/vtk/VTKOutput.h"
 #include "lbm/BlockForestEvaluation.h"
 #include "lbm/PerformanceEvaluation.h"
@@ -48,6 +54,7 @@
 
 #include "geometry/mesh/TriangleMesh.h"
 #include "geometry/mesh/TriangleMeshIO.h"
+#include "geometry/InitBoundaryHandling.h"
 
 #include "mesh/TriangleMeshes.h"
 #include "mesh/MeshOperations.h"
@@ -57,6 +64,7 @@
 #include "mesh/blockforest/BlockForestInitialization.h"
 #include "mesh/blockforest/BlockWorkloadMemory.h"
 #include "mesh/blockforest/BlockExclusion.h"
+#include "mesh/blockforest/RefinementSelection.h"
 #include "mesh/distance_octree/DistanceOctree.h"
 #include "mesh/boundary/BoundarySetup.h"
 #include "mesh/boundary/BoundaryInfo.h"
@@ -159,7 +167,6 @@ int main( int argc, char * argv[] )
       WALBERLA_ABORT_NO_DEBUG_INFO( "USAGE: " << argv[0] << " INPUT_FILE" );
    }
 
-   mpi::MPIManager::instance()->useWorldComm();
    mpi::MPIManager::instance()->useWorldComm();
 
    const auto & config = *( env.config() );
@@ -193,25 +200,34 @@ int main( int argc, char * argv[] )
    distanceOctree->writeVTKOutput("distanceOctree");
 
    auto aabb = computeAABB( *mesh );
-   aabb.scale( real_t(1.3) );
+   aabb.scale( real_t(6 ) );
+   aabb = AABB( aabb.xMin(), aabb.yMin(), aabb.zMin(), aabb.xMax() + real_t(3) * aabb.xSize(), aabb.yMax(), aabb.zMax() );
 
-   mesh::ComplexGeometryStructuredBlockforestCreator bfc( aabb, Vector3<real_t>( dx ), mesh::makeExcludeMeshExterior( distanceOctree, dx ) );
+   mesh::ComplexGeometryStructuredBlockforestCreator bfc( aabb, Vector3<real_t>( dx ), mesh::makeExcludeMeshInterior( distanceOctree, dx ) );
    auto meshWorkloadMemory = mesh::makeMeshWorkloadMemory( distanceOctree, dx );
-   meshWorkloadMemory.setInsideCellWorkload(0);
+   meshWorkloadMemory.setInsideCellWorkload(1);
    meshWorkloadMemory.setOutsideCellWorkload(1);
    bfc.setWorkloadMemorySUIDAssignmentFunction( meshWorkloadMemory );
    bfc.setPeriodicity( Vector3<bool>(true) );
+   bfc.setRefinementSelectionFunction( makeRefinementSelection( distanceOctree, 3, dx, dx * real_t(1) ) );
+
+   //auto structuredBlockforest = bfc.createStructuredBlockForest( blockPerProcess * numProcesses );
+   auto structuredBlockforest = bfc.createStructuredBlockForest( Vector3<uint_t>( 16 ) );
 
-   auto structuredBlockforest = bfc.createStructuredBlockForest( blockPerProcess * numProcesses );
+   //typedef lbm::D3Q19<lbm::collision_model::SRT, false, lbm::force_model::SimpleConstant> LatticeModel_T;
+   typedef lbm::ComplexGeometryLatticeModel LatticeModel_T;
 
-   typedef lbm::D3Q19<lbm::collision_model::TRT, false, lbm::force_model::SimpleConstant> LatticeModel_T;
    typedef walberla::uint8_t                     flag_t;
    typedef FlagField< flag_t >                   FlagField_T;
    typedef lbm::PdfField< LatticeModel_T >       PdfField_T;
 
-   LatticeModel_T latticeModel( lbm::collision_model::TRT::constructWithMagicNumber( omega ), lbm::force_model::SimpleConstant( bodyForce ) );
-   BlockDataID pdfFieldId = lbm::addPdfFieldToStorage( structuredBlockforest, "pdf field", latticeModel, Vector3<real_t>(0), real_t(1) );
-   BlockDataID flagFieldId = field::addFlagFieldToStorage< FlagField_T >( structuredBlockforest, "flag field" );
+   //LatticeModel_T latticeModel{ lbm::collision_model::SRT( omega ), lbm::force_model::SimpleConstant( bodyForce ) };
+   LatticeModel_T latticeModel{ bodyForce[0], bodyForce[1], bodyForce[2], omega };
+
+   static const uint_t NUM_GHOSTLAYERS = 4;
+
+   BlockDataID pdfFieldId = lbm::addPdfFieldToStorage( structuredBlockforest, "pdf field", latticeModel, Vector3<real_t>(0), real_t(1), NUM_GHOSTLAYERS, field::fzyx );
+   BlockDataID flagFieldId = field::addFlagFieldToStorage< FlagField_T >( structuredBlockforest, "flag field", NUM_GHOSTLAYERS );
 
    const FlagUID fluidFlagUID( "Fluid" );
    typedef lbm::DefaultBoundaryHandlingFactory< LatticeModel_T, FlagField_T > BHFactory;
@@ -226,9 +242,9 @@ int main( int argc, char * argv[] )
 
    mesh::ColorToBoundaryMapper<mesh::TriangleMesh> colorToBoundryMapper(( mesh::BoundaryInfo( BHFactory::getNoSlipBoundaryUID() ) ));
 
-   colorToBoundryMapper.set( mesh::TriangleMesh::Color(255,0,0), mesh::BoundaryInfo( BHFactory::getPressure0BoundaryUID() ) );
-   colorToBoundryMapper.set( mesh::TriangleMesh::Color(0,0,255), mesh::BoundaryInfo( BHFactory::getPressure1BoundaryUID() ) );
-   colorToBoundryMapper.set( mesh::TriangleMesh::Color(255,255,255), mesh::BoundaryInfo( BHFactory::getNoSlipBoundaryUID() ) );
+  // colorToBoundryMapper.set( mesh::TriangleMesh::Color(255,0,0), mesh::BoundaryInfo( BHFactory::getPressure0BoundaryUID() ) );
+  // colorToBoundryMapper.set( mesh::TriangleMesh::Color(0,0,255), mesh::BoundaryInfo( BHFactory::getPressure1BoundaryUID() ) );
+  // colorToBoundryMapper.set( mesh::TriangleMesh::Color(255,255,255), mesh::BoundaryInfo( BHFactory::getNoSlipBoundaryUID() ) );
 
    auto boundaryLocations = colorToBoundryMapper.addBoundaryInfoToMesh( *mesh );
 
@@ -239,32 +255,41 @@ int main( int argc, char * argv[] )
    meshWriter();
 
    WALBERLA_LOG_DEVEL( "Voxelising mesh" );
-   mesh::BoundarySetup boundarySetup( structuredBlockforest, makeMeshDistanceFunction( distanceOctree ), uint_t(1) );
+   mesh::BoundarySetup boundarySetup( structuredBlockforest, makeMeshDistanceFunction( distanceOctree ), NUM_GHOSTLAYERS );
    //WALBERLA_LOG_DEVEL( "Writing Voxelisation" );
    //boundarySetup.writeVTKVoxelfile();
    WALBERLA_LOG_DEVEL( "Setting up fluid cells" );
-   boundarySetup.setDomainCells<BHFactory::BoundaryHandling>( boundaryHandlingId, mesh::BoundarySetup::INSIDE );
+   boundarySetup.setDomainCells<BHFactory::BoundaryHandling>( boundaryHandlingId, mesh::BoundarySetup::OUTSIDE );
    WALBERLA_LOG_DEVEL( "Setting up boundaries" );
-   boundarySetup.setBoundaries<BHFactory::BoundaryHandling>( boundaryHandlingId, makeBoundaryLocationFunction( distanceOctree, boundaryLocations ), mesh::BoundarySetup::OUTSIDE );
+   boundarySetup.setBoundaries<BHFactory::BoundaryHandling>( boundaryHandlingId, makeBoundaryLocationFunction( distanceOctree, boundaryLocations ), mesh::BoundarySetup::INSIDE );
    WALBERLA_LOG_DEVEL( "done" );
 
+   //geometry::setNonBoundaryCellsToDomain<BHFactory::BoundaryHandling> ( *structuredBlockforest, boundaryHandlingId );
+
    lbm::BlockForestEvaluation<FlagField_T>( structuredBlockforest, flagFieldId, fluidFlagUID ).logInfoOnRoot();
    lbm::PerformanceLogger<FlagField_T> perfLogger( structuredBlockforest, flagFieldId, fluidFlagUID, 100 );
 
    SweepTimeloop timeloop( structuredBlockforest->getBlockStorage(), timeSteps );
 
-   blockforest::communication::UniformBufferedScheme< stencil::D3Q19 > communication( structuredBlockforest );
-
-
-   if(sparseCommunication)
-      communication.addPackInfo( make_shared< lbm::SparsePdfFieldPackInfo< LatticeModel_T, FlagField_T > >( pdfFieldId, flagFieldId, fluidFlagUID, true ) );
-   else
-      communication.addPackInfo( make_shared< lbm::PdfFieldPackInfo< LatticeModel_T > >( pdfFieldId ) );
-
-   timeloop.add() << BeforeFunction( communication, "communication" )
-                  << Sweep( BHFactory::BoundaryHandling::getBlockSweep( boundaryHandlingId ), "boundary handling" );
+   //blockforest::communication::UniformBufferedScheme< stencil::D3Q19 > communication( structuredBlockforest );
+   //
+   //
+   //if(sparseCommunication)
+   //   communication.addPackInfo( make_shared< lbm::SparsePdfFieldPackInfo< LatticeModel_T, FlagField_T > >( pdfFieldId, flagFieldId, fluidFlagUID, true ) );
+   //else
+   //   communication.addPackInfo( make_shared< lbm::PdfFieldPackInfo< LatticeModel_T > >( pdfFieldId ) );
+   //
+   //timeloop.add() << BeforeFunction( communication, "communication" )
+   //               << Sweep( BHFactory::BoundaryHandling::getBlockSweep( boundaryHandlingId ), "boundary handling" );
+   //
+   ////timeloop.add() << Sweep( makeSharedSweep( lbm::makeCellwiseSweep< LatticeModel_T, FlagField_T >( pdfFieldId, flagFieldId, fluidFlagUID ) ), "LB stream & collide" );
+   //timeloop.add() << Sweep( LatticeModel_T::Sweep( pdfFieldId ), "LB stream & collide" );
+
+   auto sweep = make_shared< LatticeModel_T::Sweep >( pdfFieldId );
+   //auto sweep = lbm::makeCellwiseSweep< LatticeModel_T, FlagField_T >( pdfFieldId, flagFieldId, fluidFlagUID );
+   auto refinementTimeStep = lbm::refinement::makeTimeStep<LatticeModel_T, BHFactory::BoundaryHandling > ( structuredBlockforest, sweep, pdfFieldId, boundaryHandlingId );
+   timeloop.addFuncBeforeTimeStep( makeSharedFunctor( refinementTimeStep ), "Refinement time step" );
 
-   timeloop.add() << Sweep( makeSharedSweep( lbm::makeCellwiseSweep< LatticeModel_T, FlagField_T >( pdfFieldId, flagFieldId, fluidFlagUID ) ), "LB stream & collide" );
 
    // log remaining time
    timeloop.addFuncAfterTimeStep( timing::RemainingTimeLogger( timeloop.getNrOfTimeSteps() ), "remaining time logger" );
diff --git a/apps/benchmarks/ComplexGeometry/ComplexGeometryLatticeModel.gen.py b/apps/benchmarks/ComplexGeometry/ComplexGeometryLatticeModel.gen.py
new file mode 100644
index 0000000000000000000000000000000000000000..5b02a1f5df2b8206ffa2eb7220f3e21680851670
--- /dev/null
+++ b/apps/benchmarks/ComplexGeometry/ComplexGeometryLatticeModel.gen.py
@@ -0,0 +1,18 @@
+import sympy as sp
+from lbmpy_walberla import Field, generateLatticeModelFiles, RefinementScaling
+
+#forceField = Field.createGeneric('force', spatialDimensions=3, indexDimensions=1, layout='c')
+#force = [forceField(0), forceField(1), forceField(2)]
+
+force = sp.symbols("force_:3")
+#omega = sp.Symbol( "omega" )
+omega = sp.symbols( "omega_:2" )
+
+scaling = RefinementScaling()
+scaling.addStandardRelaxationRateScaling(omega[0])
+scaling.addForceScaling(force)
+
+
+generateLatticeModelFiles(method='trt-kbc-n4', stencil='D3Q27', relaxationRates=omega, forceModel='guo', force=force, compressible=True, refinementScaling=scaling, entropic=True, optimizationParams={'split': False, 'doOverallCse' : True, 'doCseInOpposingDirections' : False} )
+#generateLatticeModelFiles(method='srt', relaxationRates=[omega], stencil='D3Q19', forceModel='simple', force=force, refinementScaling=scaling, optimizationParams={'split': True, 'doOverallCse' : True, 'doCseInOpposingDirections' : True} )
+
diff --git a/apps/benchmarks/ComplexGeometry/input.conf b/apps/benchmarks/ComplexGeometry/input.conf
index 0e7b293b7d1c7595e4de52bdf9ae8e0f70d1e4d5..141867647259d0978c4783ead4dfe1bd86845368 100644
--- a/apps/benchmarks/ComplexGeometry/input.conf
+++ b/apps/benchmarks/ComplexGeometry/input.conf
@@ -1,12 +1,50 @@
 ComplexGeometry {
-   meshFile         cube.obj;
-   dx               0.1;
-   blocksPerProcess 6;
-   timeSteps 10;
-   omega 1.4;
+   meshFile         bunny.obj;
+   dx               4;
+   blocksPerProcess 1;
+   timeSteps 5001;
+   omega 1.999;
    bodyForce <0.0001, 0, 0>;
    
    Boundaries {
 }
 }
 
+
+VTK {
+
+   fluid // identifier for this VTKOutput object
+   {
+      writeFrequency          10;
+
+      inclusion_filters
+      {
+         DomainFilter;
+      }
+
+      writers // (AT LEAST ONE IS MANDATORY [exception: if outputDomainDecomposition == true,
+              // no writers are allowed!], APPLICATION-DEPENDENT!)
+      {
+         Velocity;
+         Density;
+      }
+   }
+   
+   flags // identifier for this VTKOutput object
+   {
+      writeFrequency 999999999999999;
+
+      writers // (AT LEAST ONE IS MANDATORY [exception: if outputDomainDecomposition == true,
+              // no writers are allowed!], APPLICATION-DEPENDENT!)
+      {
+         FlagField;
+      }
+   }
+   
+   domain_decomposition // identifier for this VTKOutput object
+   {
+      writeFrequency 999999999999999;
+
+      outputDomainDecomposition true;
+   }
+}
\ No newline at end of file
diff --git a/apps/benchmarks/ComplexGeometry/sphere.obj b/apps/benchmarks/ComplexGeometry/sphere.obj
new file mode 100644
index 0000000000000000000000000000000000000000..fe2137ffeddca159ace5518686aea53718338c2d
--- /dev/null
+++ b/apps/benchmarks/ComplexGeometry/sphere.obj
@@ -0,0 +1,220 @@
+####
+#
+# OBJ File Generated by Meshlab
+#
+####
+# Object sphere.obj
+#
+# Vertices: 52
+# Faces: 100
+#
+####
+vn 3.203486 0.106207 4.556782
+v 0.589717 0.013032 0.847959 0.752941 0.752941 0.752941
+vn 5.019849 1.775524 1.684732
+v 0.919162 0.323653 0.317881 0.752941 0.752941 0.752941
+vn 2.435736 2.603171 4.338618
+v 0.454446 0.492016 0.779993 0.752941 0.752941 0.752941
+vn 1.166519 4.432512 3.718873
+v 0.245629 0.761303 0.617920 0.752941 0.752941 0.752941
+vn 3.325176 4.334585 2.054782
+v 0.568591 0.771892 0.343297 0.752941 0.752941 0.752941
+vn 0.595211 5.541665 1.103712
+v 0.110726 0.991360 0.237197 0.752941 0.752941 0.752941
+vn -3.776296 0.767626 4.266579
+v -0.688569 0.139508 0.738187 0.000000 1.000000 0.000000
+vn -1.312800 2.808851 4.706018
+v -0.270132 0.525142 0.837286 0.000000 1.000000 0.000000
+vn -3.673248 3.342919 3.246579
+v -0.616965 0.568913 0.559955 0.000000 1.000000 0.000000
+vn -5.184217 1.765921 1.597865
+v -0.913888 0.321159 0.322155 0.000000 1.000000 0.000000
+vn -1.576481 4.921260 2.246386
+v -0.288050 0.891505 0.427122 0.000000 1.000000 0.000000
+vn -3.631493 4.235586 0.210513
+v -0.677783 0.771802 0.054808 0.000000 1.000000 0.000000
+vn 5.347003 -0.730677 2.243891
+v 0.939495 -0.137963 0.353373 0.752941 0.752941 0.752941
+vn 3.090607 -2.164615 4.376353
+v 0.564054 -0.405378 0.749705 0.752941 0.752941 0.752941
+vn 4.139648 -3.083573 2.833979
+v 0.686938 -0.535204 0.519371 0.752941 0.752941 0.752941
+vn 5.547247 -1.363092 0.328926
+v 0.988626 -0.269261 0.045694 0.752941 0.752941 0.752941
+vn 1.196453 -3.595379 4.241168
+v 0.225855 -0.666498 0.743600 0.752941 0.752941 0.752941
+vn 3.440788 -4.400445 1.622125
+v 0.605470 -0.764079 0.286901 0.752941 0.752941 0.752941
+vn 1.483118 -5.448192 -0.612228
+v 0.268689 -0.989603 -0.074576 0.752941 0.752941 0.752941
+vn -5.131380 -1.139949 2.118813
+v -0.938366 -0.205491 0.365196 0.000000 1.000000 0.000000
+vn -0.148252 -0.090956 5.329934
+v -0.029807 -0.012393 1.044330 0.752941 0.752941 0.752941
+vn -2.941041 -1.873027 4.366208
+v -0.544021 -0.347070 0.802954 0.752941 0.752941 0.752941
+vn -4.510469 -3.611316 0.273923
+v -0.799559 -0.630144 0.056333 0.752941 0.752941 0.752941
+vn -1.222675 -3.813472 4.059360
+v -0.223449 -0.686099 0.721907 0.752941 0.752941 0.752941
+vn -3.177381 -4.314878 2.055289
+v -0.568591 -0.771892 0.343297 0.752941 0.752941 0.752941
+vn 0.555067 -5.357186 2.097567
+v 0.103775 -0.959491 0.337408 0.752941 0.752941 0.752941
+vn -1.424179 -5.441336 0.261796
+v -0.242174 -0.999619 0.061062 0.752941 0.752941 0.752941
+vn 0.603496 0.876270 -5.566095
+v 0.094800 0.183733 -1.001620 0.752941 0.752941 0.752941
+vn 3.764494 0.845602 -4.219594
+v 0.688569 0.139508 -0.738187 0.752941 0.752941 0.752941
+vn 1.567199 2.909075 -4.657190
+v 0.270132 0.525142 -0.837286 0.752941 0.752941 0.752941
+vn 3.565448 3.772605 -2.549637
+v 0.615553 0.702721 -0.424646 0.752941 0.752941 0.752941
+vn 5.162828 1.763767 -1.614322
+v 0.913888 0.321159 -0.322155 0.752941 0.752941 0.752941
+vn 1.324314 5.031288 -2.331577
+v 0.253180 0.897558 -0.437313 0.752941 0.752941 0.752941
+vn 3.629731 4.384550 -0.093890
+v 0.650335 0.795689 -0.024263 0.752941 0.752941 0.752941
+vn -4.043519 0.309797 -4.155685
+v -0.705153 0.056764 -0.729210 0.000000 1.000000 0.000000
+vn -2.307409 1.462065 -5.138504
+v -0.415375 0.253185 -0.890210 0.752941 0.752941 0.752941
+vn -3.353315 3.567168 -2.854749
+v -0.600441 0.642788 -0.533812 0.000000 1.000000 0.000000
+vn -5.130730 1.780599 -1.582083
+v -0.919162 0.323653 -0.317881 0.000000 1.000000 0.000000
+vn -1.144898 3.843270 -4.171122
+v -0.223449 0.686099 -0.721907 0.752941 0.752941 0.752941
+vn -0.991535 5.441091 -1.454840
+v -0.143287 0.963273 -0.301638 0.000000 1.000000 0.000000
+vn 5.131380 -1.139949 -2.118813
+v 0.938366 -0.205491 -0.365196 0.752941 0.752941 0.752941
+vn 2.875490 -1.819046 -4.391660
+v 0.544021 -0.347070 -0.802954 0.752941 0.752941 0.752941
+vn 4.525778 -3.601130 -0.274730
+v 0.799559 -0.630144 -0.056333 0.752941 0.752941 0.752941
+vn 1.250127 -3.837570 -4.049940
+v 0.223449 -0.686099 -0.721907 0.752941 0.752941 0.752941
+vn 3.198936 -4.303796 -2.086038
+v 0.568591 -0.771892 -0.343297 0.752941 0.752941 0.752941
+vn -0.857578 -1.469198 -5.294847
+v -0.187308 -0.267522 -0.979869 0.752941 0.752941 0.752941
+vn -3.158328 -2.247927 -4.280213
+v -0.564054 -0.405378 -0.749705 0.752941 0.752941 0.752941
+vn -5.397189 -0.800014 -2.176419
+v -0.939495 -0.137963 -0.353373 0.000000 1.000000 0.000000
+vn -4.099356 -3.088730 -2.858676
+v -0.686938 -0.535204 -0.519371 0.752941 0.752941 0.752941
+vn -5.547246 -1.363092 -0.328926
+v -0.988626 -0.269261 -0.045694 0.000000 1.000000 0.000000
+vn -3.407609 -4.424288 -1.578537
+v -0.605470 -0.764079 -0.286901 0.752941 0.752941 0.752941
+vn -0.843019 -4.558556 -3.151353
+v -0.153857 -0.826487 -0.592781 0.752941 0.752941 0.752941
+# 52 vertices, 0 vertices normals
+
+f 16//16 2//2 13//13
+f 16//16 32//32 2//2
+f 2//2 3//3 1//1
+f 1//1 3//3 21//21
+f 21//21 3//3 8//8
+f 2//2 5//5 3//3
+f 2//2 34//34 5//5
+f 3//3 5//5 4//4
+f 3//3 4//4 8//8
+f 5//5 6//6 4//4
+f 4//4 6//6 11//11
+f 5//5 34//34 6//6
+f 34//34 33//33 6//6
+f 22//22 21//21 7//7
+f 7//7 10//10 20//20
+f 20//20 10//10 50//50
+f 7//7 21//21 8//8
+f 7//7 8//8 9//9
+f 7//7 9//9 10//10
+f 10//10 9//9 12//12
+f 10//10 12//12 38//38
+f 8//8 11//11 9//9
+f 9//9 11//11 12//12
+f 8//8 4//4 11//11
+f 1//1 13//13 2//2
+f 1//1 14//14 13//13
+f 1//1 21//21 14//14
+f 14//14 15//15 13//13
+f 13//13 15//15 16//16
+f 21//21 17//17 14//14
+f 15//15 18//18 16//16
+f 16//16 18//18 43//43
+f 14//14 17//17 15//15
+f 15//15 17//17 18//18
+f 17//17 24//24 26//26
+f 17//17 26//26 18//18
+f 18//18 19//19 43//43
+f 18//18 26//26 19//19
+f 7//7 20//20 22//22
+f 50//50 23//23 20//20
+f 22//22 24//24 21//21
+f 21//21 24//24 17//17
+f 23//23 25//25 20//20
+f 20//20 25//25 22//22
+f 22//22 25//25 24//24
+f 23//23 27//27 25//25
+f 25//25 27//27 24//24
+f 24//24 27//27 26//26
+f 42//42 28//28 29//29
+f 29//29 32//32 41//41
+f 41//41 32//32 16//16
+f 29//29 28//28 30//30
+f 29//29 30//30 31//31
+f 29//29 31//31 32//32
+f 32//32 31//31 34//34
+f 32//32 34//34 2//2
+f 30//30 33//33 31//31
+f 30//30 39//39 33//33
+f 31//31 33//33 34//34
+f 33//33 40//40 6//6
+f 50//50 38//38 48//48
+f 36//36 28//28 46//46
+f 50//50 10//10 38//38
+f 38//38 37//37 35//35
+f 35//35 37//37 36//36
+f 36//36 37//37 39//39
+f 36//36 39//39 28//28
+f 28//28 39//39 30//30
+f 38//38 12//12 37//37
+f 37//37 12//12 40//40
+f 37//37 40//40 39//39
+f 39//39 40//40 33//33
+f 12//12 11//11 40//40
+f 40//40 11//11 6//6
+f 29//29 41//41 42//42
+f 42//42 46//46 28//28
+f 16//16 43//43 41//41
+f 42//42 44//44 46//46
+f 43//43 45//45 41//41
+f 41//41 45//45 42//42
+f 42//42 45//45 44//44
+f 44//44 52//52 46//46
+f 43//43 19//19 45//45
+f 45//45 19//19 44//44
+f 44//44 19//19 52//52
+f 19//19 26//26 27//27
+f 36//36 46//46 35//35
+f 35//35 48//48 38//38
+f 35//35 46//46 47//47
+f 35//35 47//47 48//48
+f 47//47 49//49 48//48
+f 48//48 49//49 50//50
+f 49//49 51//51 50//50
+f 50//50 51//51 23//23
+f 46//46 52//52 47//47
+f 47//47 52//52 49//49
+f 49//49 52//52 51//51
+f 51//51 27//27 23//23
+f 52//52 27//27 51//51
+f 52//52 19//19 27//27
+# 100 faces, 0 coords texture
+
+# End of File
\ No newline at end of file
diff --git a/src/mesh/distance_octree/BranchNode.h b/src/mesh/distance_octree/BranchNode.h
index ae434bd02a8fc2bc863d58de451c8ec952e59899..db371614382db9af9bcd0b51f6836291dea2f995 100644
--- a/src/mesh/distance_octree/BranchNode.h
+++ b/src/mesh/distance_octree/BranchNode.h
@@ -330,7 +330,7 @@ typename BranchNode<MeshType>::Scalar BranchNode<MeshType>::sqDistance( const Po
          absMinSqDistance = theSqDistance;
    }
 
-   WALBERLA_ASSERT_LESS( absMinSqSignedDistance, std::numeric_limits<Scalar>::max() );
+   WALBERLA_ASSERT_LESS( absMinSqDistance, std::numeric_limits<Scalar>::max() );
    return absMinSqDistance;
 
 }